IrisReceiver

IrisReceiver — Perform actions on message delivery

Synopsis

#define             IRIS_RECEIVER_CONST                 (obj)
                    IrisReceiver;
IrisScheduler*      iris_receiver_get_scheduler         (IrisReceiver *receiver);
void                iris_receiver_set_scheduler         (IrisReceiver *receiver,
                                                         IrisScheduler *scheduler);

Object Hierarchy

  GObject
   +----IrisReceiver

Description

IrisReceiver is used to perform actions when a message is received from an IrisPort. See iris_arbiter_receive() for how to create a new receiver for an IrisPort to perform a given action.

IrisReceiver's can be attached to an arbiter to provide additional control over when actions can be performed. See iris_arbiter_coordinate() for how to use the Coordination Arbiter. It provides a feature similar to a ReaderWriter lock using an asynchronous model.

Details

IRIS_RECEIVER_CONST()

#define             IRIS_RECEIVER_CONST(obj)

obj :


IrisReceiver

typedef struct _IrisReceiver IrisReceiver;


iris_receiver_get_scheduler ()

IrisScheduler*      iris_receiver_get_scheduler         (IrisReceiver *receiver);

Retrieves the scheduler instance for the receiver.

receiver :

An IrisReceiver

Returns :

An IrisScheduler instance

iris_receiver_set_scheduler ()

void                iris_receiver_set_scheduler         (IrisReceiver *receiver,
                                                         IrisScheduler *scheduler);

Sets the scheduler instance used by this receiver to execute work items. Note that it is probably not a good idea to switch schedulers while executing work items. However, we do make an attempt to support it.

receiver :

An IrisReceiver

scheduler :

An IrisScheduler