- java.lang.Object
-
- swim.io.warp.AbstractWarpSocket
-
- All Implemented Interfaces:
FlowContext
,IpContext
,WarpSocket
public abstract class AbstractWarpSocket extends Object implements WarpSocket, IpContext, FlowContext
-
-
Field Summary
Fields Modifier and Type Field Description protected WarpSocketContext
context
-
Constructor Summary
Constructors Constructor Description AbstractWarpSocket()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
become(IpSocket socket)
String
cipherSuite()
Returns the cryptographic cipher suite used by the underlying network connection.void
close()
void
didBecome(IpSocket socket)
void
didConnect()
void
didDisconnect()
void
didFail(Throwable error)
void
didRead(Envelope envelope)
void
didRead(WsControlFrame<?,?> frame)
void
didSecure()
void
didTimeout()
void
didUpgrade(HttpRequest<?> httpRequest, HttpResponse<?> httpResponse)
void
didWrite(Envelope envelope)
void
didWrite(WsControlFrame<?,?> frame)
void
doRead()
void
doWrite()
void
feed(PullRequest<Envelope> pullRequest)
void
feed(Envelope envelope)
void
feed(Envelope envelope, float prio)
FlowControl
flowControl()
Returns the currentFlowControl
state of the underlying network channel.void
flowControl(FlowControl flowControl)
Enqueues an atomic replacement of the underlying network channel's flow control state with a newflowControl
.FlowControl
flowControl(FlowModifier flowModifier)
Enqueues an atomic modification to the underlying network channel's flow control state by applying aflowModifier
delta.long
idleTimeout()
boolean
isClient()
Returnstrue
if the underlying network channel initiated an outgoing connection.boolean
isConnected()
Returnstrue
if the underlying network channel is currently connected.boolean
isSecure()
Returnstrue
if the underlying network transport is encrypted.boolean
isServer()
Returnstrue
if the underlying network channel accepted an incoming connection.InetSocketAddress
localAddress()
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.Principal
localPrincipal()
Returns the authenticated identity of the local endpoint of the underlying network connection.InetSocketAddress
remoteAddress()
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.Principal
remotePrincipal()
Returns the authenticated identity of the remote endpoint of the underlying network connection.String
securityProtocol()
Returns the name of the transport-layer security protocol used by the underlying network connection.void
setWarpSocketContext(WarpSocketContext context)
WarpSettings
warpSettings()
WarpSocketContext
warpSocketContext()
void
willBecome(IpSocket socket)
void
willConnect()
void
willSecure()
void
write(WsControlFrame<?,? extends Envelope> frame)
-
-
-
Field Detail
-
context
protected WarpSocketContext context
-
-
Method Detail
-
warpSocketContext
public WarpSocketContext warpSocketContext()
- Specified by:
warpSocketContext
in interfaceWarpSocket
-
setWarpSocketContext
public void setWarpSocketContext(WarpSocketContext context)
- Specified by:
setWarpSocketContext
in interfaceWarpSocket
-
idleTimeout
public long idleTimeout()
- Specified by:
idleTimeout
in interfaceWarpSocket
-
doRead
public void doRead()
- Specified by:
doRead
in interfaceWarpSocket
-
didRead
public void didRead(Envelope envelope)
- Specified by:
didRead
in interfaceWarpSocket
-
didRead
public void didRead(WsControlFrame<?,?> frame)
- Specified by:
didRead
in interfaceWarpSocket
-
doWrite
public void doWrite()
- Specified by:
doWrite
in interfaceWarpSocket
-
didWrite
public void didWrite(Envelope envelope)
- Specified by:
didWrite
in interfaceWarpSocket
-
didWrite
public void didWrite(WsControlFrame<?,?> frame)
- Specified by:
didWrite
in interfaceWarpSocket
-
didUpgrade
public void didUpgrade(HttpRequest<?> httpRequest, HttpResponse<?> httpResponse)
- Specified by:
didUpgrade
in interfaceWarpSocket
-
willConnect
public void willConnect()
- Specified by:
willConnect
in interfaceWarpSocket
-
didConnect
public void didConnect()
- Specified by:
didConnect
in interfaceWarpSocket
-
willSecure
public void willSecure()
- Specified by:
willSecure
in interfaceWarpSocket
-
didSecure
public void didSecure()
- Specified by:
didSecure
in interfaceWarpSocket
-
willBecome
public void willBecome(IpSocket socket)
- Specified by:
willBecome
in interfaceWarpSocket
-
didBecome
public void didBecome(IpSocket socket)
- Specified by:
didBecome
in interfaceWarpSocket
-
didTimeout
public void didTimeout()
- Specified by:
didTimeout
in interfaceWarpSocket
-
didDisconnect
public void didDisconnect()
- Specified by:
didDisconnect
in interfaceWarpSocket
-
didFail
public void didFail(Throwable error)
- Specified by:
didFail
in interfaceWarpSocket
-
isConnected
public boolean isConnected()
Description copied from interface:IpContext
Returnstrue
if the underlying network channel is currently connected.- Specified by:
isConnected
in interfaceIpContext
-
isClient
public boolean isClient()
Description copied from interface:IpContext
Returnstrue
if the underlying network channel initiated an outgoing connection.
-
isServer
public boolean isServer()
Description copied from interface:IpContext
Returnstrue
if the underlying network channel accepted an incoming connection.
-
isSecure
public boolean isSecure()
Description copied from interface:IpContext
Returnstrue
if the underlying network transport is encrypted.
-
securityProtocol
public String securityProtocol()
Description copied from interface:IpContext
Returns the name of the transport-layer security protocol used by the underlying network connection. Returnsnull
if the underlying network channel is not currently connected, or if the underlying network connection is not secure.- Specified by:
securityProtocol
in interfaceIpContext
-
cipherSuite
public String cipherSuite()
Description copied from interface:IpContext
Returns the cryptographic cipher suite used by the underlying network connection. Returnsnull
if the underlying network channel is not currently connected, or if the underlying network connection is not secure.- Specified by:
cipherSuite
in interfaceIpContext
-
localAddress
public InetSocketAddress localAddress()
Description copied from interface:IpContext
Returns the IP address and port of the local endpoint of the underlying network connection. Returnsnull
if the underlying network channel is not currently connected.- Specified by:
localAddress
in interfaceIpContext
-
localPrincipal
public Principal localPrincipal()
Description copied from interface:IpContext
Returns the authenticated identity of the local endpoint of the underlying network connection. Returnsnull
if the underlying network channel is not currently connected, or if the underlying network connection is not authenticated.- Specified by:
localPrincipal
in interfaceIpContext
-
localCertificates
public Collection<Certificate> localCertificates()
Description copied from interface:IpContext
Returns the certificate chain used to authenticate the local endpoint of the underlying network connection. Returnsnull
if the underlying network channel is not currently connected, or if the underlying network connection is not authenticated.- Specified by:
localCertificates
in interfaceIpContext
-
remoteAddress
public InetSocketAddress remoteAddress()
Description copied from interface:IpContext
Returns the IP address and port of the remote endpoint of the underlying network connection. Returnsnull
if the underlying network channel is not currently connected.- Specified by:
remoteAddress
in interfaceIpContext
-
remotePrincipal
public Principal remotePrincipal()
Description copied from interface:IpContext
Returns the authenticated identity of the remote endpoint of the underlying network connection. Returnsnull
if the underlying network channel is not currently connected, or if the underlying network connection is not authenticated.- Specified by:
remotePrincipal
in interfaceIpContext
-
remoteCertificates
public Collection<Certificate> remoteCertificates()
Description copied from interface:IpContext
Returns the certificate chain used to authenticate the remote endpoint of the underlying network connection. Returnsnull
if the underlying network channel is not currently connected, or if the underlying network connection is not authenticated.- Specified by:
remoteCertificates
in interfaceIpContext
-
flowControl
public FlowControl flowControl()
Description copied from interface:FlowContext
Returns the currentFlowControl
state of the underlying network channel.- Specified by:
flowControl
in interfaceFlowContext
-
flowControl
public void flowControl(FlowControl flowControl)
Description copied from interface:FlowContext
Enqueues an atomic replacement of the underlying network channel's flow control state with a newflowControl
.- Specified by:
flowControl
in interfaceFlowContext
-
flowControl
public FlowControl flowControl(FlowModifier flowModifier)
Description copied from interface:FlowContext
Enqueues an atomic modification to the underlying network channel's flow control state by applying aflowModifier
delta.- Specified by:
flowControl
in interfaceFlowContext
-
warpSettings
public WarpSettings warpSettings()
-
feed
public void feed(PullRequest<Envelope> pullRequest)
-
feed
public void feed(Envelope envelope, float prio)
-
feed
public void feed(Envelope envelope)
-
write
public void write(WsControlFrame<?,? extends Envelope> frame)
-
become
public void become(IpSocket socket)
-
close
public void close()
-
-