Interface OutboundMessageSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session provides access to a request/response protocol provider.
The data and format of the requests and responses are identified through
their respective Types . While this session is used for structured
conversations, it doesn't preclude the use of byte streams as part of a
Request or Response .
A Request is retrieved via getRequest() and data is
supplied to its corresponding record. The Request is then sent
using sendRequest() along with an interface to be called when the
Response arrives. The FSM of the protocol is indicated through the
available Request Types that may change from one
transaction to another.
While multiple requests may be submitted before receiving a response, the requests may or may not be queued.
-
Method Summary
Modifier and TypeMethodDescriptionGets theEndpointassociated with this session.Gets theEndpointIdassociated with this session.Gets aRequestfor use withsendRequest().voidmakeRequest(Request request, Response response) Sends a request to the remote transport endpoint and waits for a response.voidsendRequest(Request request, MessageReceiver callback) Sends data to the remote transport endpoint and sends the response to the callback.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionsModifier and TypeMethodDescriptionGets the agent authenticated to this session.Gets theIdof the agent authenticated to this session.Gets the rate of the service clock.getDate()Gets the service date which may be the current date or the effective date in which this session exists.Gets the effective agent in use by this session.Gets theIdof the effective agent in use by this session.Gets theDisplayTextformatTypepreference in effect for this session.Gets the locale indicating the localization preferences in effect for this session.booleanTests if an agent is authenticated to this session.Starts a new transaction for this sesson.booleanTests for the availability of transactions.
-
Method Details
-
getEndpointId
Id getEndpointId()Gets theEndpointIdassociated with this session.- Returns:
- the
EndpointIdassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getEndpoint
Gets theEndpointassociated with this session.- Returns:
- the
Endpointassociated with this session - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
getRequest
Request getRequest()Gets aRequestfor use withsendRequest(). This is not a receive call.- Returns:
- a request
- Compliance:
mandatory- This method must be implemented.
-
makeRequest
Sends a request to the remote transport endpoint and waits for a response.- Parameters:
request- the requestresponse- callback for the response- Throws:
NullArgumentException-requestorreceiveris nullOperationFailedException- unable to complete requestUnsupportedException-requestis not supported- Compliance:
mandatory- This method must be implemented.
-
sendRequest
Sends data to the remote transport endpoint and sends the response to the callback.- Parameters:
request- the requestcallback- callback for the response- Throws:
NullArgumentException-requestorcallbackis nullOperationFailedException- unable to complete requestUnsupportedException-requestis not supported- Compliance:
mandatory- This method must be implemented.
-