Module swim.io
Package swim.io

Interface IpSocket

  • All Known Implementing Classes:
    AbstractIpSocket, IpSocketModem

    public interface IpSocket
    Network socket binding that handles asynchronous I/O operations for a non-blocking NIO network channel.

    An IpSocket interfaces with the underlying asynchronous networking system via an IpSocketContext. The socket context invokes I/O callbacks on the IpSocket when the underlying network socket is ready to perform I/O operations permitted by the socket context's FlowControl.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void didBecome​(IpSocket socket)
      Lifecycle callback invoked by the socket context after it has become a new socket implementation.
      void didConnect()
      Lifecycle callback invoked by the socket context after the underlying network socket has opened a connection.
      void didDisconnect()
      Lifecycle callback invoked by the socket context after the underlying network connection has disconnected.
      void didFail​(Throwable error)
      Lifecycle callback invoked by the socket context when the underlying network socket fails by throwing an error.
      void didSecure()
      Lifecycle callback invoked by the socket context after the underlying network socket has established a secure connection.
      void didTimeout()
      Lifecycle callback invoked by the socket context after the underlying network connection has timed out.
      void didWrite()
      I/O callback invoked by the socket context after the underlying network socket has completed writing all data in its outputBuffer.
      void doRead()
      I/O callback invoked by the socket context asking this IpSocket to read input data out of the socket context's inputBuffer.
      void doWrite()
      I/O callback invoked by the socket context asking this IpSocket to write output data into the socket context's outputBuffer.
      long idleTimeout()
      Returns the number of idle milliseconds after which this IpSocket should be closed due to inactivity.
      IpSocketContext ipSocketContext()
      Returns the network socket context to which this IpSocket is bound; returns null if this IpSocket is unbound.
      void setIpSocketContext​(IpSocketContext context)
      Sets the network socket context to which this IpSocket is bound.
      void willBecome​(IpSocket socket)
      Lifecycle callback invoked by the socket context before it has become a new socket implementation.
      void willConnect()
      Lifecycle callback invoked by the socket context before the underlying network socket attempts to open a connection.
      void willSecure()
      Lifecycle callback invoked by the socket context before the underlying network socket establishes a secure connection.
    • Method Detail

      • ipSocketContext

        IpSocketContext ipSocketContext()
        Returns the network socket context to which this IpSocket is bound; returns null if this IpSocket is unbound.
      • setIpSocketContext

        void setIpSocketContext​(IpSocketContext context)
        Sets the network socket context to which this IpSocket is bound.
      • idleTimeout

        long idleTimeout()
        Returns the number of idle milliseconds after which this IpSocket should be closed due to inactivity. Returns -1 if a default idle timeout should be used. Returns 0 if the underlying network socket should not time out.
      • doRead

        void doRead()
        I/O callback invoked by the socket context asking this IpSocket to read input data out of the socket context's inputBuffer. May be invoked concurrently to other I/O callbacks, but never concurrently with other doRead calls.
      • doWrite

        void doWrite()
        I/O callback invoked by the socket context asking this IpSocket to write output data into the socket context's outputBuffer. May be invoked concurrently to other I/O callbacks, but never concurrently with other doWrite or didWrite calls.
      • didWrite

        void didWrite()
        I/O callback invoked by the socket context after the underlying network socket has completed writing all data in its outputBuffer. May be invoked concurrently to other I/O callbacks, but never concurrently with other doWrite or didWrite calls.
      • willConnect

        void willConnect()
        Lifecycle callback invoked by the socket context before the underlying network socket attempts to open a connection.
      • didConnect

        void didConnect()
        Lifecycle callback invoked by the socket context after the underlying network socket has opened a connection.
      • willSecure

        void willSecure()
        Lifecycle callback invoked by the socket context before the underlying network socket establishes a secure connection.
      • didSecure

        void didSecure()
        Lifecycle callback invoked by the socket context after the underlying network socket has established a secure connection.
      • willBecome

        void willBecome​(IpSocket socket)
        Lifecycle callback invoked by the socket context before it has become a new socket implementation.
      • didBecome

        void didBecome​(IpSocket socket)
        Lifecycle callback invoked by the socket context after it has become a new socket implementation.
      • didTimeout

        void didTimeout()
        Lifecycle callback invoked by the socket context after the underlying network connection has timed out. The socket will automatically be closed.
      • didDisconnect

        void didDisconnect()
        Lifecycle callback invoked by the socket context after the underlying network connection has disconnected.
      • didFail

        void didFail​(Throwable error)
        Lifecycle callback invoked by the socket context when the underlying network socket fails by throwing an error. The socket will automatically be closed.