L4Re - L4 Runtime Environment
L4::Ipc_svr::Br_manager_no_buffers Class Reference

Empty implementation of Server_iface. More...

+ Inheritance diagram for L4::Ipc_svr::Br_manager_no_buffers:
+ Collaboration diagram for L4::Ipc_svr::Br_manager_no_buffers:

Public Member Functions

int alloc_buffer_demand (Demand const &demand)
 Tells the server to allocate buffers for the given demand. More...
L4::Cap< void > get_rcv_cap (int) const
 Returns L4::Cap<void>::Invalid, we have no buffer management.
int realloc_rcv_cap (int)
 Returns -L4_ENOMEM, we have no buffer management.
int add_timeout (Timeout *, l4_kernel_clock_t)
 Returns -L4_ENOSYS, we have no timeout queue.
int remove_timeout (Timeout *)
 Returns -L4_ENOSYS, we have no timeout queue.
- Public Member Functions inherited from L4::Ipc_svr::Server_iface
 Server_iface ()
 Make a server interface.
template<typename T >
L4::Cap< T > rcv_cap (int index) const
 Get given receive buffer as typed capability. More...
L4::Cap< void > rcv_cap (int index) const
 Get receive cap with the given index as generic (void) type. More...

Protected Member Functions

unsigned first_free_br () const
 Returns 1 as first free buffer.
void setup_wait (l4_utcb_t *utcb, L4::Ipc_svr::Reply_mode)
 Setup wait function for the server loop (Server<>).

Additional Inherited Members

- Public Types inherited from L4::Ipc_svr::Server_iface
typedef L4::Type_info::Demand Demand
 Data type expressing server-side demand for receive buffers.

Detailed Description

Empty implementation of Server_iface.

This implementation of Server_iface provides no buffer or timeout management at all it just returns errors for all calls that express other than empty demands. However, this may be useful for very simple servers that serve simple server objects only.

Definition at line 216 of file ipc_server_loop.

Member Function Documentation

◆ alloc_buffer_demand()

int L4::Ipc_svr::Br_manager_no_buffers::alloc_buffer_demand ( Demand const &  demand)

Tells the server to allocate buffers for the given demand.

demandThe total server-side demand of receive buffers needed for a given interface, see Demand.

This function is not called by user applications directly. Usually the server implementation or the registry implementation calls this function whenever a new object is registered at the server.

success (0) if demand is empty, -L4_ENOMEM else.

Implements L4::Ipc_svr::Server_iface.

Definition at line 223 of file ipc_server_loop.

The documentation for this class was generated from the following file: