Module swim.io.ws
Package swim.io.ws

Class WebSocketModem<I,O>

java.lang.Object
swim.io.ws.WebSocketModem<I,O>
All Implemented Interfaces:
swim.io.FlowContext, swim.io.IpContext, swim.io.IpModem<Object,Object>, WebSocketContext<I,O>

public class WebSocketModem<I,O> extends Object implements swim.io.IpModem<Object,Object>, WebSocketContext<I,O>
  • Field Details

    • socket

      protected final WebSocket<I,O> socket
    • wsSettings

      protected final WsSettings wsSettings
    • decoder

      protected final swim.ws.WsDecoder decoder
    • encoder

      protected final swim.ws.WsEncoder encoder
    • context

      protected swim.io.IpModemContext<Object,Object> context
  • Constructor Details

    • WebSocketModem

      public WebSocketModem(WebSocket<I,O> socket, WsSettings wsSettings, swim.ws.WsDecoder decoder, swim.ws.WsEncoder encoder)
  • Method Details

    • ipModemContext

      public swim.io.IpModemContext<Object,Object> ipModemContext()
      Specified by:
      ipModemContext in interface swim.io.IpModem<I,O>
    • setIpModemContext

      public void setIpModemContext(swim.io.IpModemContext<Object,Object> context)
      Specified by:
      setIpModemContext in interface swim.io.IpModem<I,O>
    • idleTimeout

      public long idleTimeout()
      Specified by:
      idleTimeout in interface swim.io.IpModem<I,O>
    • doRead

      public void doRead()
      Specified by:
      doRead in interface swim.io.IpModem<I,O>
    • didRead

      public void didRead(Object input)
      Specified by:
      didRead in interface swim.io.IpModem<I,O>
    • doWrite

      public void doWrite()
      Specified by:
      doWrite in interface swim.io.IpModem<I,O>
    • didWrite

      public void didWrite(Object output)
      Specified by:
      didWrite in interface swim.io.IpModem<I,O>
    • willConnect

      public void willConnect()
      Specified by:
      willConnect in interface swim.io.IpModem<I,O>
    • didConnect

      public void didConnect()
      Specified by:
      didConnect in interface swim.io.IpModem<I,O>
    • willSecure

      public void willSecure()
      Specified by:
      willSecure in interface swim.io.IpModem<I,O>
    • didSecure

      public void didSecure()
      Specified by:
      didSecure in interface swim.io.IpModem<I,O>
    • willBecome

      public void willBecome(swim.io.IpSocket socket)
      Specified by:
      willBecome in interface swim.io.IpModem<I,O>
    • didBecome

      public void didBecome(swim.io.IpSocket socket)
      Specified by:
      didBecome in interface swim.io.IpModem<I,O>
    • didTimeout

      public void didTimeout()
      Specified by:
      didTimeout in interface swim.io.IpModem<I,O>
    • didDisconnect

      public void didDisconnect()
      Specified by:
      didDisconnect in interface swim.io.IpModem<I,O>
    • didFail

      public void didFail(Throwable error)
      Specified by:
      didFail in interface swim.io.IpModem<I,O>
    • isConnected

      public boolean isConnected()
      Specified by:
      isConnected in interface swim.io.IpContext
    • isClient

      public boolean isClient()
      Specified by:
      isClient in interface swim.io.IpContext
    • isServer

      public boolean isServer()
      Specified by:
      isServer in interface swim.io.IpContext
    • isSecure

      public boolean isSecure()
      Specified by:
      isSecure in interface swim.io.IpContext
    • securityProtocol

      public String securityProtocol()
      Specified by:
      securityProtocol in interface swim.io.IpContext
    • cipherSuite

      public String cipherSuite()
      Specified by:
      cipherSuite in interface swim.io.IpContext
    • localAddress

      public InetSocketAddress localAddress()
      Specified by:
      localAddress in interface swim.io.IpContext
    • localPrincipal

      public Principal localPrincipal()
      Specified by:
      localPrincipal in interface swim.io.IpContext
    • localCertificates

      public Collection<Certificate> localCertificates()
      Specified by:
      localCertificates in interface swim.io.IpContext
    • remoteAddress

      public InetSocketAddress remoteAddress()
      Specified by:
      remoteAddress in interface swim.io.IpContext
    • remotePrincipal

      public Principal remotePrincipal()
      Specified by:
      remotePrincipal in interface swim.io.IpContext
    • remoteCertificates

      public Collection<Certificate> remoteCertificates()
      Specified by:
      remoteCertificates in interface swim.io.IpContext
    • flowControl

      public swim.io.FlowControl flowControl()
      Specified by:
      flowControl in interface swim.io.FlowContext
    • flowControl

      public void flowControl(swim.io.FlowControl flowControl)
      Specified by:
      flowControl in interface swim.io.FlowContext
    • flowControl

      public swim.io.FlowControl flowControl(swim.io.FlowModifier flowModifier)
      Specified by:
      flowControl in interface swim.io.FlowContext
    • wsSettings

      public WsSettings wsSettings()
      Specified by:
      wsSettings in interface WebSocketContext<I,O>
    • read

      public <I2 extends I> void read(swim.codec.Decoder<I2> payloadDecoder)
      Specified by:
      read in interface WebSocketContext<I,O>
    • read

      public <I2 extends I> void read(swim.ws.WsOpcode frameType, swim.codec.Decoder<I2> payloadDecoder)
      Specified by:
      read in interface WebSocketContext<I,O>
    • write

      public <O2 extends O> void write(swim.ws.WsDataFrame<O2> frame)
      Specified by:
      write in interface WebSocketContext<I,O>
    • write

      public <O2 extends O> void write(swim.ws.WsControlFrame<?,O2> frame)
      Specified by:
      write in interface WebSocketContext<I,O>
    • become

      public void become(swim.io.IpSocket socket)
      Specified by:
      become in interface WebSocketContext<I,O>
    • close

      public void close()
      Specified by:
      close in interface WebSocketContext<I,O>