com.pcbsys.nirvana.client.p2p.nEventService Class Reference

This class implements the end point of an Event based P2P connection. More...

#include <nEventService.h>

Inheritance diagram for com.pcbsys.nirvana.client.p2p.nEventService:

com.pcbsys.nirvana.client.p2p.nService

Public Member Functions

void close ()
 Closes the service and informs the remote service that it has been closed.
void deregisterListener (nEventServiceListener *pListener)
 Removes the registered nEventServiceListener from this service.
nOutOfBandServicegetOutOfBandService ()
 This function returns an nOutOfBandService.
nConsumeEventread (long timeout)
 Waits for a new nConsumeEvent to be received from the remote service or the timeout to be reached.
nConsumeEventread ()
 Waits for a new nConsumeEvent to be received from the remote service.
void registerListener (nEventServiceListener *pListener)
 Registers an nEventServiceListener with this class.
void write (nConsumeEvent *pEvt)
 Writes an nConsumeEvent to the remote P2P service.

Detailed Description

This class implements the end point of an Event based P2P connection.

It allows the user to send and receive nConsumeEvents.

See also:
nStreamService

Member Function Documentation

void com.pcbsys.nirvana.client.p2p.nEventService.close (  ) 

Closes the service and informs the remote service that it has been closed.

Exceptions:
IOException if unable to perform the close. See the message for further information

Reimplemented from com.pcbsys.nirvana.client.p2p.nService.

void com.pcbsys.nirvana.client.p2p.nEventService.deregisterListener ( nEventServiceListener pListener  ) 

Removes the registered nEventServiceListener from this service.

When all listeners are removed then the read() method can then be called

Parameters:
*pListener An Instance of an nEventServiceListener that is to be removed
Exceptions:
IOException if Service is closed or listener is null

nOutOfBandService* com.pcbsys.nirvana.client.p2p.nEventService.getOutOfBandService (  ) 

This function returns an nOutOfBandService.

An out of band (OOB) service can be used to pass flow/control information between the remote P2P service

Returns:
A new nOutOfBandService object

nConsumeEvent* com.pcbsys.nirvana.client.p2p.nEventService.read ( long  timeout  ) 

Waits for a new nConsumeEvent to be received from the remote service or the timeout to be reached.

Parameters:
timeout The number of milliseconds to wait for an event to be received
Returns:
nConsumeEvent An event written by the remote service
Exceptions:
IOException if the lower streams have an error, See the message or more information

nConsumeEvent* com.pcbsys.nirvana.client.p2p.nEventService.read (  ) 

Waits for a new nConsumeEvent to be received from the remote service.

Returns:
nConsumeEvent An event written by the remote service
Exceptions:
IOException if the lower streams have an error, See the message or more information

void com.pcbsys.nirvana.client.p2p.nEventService.registerListener ( nEventServiceListener pListener  ) 

Registers an nEventServiceListener with this class.

This nEventServiceListener will be called whenever there is a new event received

Once this is called then this will preclude the use of the read() method

Parameters:
*pListener An Instance of an nEventServiceListener that is to be used
Exceptions:
IOException if Service is closed or listener is null

void com.pcbsys.nirvana.client.p2p.nEventService.write ( nConsumeEvent pEvt  ) 

Writes an nConsumeEvent to the remote P2P service.

Parameters:
*pEvt An nConsumeEvent to send to the remote P2P service
Exceptions:
IOException if the lower streams have an error, See the message or more information