- java.lang.Object
-
- swim.io.mqtt.AbstractMqttSocket<I,O>
-
- All Implemented Interfaces:
FlowContext,IpContext,MqttSocket<I,O>
public abstract class AbstractMqttSocket<I,O> extends Object implements MqttSocket<I,O>, IpContext, FlowContext
-
-
Field Summary
Fields Modifier and Type Field Description protected MqttSocketContext<I,O>context
-
Constructor Summary
Constructors Constructor Description AbstractMqttSocket()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbecome(IpSocket socket)StringcipherSuite()Returns the cryptographic cipher suite used by the underlying network connection.voidclose()voiddidBecome(IpSocket socket)voiddidConnect()voiddidDisconnect()voiddidFail(Throwable error)voiddidRead(MqttPacket<? extends I> packet)voiddidSecure()voiddidTimeout()voiddidWrite(MqttPacket<? extends O> packet)voiddoRead()voiddoWrite()FlowControlflowControl()Returns the currentFlowControlstate of the underlying network channel.voidflowControl(FlowControl flowControl)Enqueues an atomic replacement of the underlying network channel's flow control state with a newflowControl.FlowControlflowControl(FlowModifier flowModifier)Enqueues an atomic modification to the underlying network channel's flow control state by applying aflowModifierdelta.longidleTimeout()booleanisClient()Returnstrueif the underlying network channel initiated an outgoing connection.booleanisConnected()Returnstrueif the underlying network channel is currently connected.booleanisSecure()Returnstrueif the underlying network transport is encrypted.booleanisServer()Returnstrueif the underlying network channel accepted an incoming connection.InetSocketAddresslocalAddress()Returns the IP address and port of the local endpoint of the underlying network connection.Collection<Certificate>localCertificates()Returns the certificate chain used to authenticate the local endpoint of the underlying network connection.PrincipallocalPrincipal()Returns the authenticated identity of the local endpoint of the underlying network connection.MqttSettingsmqttSettings()MqttSocketContext<I,O>mqttSocketContext()<I2 extends I>
voidread(Decoder<I2> content)InetSocketAddressremoteAddress()Returns the IP address and port of the remote endpoint of the underlying network connection.Collection<Certificate>remoteCertificates()Returns the certificate chain used to authenticate the remote endpoint of the underlying network connection.PrincipalremotePrincipal()Returns the authenticated identity of the remote endpoint of the underlying network connection.StringsecurityProtocol()Returns the name of the transport-layer security protocol used by the underlying network connection.voidsetMqttSocketContext(MqttSocketContext<I,O> context)voidwillBecome(IpSocket socket)voidwillConnect()voidwillSecure()<O2 extends O>
voidwrite(MqttPacket<O2> packet)
-
-
-
Field Detail
-
context
protected MqttSocketContext<I,O> context
-
-
Method Detail
-
mqttSocketContext
public MqttSocketContext<I,O> mqttSocketContext()
- Specified by:
mqttSocketContextin interfaceMqttSocket<I,O>
-
setMqttSocketContext
public void setMqttSocketContext(MqttSocketContext<I,O> context)
- Specified by:
setMqttSocketContextin interfaceMqttSocket<I,O>
-
idleTimeout
public long idleTimeout()
- Specified by:
idleTimeoutin interfaceMqttSocket<I,O>
-
doRead
public void doRead()
- Specified by:
doReadin interfaceMqttSocket<I,O>
-
didRead
public void didRead(MqttPacket<? extends I> packet)
- Specified by:
didReadin interfaceMqttSocket<I,O>
-
doWrite
public void doWrite()
- Specified by:
doWritein interfaceMqttSocket<I,O>
-
didWrite
public void didWrite(MqttPacket<? extends O> packet)
- Specified by:
didWritein interfaceMqttSocket<I,O>
-
willConnect
public void willConnect()
- Specified by:
willConnectin interfaceMqttSocket<I,O>
-
didConnect
public void didConnect()
- Specified by:
didConnectin interfaceMqttSocket<I,O>
-
willSecure
public void willSecure()
- Specified by:
willSecurein interfaceMqttSocket<I,O>
-
didSecure
public void didSecure()
- Specified by:
didSecurein interfaceMqttSocket<I,O>
-
willBecome
public void willBecome(IpSocket socket)
- Specified by:
willBecomein interfaceMqttSocket<I,O>
-
didBecome
public void didBecome(IpSocket socket)
- Specified by:
didBecomein interfaceMqttSocket<I,O>
-
didTimeout
public void didTimeout()
- Specified by:
didTimeoutin interfaceMqttSocket<I,O>
-
didDisconnect
public void didDisconnect()
- Specified by:
didDisconnectin interfaceMqttSocket<I,O>
-
didFail
public void didFail(Throwable error)
- Specified by:
didFailin interfaceMqttSocket<I,O>
-
isConnected
public boolean isConnected()
Description copied from interface:IpContextReturnstrueif the underlying network channel is currently connected.- Specified by:
isConnectedin interfaceIpContext
-
isClient
public boolean isClient()
Description copied from interface:IpContextReturnstrueif the underlying network channel initiated an outgoing connection.
-
isServer
public boolean isServer()
Description copied from interface:IpContextReturnstrueif the underlying network channel accepted an incoming connection.
-
isSecure
public boolean isSecure()
Description copied from interface:IpContextReturnstrueif the underlying network transport is encrypted.
-
securityProtocol
public String securityProtocol()
Description copied from interface:IpContextReturns the name of the transport-layer security protocol used by the underlying network connection. Returnsnullif the underlying network channel is not currently connected, or if the underlying network connection is not secure.- Specified by:
securityProtocolin interfaceIpContext
-
cipherSuite
public String cipherSuite()
Description copied from interface:IpContextReturns the cryptographic cipher suite used by the underlying network connection. Returnsnullif the underlying network channel is not currently connected, or if the underlying network connection is not secure.- Specified by:
cipherSuitein interfaceIpContext
-
localAddress
public InetSocketAddress localAddress()
Description copied from interface:IpContextReturns the IP address and port of the local endpoint of the underlying network connection. Returnsnullif the underlying network channel is not currently connected.- Specified by:
localAddressin interfaceIpContext
-
localPrincipal
public Principal localPrincipal()
Description copied from interface:IpContextReturns the authenticated identity of the local endpoint of the underlying network connection. Returnsnullif the underlying network channel is not currently connected, or if the underlying network connection is not authenticated.- Specified by:
localPrincipalin interfaceIpContext
-
localCertificates
public Collection<Certificate> localCertificates()
Description copied from interface:IpContextReturns the certificate chain used to authenticate the local endpoint of the underlying network connection. Returnsnullif the underlying network channel is not currently connected, or if the underlying network connection is not authenticated.- Specified by:
localCertificatesin interfaceIpContext
-
remoteAddress
public InetSocketAddress remoteAddress()
Description copied from interface:IpContextReturns the IP address and port of the remote endpoint of the underlying network connection. Returnsnullif the underlying network channel is not currently connected.- Specified by:
remoteAddressin interfaceIpContext
-
remotePrincipal
public Principal remotePrincipal()
Description copied from interface:IpContextReturns the authenticated identity of the remote endpoint of the underlying network connection. Returnsnullif the underlying network channel is not currently connected, or if the underlying network connection is not authenticated.- Specified by:
remotePrincipalin interfaceIpContext
-
remoteCertificates
public Collection<Certificate> remoteCertificates()
Description copied from interface:IpContextReturns the certificate chain used to authenticate the remote endpoint of the underlying network connection. Returnsnullif the underlying network channel is not currently connected, or if the underlying network connection is not authenticated.- Specified by:
remoteCertificatesin interfaceIpContext
-
flowControl
public FlowControl flowControl()
Description copied from interface:FlowContextReturns the currentFlowControlstate of the underlying network channel.- Specified by:
flowControlin interfaceFlowContext
-
flowControl
public void flowControl(FlowControl flowControl)
Description copied from interface:FlowContextEnqueues an atomic replacement of the underlying network channel's flow control state with a newflowControl.- Specified by:
flowControlin interfaceFlowContext
-
flowControl
public FlowControl flowControl(FlowModifier flowModifier)
Description copied from interface:FlowContextEnqueues an atomic modification to the underlying network channel's flow control state by applying aflowModifierdelta.- Specified by:
flowControlin interfaceFlowContext
-
mqttSettings
public MqttSettings mqttSettings()
-
write
public <O2 extends O> void write(MqttPacket<O2> packet)
-
become
public void become(IpSocket socket)
-
close
public void close()
-
-