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. More...
 
void deregisterListener (nEventServiceListener *pListener)
 Removes the registered nEventServiceListener from this service. More...
 
nOutOfBandServicegetOutOfBandService ()
 This function returns an nOutOfBandService. More...
 
nConsumeEventread ()
 Waits for a new nConsumeEvent to be received from the remote service. More...
 
nConsumeEventread (long timeout)
 Waits for a new nConsumeEvent to be received from the remote service or the timeout to be reached. More...
 
void registerListener (nEventServiceListener *pListener)
 Registers an nEventServiceListener with this class. More...
 
void write (nConsumeEvent *pEvt)
 Writes an nConsumeEvent to the remote P2P service. More...
 
- Public Member Functions inherited from com::pcbsys::nirvana::client::p2p::nService
void close ()
 Closes the service and informs the remote service that it has been closed. More...
 
nServiceInfogetServiceInfo ()
 Returns the description of the service connected to. More...
 
nServiceStateListenergetStateListener ()
 Return the state listener associated with this service. More...
 
bool isClosed ()
 Returns a flag indicating if the service has been closed with the close() method. More...
 
bool isConnected ()
 Returns whether the service is physically connected to the realm. More...
 
void setStateListener (nServiceStateListener *pListener)
 Set the listener that will receive callbacks for state changes to the service. More...
 

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
IOExceptionif unable to perform the close. See the message for further information
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
*pListenerAn Instance of an nEventServiceListener that is to be removed
Exceptions
IOExceptionif 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 ( )

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

Returns
nConsumeEvent An event written by the remote service
Exceptions
IOExceptionif the lower streams have an error, See the message or more information
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
timeoutThe number of milliseconds to wait for an event to be received
Returns
nConsumeEvent An event written by the remote service
Exceptions
IOExceptionif 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
*pListenerAn Instance of an nEventServiceListener that is to be used
Exceptions
IOExceptionif 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
*pEvtAn nConsumeEvent to send to the remote P2P service
Exceptions
IOExceptionif the lower streams have an error, See the message or more information