Loading...
Searching...
No Matches
L4::Ipc_svr::Br_manager_no_buffers Class Reference
The L4Re IPC Framework » Server-Side IPC framework

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 233 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

  demand | The 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 240 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:

- l4/sys/cxx/ipc_server_loop