L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
L4::Ipc_svr::Br_manager_no_buffers Class Reference

Empty implementation of Server_iface. More...

#include <ipc_server_loop>

+ 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) override
 Tells the server to allocate buffers for the given demand.
 
L4::Cap< void > get_rcv_cap (int) const override
 Returns L4::Cap<void>::Invalid, we have no buffer management.
 
int realloc_rcv_cap (int) override
 Returns -L4_ENOMEM, we have no buffer management.
 
int add_timeout (Timeout *, l4_kernel_clock_t) override
 Returns -L4_ENOSYS, we have no timeout queue.
 
int remove_timeout (Timeout *) override
 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.
 
L4::Cap< void > rcv_cap (int index) const
 Get receive cap with the given index as generic (void) type.
 

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 184 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)
inlineoverridevirtual

Tells the server to allocate buffers for the given demand.

Parameters
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.

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

Implements L4::Ipc_svr::Server_iface.

Definition at line 191 of file ipc_server_loop.

References L4_ENOMEM, L4_EOK, and L4::Type_info::Demand::no_demand().

+ Here is the call graph for this function:

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