Class AtmospherePushConnection

  • All Implemented Interfaces:
    PushConnection

    public class AtmospherePushConnection
    extends Object
    implements PushConnection
    The default PushConnection implementation that uses Atmosphere for handling the communication channel.
    Since:
    1.0
    Author:
    Vaadin Ltd
    • Constructor Detail

      • AtmospherePushConnection

        public AtmospherePushConnection​(Registry registry)
        Creates a new instance connected to the given registry.
        Parameters:
        registry - the global registry
    • Method Detail

      • isActive

        public boolean isActive()
        Description copied from interface: PushConnection
        Checks whether this push connection is in a state where it can push messages to the server. A connection is active until PushConnection.disconnect(Command) has been called.
        Specified by:
        isActive in interface PushConnection
        Returns:
        true if this connection can accept new messages; false if this connection is disconnected or disconnecting.
      • isBidirectional

        public boolean isBidirectional()
        Description copied from interface: PushConnection
        Checks 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:
        isBidirectional in interface PushConnection
        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
      • disconnect

        public final void disconnect​(Command command)
        Description copied from interface: PushConnection
        Closes 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() returns false. Calling this method for a connection that is no longer active will throw an exception.

        Specified by:
        disconnect in interface PushConnection
        Parameters:
        command - command to invoke when the connection has been properly disconnected
      • onMessage

        protected void onMessage​(AtmospherePushConnection.AtmosphereResponse response)
        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

        protected void onError​(AtmospherePushConnection.AtmosphereResponse response)
        Called if the push connection fails.

        Atmosphere will automatically retry the connection until successful.

        Parameters:
        response - the Atmosphere response for the failed connection
      • onClose

        protected void onClose​(AtmospherePushConnection.AtmosphereResponse response)
        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

        protected void onClientTimeout​(AtmospherePushConnection.AtmosphereResponse response)
        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 request
        response - the Atmosphere response
      • getTransportType

        public String getTransportType()
        Description copied from interface: PushConnection
        Returns a human readable string representation of the transport type used to communicate with the server.
        Specified by:
        getTransportType in interface PushConnection
        Returns:
        A human readable string representation of the transport type