1/*
2 * Copyright (c) 2018, ETH Zurich.
3 * All rights reserved.
4 *
5 * This file is distributed under the terms in the attached LICENSE file.
6 * If you do not find this file, copies can be found by writing to:
7 * ETH Zurich D-INFK, Univiersitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group.
8 */
9
10/*
11 * This interface is used for applications (or the networkstack of the apllicaton)
12 * to request a networking queue from the queue service. A queue can either be 
13 * requested withouth any constraints (i.e. let the service decide), with constraints
14 *  (bandwidth, latency, or isolation), or by name (e10k, sfn5122f, e1000).
15 */
16interface queue_service "queue service communication interface" {
17    
18    // request a queue withouth any constarints or other specification
19    rpc request_queue(in uint8 core, out cap ep, 
20                      out errval err);
21
22    // request a queue with constraints
23    // TODO CONSTRAINTS
24    rpc request_queue_with_constraints(in uint8 core, out cap ep, 
25                                       out errval err);
26    
27    // request a queue with name
28    rpc request_queue_by_name(in String name[256], in uint8 core,
29                              out cap ep, out errval err);
30};
31