com.pcbsys.nirvana.client.nChannelIterator Class Reference

This class iterates synchronously over a Nirvana Realm channel. More...

Inherited by com.pcbsys.nirvana.base.clientimpl.multiconnection.nChannelIteratorWrapper.

Public Member Functions

void ack (long eid) throws nSecurityException, nChannelNotFoundException, nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException, nRealmNotFoundException, nUnexpectedResponseException, nSelectorParserException
 Acknowledge an event id consumed by this iterator when not using auto ack. More...
 
synchronized void ack (long eid, boolean isIndividualAck, boolean ackPrevious) throws nSecurityException, nChannelNotFoundException, nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException, nRealmNotFoundException, nUnexpectedResponseException, nSelectorParserException
 Acknowledge an event id consumed by this iterator when not using auto ack. More...
 
synchronized void close ()
 This method will initiate a close to the server for this Iterator. More...
 
synchronized nConsumeEvent getFirst () throws nSecurityException, nChannelNotFoundException, nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException, nRealmNotFoundException, nUnexpectedResponseException, nSelectorParserException
 This returns the first event in the channel or null if there are no events in the channel. More...
 
synchronized nConsumeEvent getLast () throws nSecurityException, nChannelNotFoundException, nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException, nRealmNotFoundException, nUnexpectedResponseException, nSelectorParserException
 This returns the last event in the channel or null if there are no events in the channel. More...
 
nConsumeEvent getNext () throws nSecurityException, nChannelNotFoundException, nSessionNotConnectedException, nSessionPausedException, nRealmNotFoundException, nUnexpectedResponseException, nSelectorParserException
 Returns the next event in the channel, or will block until an event is published. More...
 
nConsumeEvent getNext (long timeout) throws nSecurityException, nChannelNotFoundException, nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException, nRealmNotFoundException, nUnexpectedResponseException, nSelectorParserException
 Returns the next event in the channel, or if none will block for the time in milliseconds for the next event to be published onto the channel. More...
 
synchronized nConsumeEvent getPrev () throws nSecurityException, nChannelNotFoundException, nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException, nRealmNotFoundException, nUnexpectedResponseException, nSelectorParserException
 Gets the previous event in the channel or null if there are no more previous events. More...
 
boolean isAutoAck ()
 Whether this iterator is set to auto acknowledge. More...
 
synchronized void rollback () throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nRealmNotFoundException, nSecurityException, nUnexpectedResponseException, nChannelNotFoundException, nSelectorParserException
 If this is a shared named object, this method can be used to push any consumed messages back onto the resource on the server, ready for re-consumption. More...
 
synchronized void rollback (long eventID) throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nRealmNotFoundException, nSecurityException, nUnexpectedResponseException, nChannelNotFoundException, nSelectorParserException
 

Static Public Attributes

static final int INFINITE_WINDOW = com.pcbsys.nirvana.base.nConstants.INFINITE_WINDOW
 Used for specifying infinite window size when creating a channel iterator.
 

Protected Member Functions

void handleWindowSize (nChannelIterate evt)
 Sets the client window size for maximum received unacknowledged events. More...
 
void reconnect ()
 This is called to resubscribe a channel iterator after a disconnect event.
 

Detailed Description

This class iterates synchronously over a Nirvana Realm channel.

By using the methods the channel can be traversed forwards/backwards

Member Function Documentation

Acknowledge an event id consumed by this iterator when not using auto ack.

Parameters
eidthe event id to acknowledge
Exceptions
nSecurityExceptionUser is not authorised for the function
nChannelNotFoundExceptionThe channel doesn't exist
nSessionNotConnectedExceptionCurrent session is not connected
nSessionPausedExceptionThe session is currently paused, please resume
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nRealmNotFoundExceptionThe realm is not known by the server
nUnexpectedResponseExceptionReceived a response from the server for which we can not deal with, see the message for further information. One condition of this is if this object has been invalidated and no longer can be utilised, this can occur if a delete request has been issued to the connected server.
nSelectorParserExceptionThe selector has syntax errors
synchronized void com.pcbsys.nirvana.client.nChannelIterator.ack ( long  eid,
boolean  isIndividualAck,
boolean  ackPrevious 
) throws nSecurityException, nChannelNotFoundException, nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException, nRealmNotFoundException, nUnexpectedResponseException, nSelectorParserException

Acknowledge an event id consumed by this iterator when not using auto ack.

Parameters
eidthe event id to acknowledge
isIndividualAckwhether events must be acknowledge individually
ackPreviouswhether previous events must be acknowledged
Exceptions
nSecurityExceptionUser is not authorised for the function
nChannelNotFoundExceptionThe channel doesn't exist
nSessionNotConnectedExceptionCurrent session is not connected
nSessionPausedExceptionThe session is currently paused, please resume
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nRealmNotFoundExceptionThe realm is not known by the server
nUnexpectedResponseExceptionReceived a response from the server for which we can not deal with, see the message for further information. One condition of this is if this object has been invalidated and no longer can be utilised, this can occur if a delete request has been issued to the connected server.
nSelectorParserExceptionThe selector has syntax errors
synchronized void com.pcbsys.nirvana.client.nChannelIterator.close ( )

This method will initiate a close to the server for this Iterator.

Since
4.0

This returns the first event in the channel or null if there are no events in the channel.

Returns
a nConsumeEvent or null
Exceptions
nSecurityExceptionIf the client does not have the ability to subscribe to the channel
nChannelNotFoundExceptionThe channel is no longer valid
nSessionNotConnectedExceptionThe session has been disconnected
nRequestTimedOutExceptionif the time out for the event to be published is exceeded
nUnexpectedResponseExceptionReceived a response from the server for which we can not deal with, see the message for further information. One condition of this is if this object has been invalidated and no longer can be utilised, this can occur if a delete request has been issued to the connected server.
nSessionPausedExceptionThe session is currently paused, please resume
nSelectorParserExceptionInvalid selector specified
nRealmNotFoundExceptionThe remote realm could not be found

This returns the last event in the channel or null if there are no events in the channel.

Returns
a nConsumeEvent or null
Exceptions
nSecurityExceptionIf the client does not have the ability to subscribe to the channel
nChannelNotFoundExceptionThe channel is no longer valid
nSessionNotConnectedExceptionThe session has been disconnected
nRequestTimedOutExceptionif the time out for the event to be published is exceeded
nUnexpectedResponseExceptionReceived a response from the server for which we can not deal with, see the message for further information. One condition of this is if this object has been invalidated and no longer can be utilised, this can occur if a delete request has been issued to the connected server.
nSessionPausedExceptionThe session is currently paused, please resume
nSelectorParserExceptionInvalid selector specified
nRealmNotFoundExceptionThe remote realm could not be found

Returns the next event in the channel, or will block until an event is published.

Returns
a nConsumeEvent
Exceptions
nSecurityExceptionIf the client does not have the ability to subscribe to the channel
nChannelNotFoundExceptionThe channel is no longer valid
nSessionNotConnectedExceptionThe session has been disconnected
nUnexpectedResponseExceptionReceived a response from the server for which we can not deal with, see the message for further information. One condition of this is if this object has been invalidated and no longer can be utilised, this can occur if a delete request has been issued to the connected server.
nSessionPausedExceptionThe session is currently paused, please resume
nSelectorParserExceptionInvalid selector specified
nRealmNotFoundExceptionThe remote realm could not be found

Returns the next event in the channel, or if none will block for the time in milliseconds for the next event to be published onto the channel.

Parameters
timeouttime in milliseconds to wait for the event
Returns
a nConsumeEvent
Exceptions
nSecurityExceptionIf the client does not have the ability to subscribe to the channel
nChannelNotFoundExceptionThe channel is no longer valid
nSessionNotConnectedExceptionThe session has been disconnected
nRequestTimedOutExceptionif the time out for the event to be published is exceeded
nUnexpectedResponseExceptionReceived a response from the server for which we can not deal with, see the message for further information. One condition of this is if this object has been invalidated and no longer can be utilised, this can occur if a delete request has been issued to the connected server.
nSessionPausedExceptionThe session is currently paused, please resume
nSelectorParserExceptionInvalid selector specified
nRealmNotFoundExceptionThe remote realm could not be found

Gets the previous event in the channel or null if there are no more previous events.

Returns
a nConsumeEvent or null
Exceptions
nSecurityExceptionIf the client does not have the ability to subscribe to the channel
nChannelNotFoundExceptionThe channel is no longer valid
nSessionNotConnectedExceptionThe session has been disconnected
nRequestTimedOutExceptionif the time out for the event to be published is exceeded
nUnexpectedResponseExceptionReceived a response from the server for which we can not deal with, see the message for further information. One condition of this is if this object has been invalidated and no longer can be utilised, this can occur if a delete request has been issued to the connected server.
nSessionPausedExceptionThe session is currently paused, please resume
nSelectorParserExceptionInvalid selector specified
nRealmNotFoundExceptionThe remote realm could not be found
void com.pcbsys.nirvana.client.nChannelIterator.handleWindowSize ( nChannelIterate  evt)
protected

Sets the client window size for maximum received unacknowledged events.

Parameters
evtthe event in which the window size will be sent
boolean com.pcbsys.nirvana.client.nChannelIterator.isAutoAck ( )

Whether this iterator is set to auto acknowledge.

Returns
true if auto acknowledge

If this is a shared named object, this method can be used to push any consumed messages back onto the resource on the server, ready for re-consumption.

Exceptions
nRequestTimedOutExceptionIf we do not receive a response from the server this will be thrown
nSessionPausedExceptionIf the session is paused
nSessionNotConnectedExceptionIf the session is currently disconnected
Parameters
eventIDThe event ID to Rollback events up to and including this event ID
Exceptions
nSecurityExceptionUser is not authorised for the function
nChannelNotFoundExceptionThe channel doesn't exist
nSessionNotConnectedExceptionCurrent session is not connected
nSessionPausedExceptionThe session is currently paused, please resume
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nRealmNotFoundExceptionThe realm is not known by the server
nUnexpectedResponseExceptionReceived a response from the server for which we can not deal with, see the message for further information. One condition of this is if this object has been invalidated and no longer can be utilised, this can occur if a delete request has been issued to the connected server.
nSelectorParserExceptionThe selector has syntax errors