Class AtmospherePushConnection
- All Implemented Interfaces:
PushConnection
PushConnection implementation that uses Atmosphere for
handling the communication channel.- Since:
- 1.0
- Author:
- Vaadin Ltd
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classJavaScriptObject class with some helper methods to set and get primitive values.static classProvides information from the Atmosphere configuration object.static classProvides data from an Atmosphere response JavaScript object.protected static classRepresents a message splitted into multiple fragments of maximum lengthAtmospherePushConnection.FragmentedMessage.FRAGMENT_LENGTH.protected static enumRepresents the connection state of a push connection. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAtmospherePushConnection(Registry registry) Creates a new instance connected to the given registry. -
Method Summary
Modifier and TypeMethodDescriptionprotected final AtmospherePushConnection.AtmosphereConfigurationCreates the default Atmosphere configuration object.final voiddisconnect(Command command) Closes the push connection.Returns a human readable string representation of the transport type used to communicate with the server.booleanisActive()Checks whether this push connection is in a state where it can push messages to the server.booleanChecks whether this push connection should be used for communication in both directions or if an XHR should be used for client to server communication.protected voidCalled when the Atmosphere client side timeout occurs.protected voidCalled when the push connection has been closed.protected voidCalled whenever a server push connection is established (or re-established).protected voidCalled if the push connection fails.protected voidCalled whenever a message is received by Atmosphere.protected voidprotected voidonReconnect(com.google.gwt.core.client.JavaScriptObject request, AtmospherePushConnection.AtmosphereResponse response) Called when the push connection has lost the connection to the server and will proceed to try to re-establish the connection.protected voidprotected voidCalled if the transport mechanism cannot be used and the fallback will be tried.voidpush(elemental.json.JsonObject message) Pushes a message to the server.
-
Field Details
-
TRANSPORT_KEY
- See Also:
-
-
Constructor Details
-
AtmospherePushConnection
Creates a new instance connected to the given registry.- Parameters:
registry- the global registry
-
-
Method Details
-
isActive
public boolean isActive()Description copied from interface:PushConnectionChecks whether this push connection is in a state where it can push messages to the server. A connection is active untilPushConnection.disconnect(Command)has been called.- Specified by:
isActivein interfacePushConnection- Returns:
trueif this connection can accept new messages;falseif this connection is disconnected or disconnecting.
-
isBidirectional
public boolean isBidirectional()Description copied from interface:PushConnectionChecks whether this push connection should be used for communication in both directions or if an XHR should be used for client to server communication. A bidirectional push connection must be able to reliably inform about its connection state.- Specified by:
isBidirectionalin interfacePushConnection- Returns:
- true if the push connection should be used for messages in both directions, false if it should only be used for server to client messages
-
push
public void push(elemental.json.JsonObject message) Description copied from interface:PushConnectionPushes a message to the server. Will throw an exception if the connection is not active (seePushConnection.isActive()).Implementation detail: If the push connection is not connected and the message can thus not be sent, the implementation must call
ConnectionStateHandler.pushNotConnected(JsonObject), which will retry the send later.This method must not be called if the push connection is not bidirectional (if
PushConnection.isBidirectional()returns false)- Specified by:
pushin interfacePushConnection- Parameters:
message- the payload to push- See Also:
-
getConfig
-
onReopen
-
onOpen
-
onConnect
Called whenever a server push connection is established (or re-established).- Parameters:
response- the response
-
disconnect
Description copied from interface:PushConnectionCloses the push connection. To ensure correct message delivery order, new messages should not be sent using any other channel until it has been confirmed that all messages pending for this connection have been delivered. The provided command callback is invoked when messages can be passed using some other communication channel.After this method has been called,
PushConnection.isActive()returnsfalse. Calling this method for a connection that is no longer active will throw an exception.- Specified by:
disconnectin interfacePushConnection- Parameters:
command- command to invoke when the connection has been properly disconnected
-
onMessage
Called whenever a message is received by Atmosphere.- Parameters:
response- the Atmosphere response object, which contains the message
-
onTransportFailure
protected void onTransportFailure()Called if the transport mechanism cannot be used and the fallback will be tried. -
onError
Called if the push connection fails.Atmosphere will automatically retry the connection until successful.
- Parameters:
response- the Atmosphere response for the failed connection
-
onClose
Called when the push connection has been closed.This does not necessarily indicate an error and Atmosphere might try to reconnect or downgrade to the fallback transport automatically.
- Parameters:
response- the Atmosphere response which was closed
-
onClientTimeout
Called when the Atmosphere client side timeout occurs.The connection will be closed at this point and reconnect will not happen automatically.
- Parameters:
response- the Atmosphere response which was used when the timeout occurred
-
onReconnect
protected void onReconnect(com.google.gwt.core.client.JavaScriptObject request, AtmospherePushConnection.AtmosphereResponse response) Called when the push connection has lost the connection to the server and will proceed to try to re-establish the connection.- Parameters:
request- the Atmosphere requestresponse- the Atmosphere response
-
createConfig
Creates the default Atmosphere configuration object.- Returns:
- the Atmosphere configuration object
-
getTransportType
Description copied from interface:PushConnectionReturns a human readable string representation of the transport type used to communicate with the server.- Specified by:
getTransportTypein interfacePushConnection- Returns:
- A human readable string representation of the transport type
-