L4Re - L4 Runtime Environment
L4::Server_object Class Referenceabstract

Abstract server object to be used with L4::Server and L4::Basic_registry. More...

+ Inheritance diagram for L4::Server_object:
+ Collaboration diagram for L4::Server_object:

Public Member Functions

virtual int dispatch (unsigned long rights, Ipc::Iostream &ios)=0
 The abstract handler for client requests to the object. More...
 

Detailed Description

Abstract server object to be used with L4::Server and L4::Basic_registry.

Note
Usually L4::Server_object_t is used as a base class when writing server objects.

This server object provides an abstract interface that is used by the L4::Registry_dispatcher model. You can derive subclasses from this interface and implement application specific server objects.

Definition at line 50 of file ipc_server.

Member Function Documentation

◆ dispatch()

virtual int L4::Server_object::dispatch ( unsigned long  rights,
Ipc::Iostream ios 
)
pure virtual

The abstract handler for client requests to the object.

Parameters
rightsThe rights bits in the invoked capability.
iosThe Ipc::Iostream for reading the request and writing the reply.
Return values
-L4_ENOREPLYInstructs the server loop to not send a reply.
<0Error, reply with error code.
>=0Success, reply with return value.

This function must be implemented by application specific server objects. The implementation must unmarshall data from the stream (ios) and create a reply by marshalling to the stream (ios). For details about the IPC stream see IPC stream operators.

Note
You need to extract the complete message from the ios stream before inserting any reply data or before doing any function call that may use the UTCB. Otherwise, the incoming message may get lost.

Implemented in L4::Server_object_x< Derived, IFACE, BASE >.


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