Package org.asynchttpclient.netty.ws
Class NettyWebSocket
- java.lang.Object
-
- org.asynchttpclient.netty.ws.NettyWebSocket
-
-
Constructor Summary
Constructors Constructor Description NettyWebSocket(io.netty.channel.Channel channel, io.netty.handler.codec.http.HttpHeaders upgradeHeaders)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WebSocket
addWebSocketListener(WebSocketListener l)
Add aWebSocketListener
void
bufferFrame(io.netty.handler.codec.http.websocketx.WebSocketFrame frame)
SocketAddress
getLocalAddress()
Get local address client initiated request from.SocketAddress
getRemoteAddress()
Get remote address client initiated request to.io.netty.handler.codec.http.HttpHeaders
getUpgradeHeaders()
void
handleFrame(io.netty.handler.codec.http.websocketx.WebSocketFrame frame)
boolean
isOpen()
boolean
isReady()
void
onClose(int code, String reason)
void
onError(Throwable t)
void
processBufferedFrames()
WebSocket
removeWebSocketListener(WebSocketListener l)
Remove aWebSocketListener
io.netty.util.concurrent.Future<Void>
sendBinaryFrame(byte[] payload)
Send a full binary frame.io.netty.util.concurrent.Future<Void>
sendBinaryFrame(byte[] payload, boolean finalFragment, int rsv)
Allows sending a binary frame with fragmentation or extension bits.io.netty.util.concurrent.Future<Void>
sendBinaryFrame(io.netty.buffer.ByteBuf payload, boolean finalFragment, int rsv)
Allows sending a binary frame with fragmentation or extension bits.io.netty.util.concurrent.Future<Void>
sendCloseFrame()
Send a empty close frame.io.netty.util.concurrent.Future<Void>
sendCloseFrame(int statusCode, String reasonText)
Send a empty close frame.io.netty.util.concurrent.Future<Void>
sendContinuationFrame(byte[] payload, boolean finalFragment, int rsv)
Send a binary continuation frame.io.netty.util.concurrent.Future<Void>
sendContinuationFrame(io.netty.buffer.ByteBuf payload, boolean finalFragment, int rsv)
Send a continuation frame (those are actually untyped as counterpart must have memorized first fragmented frame type).io.netty.util.concurrent.Future<Void>
sendContinuationFrame(String payload, boolean finalFragment, int rsv)
Send a text continuation frame.io.netty.util.concurrent.Future<Void>
sendPingFrame()
Send a empty ping frameio.netty.util.concurrent.Future<Void>
sendPingFrame(byte[] payload)
Send a ping frame with a byte array payload (limited to 125 bytes or less).io.netty.util.concurrent.Future<Void>
sendPingFrame(io.netty.buffer.ByteBuf payload)
Send a ping frame with a ByteBuf payload (limited to 125 bytes or less).io.netty.util.concurrent.Future<Void>
sendPongFrame()
Send a empty pong frameio.netty.util.concurrent.Future<Void>
sendPongFrame(byte[] payload)
Send a pong frame with a byte array payload (limited to 125 bytes or less).io.netty.util.concurrent.Future<Void>
sendPongFrame(io.netty.buffer.ByteBuf payload)
Send a pong frame with a ByteBuf payload (limited to 125 bytes or less).io.netty.util.concurrent.Future<Void>
sendTextFrame(io.netty.buffer.ByteBuf payload, boolean finalFragment, int rsv)
Allows sending a text frame with fragmentation or extension bits.io.netty.util.concurrent.Future<Void>
sendTextFrame(String message)
Send a full text frameio.netty.util.concurrent.Future<Void>
sendTextFrame(String payload, boolean finalFragment, int rsv)
Allows sending a text frame with fragmentation or extension bits.String
toString()
-
-
-
Method Detail
-
getUpgradeHeaders
public io.netty.handler.codec.http.HttpHeaders getUpgradeHeaders()
- Specified by:
getUpgradeHeaders
in interfaceWebSocket
- Returns:
- the headers received in the Upgrade response
-
getRemoteAddress
public SocketAddress getRemoteAddress()
Description copied from interface:WebSocket
Get remote address client initiated request to.- Specified by:
getRemoteAddress
in interfaceWebSocket
- Returns:
- remote address client initiated request to, may be
null
if asynchronous provider is unable to provide the remote address
-
getLocalAddress
public SocketAddress getLocalAddress()
Description copied from interface:WebSocket
Get local address client initiated request from.- Specified by:
getLocalAddress
in interfaceWebSocket
- Returns:
- local address client initiated request from, may be
null
if asynchronous provider is unable to provide the local address
-
sendTextFrame
public io.netty.util.concurrent.Future<Void> sendTextFrame(String message)
Description copied from interface:WebSocket
Send a full text frame- Specified by:
sendTextFrame
in interfaceWebSocket
- Parameters:
message
- a text payload- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendTextFrame
public io.netty.util.concurrent.Future<Void> sendTextFrame(String payload, boolean finalFragment, int rsv)
Description copied from interface:WebSocket
Allows sending a text frame with fragmentation or extension bits. When using fragmentation, the next fragments must be sent with sendContinuationFrame.- Specified by:
sendTextFrame
in interfaceWebSocket
- Parameters:
payload
- a text fragment.finalFragment
- flag indicating whether or not this is the final fragmentrsv
- extension bits, 0 otherwise- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendTextFrame
public io.netty.util.concurrent.Future<Void> sendTextFrame(io.netty.buffer.ByteBuf payload, boolean finalFragment, int rsv)
Description copied from interface:WebSocket
Allows sending a text frame with fragmentation or extension bits. When using fragmentation, the next fragments must be sent with sendContinuationFrame.- Specified by:
sendTextFrame
in interfaceWebSocket
- Parameters:
payload
- a ByteBuf fragment.finalFragment
- flag indicating whether or not this is the final fragmentrsv
- extension bits, 0 otherwise- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendBinaryFrame
public io.netty.util.concurrent.Future<Void> sendBinaryFrame(byte[] payload)
Description copied from interface:WebSocket
Send a full binary frame.- Specified by:
sendBinaryFrame
in interfaceWebSocket
- Parameters:
payload
- a binary payload- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendBinaryFrame
public io.netty.util.concurrent.Future<Void> sendBinaryFrame(byte[] payload, boolean finalFragment, int rsv)
Description copied from interface:WebSocket
Allows sending a binary frame with fragmentation or extension bits. When using fragmentation, the next fragments must be sent with sendContinuationFrame.- Specified by:
sendBinaryFrame
in interfaceWebSocket
- Parameters:
payload
- a binary payloadfinalFragment
- flag indicating whether or not this is the last fragmentrsv
- extension bits, 0 otherwise- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendBinaryFrame
public io.netty.util.concurrent.Future<Void> sendBinaryFrame(io.netty.buffer.ByteBuf payload, boolean finalFragment, int rsv)
Description copied from interface:WebSocket
Allows sending a binary frame with fragmentation or extension bits. When using fragmentation, the next fragments must be sent with sendContinuationFrame.- Specified by:
sendBinaryFrame
in interfaceWebSocket
- Parameters:
payload
- a ByteBuf payloadfinalFragment
- flag indicating whether or not this is the last fragmentrsv
- extension bits, 0 otherwise- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendContinuationFrame
public io.netty.util.concurrent.Future<Void> sendContinuationFrame(String payload, boolean finalFragment, int rsv)
Description copied from interface:WebSocket
Send a text continuation frame. The last fragment must have finalFragment set to true.- Specified by:
sendContinuationFrame
in interfaceWebSocket
- Parameters:
payload
- the text fragmentfinalFragment
- flag indicating whether or not this is the last fragmentrsv
- extension bits, 0 otherwise- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendContinuationFrame
public io.netty.util.concurrent.Future<Void> sendContinuationFrame(byte[] payload, boolean finalFragment, int rsv)
Description copied from interface:WebSocket
Send a binary continuation frame. The last fragment must have finalFragment set to true.- Specified by:
sendContinuationFrame
in interfaceWebSocket
- Parameters:
payload
- the binary fragmentfinalFragment
- flag indicating whether or not this is the last fragmentrsv
- extension bits, 0 otherwise- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendContinuationFrame
public io.netty.util.concurrent.Future<Void> sendContinuationFrame(io.netty.buffer.ByteBuf payload, boolean finalFragment, int rsv)
Description copied from interface:WebSocket
Send a continuation frame (those are actually untyped as counterpart must have memorized first fragmented frame type). The last fragment must have finalFragment set to true.- Specified by:
sendContinuationFrame
in interfaceWebSocket
- Parameters:
payload
- a ByteBuf fragmentfinalFragment
- flag indicating whether or not this is the last fragmentrsv
- extension bits, 0 otherwise- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendPingFrame
public io.netty.util.concurrent.Future<Void> sendPingFrame()
Description copied from interface:WebSocket
Send a empty ping frame- Specified by:
sendPingFrame
in interfaceWebSocket
- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendPingFrame
public io.netty.util.concurrent.Future<Void> sendPingFrame(byte[] payload)
Description copied from interface:WebSocket
Send a ping frame with a byte array payload (limited to 125 bytes or less).- Specified by:
sendPingFrame
in interfaceWebSocket
- Parameters:
payload
- the payload.- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendPingFrame
public io.netty.util.concurrent.Future<Void> sendPingFrame(io.netty.buffer.ByteBuf payload)
Description copied from interface:WebSocket
Send a ping frame with a ByteBuf payload (limited to 125 bytes or less).- Specified by:
sendPingFrame
in interfaceWebSocket
- Parameters:
payload
- the payload.- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendPongFrame
public io.netty.util.concurrent.Future<Void> sendPongFrame()
Description copied from interface:WebSocket
Send a empty pong frame- Specified by:
sendPongFrame
in interfaceWebSocket
- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendPongFrame
public io.netty.util.concurrent.Future<Void> sendPongFrame(byte[] payload)
Description copied from interface:WebSocket
Send a pong frame with a byte array payload (limited to 125 bytes or less).- Specified by:
sendPongFrame
in interfaceWebSocket
- Parameters:
payload
- the payload.- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendPongFrame
public io.netty.util.concurrent.Future<Void> sendPongFrame(io.netty.buffer.ByteBuf payload)
Description copied from interface:WebSocket
Send a pong frame with a ByteBuf payload (limited to 125 bytes or less).- Specified by:
sendPongFrame
in interfaceWebSocket
- Parameters:
payload
- the payload.- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendCloseFrame
public io.netty.util.concurrent.Future<Void> sendCloseFrame()
Description copied from interface:WebSocket
Send a empty close frame.- Specified by:
sendCloseFrame
in interfaceWebSocket
- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
sendCloseFrame
public io.netty.util.concurrent.Future<Void> sendCloseFrame(int statusCode, String reasonText)
Description copied from interface:WebSocket
Send a empty close frame.- Specified by:
sendCloseFrame
in interfaceWebSocket
- Parameters:
statusCode
- a status codereasonText
- a reason- Returns:
- a future that will be completed once the frame will be actually written on the wire
-
isOpen
public boolean isOpen()
-
addWebSocketListener
public WebSocket addWebSocketListener(WebSocketListener l)
Description copied from interface:WebSocket
Add aWebSocketListener
- Specified by:
addWebSocketListener
in interfaceWebSocket
- Parameters:
l
- aWebSocketListener
- Returns:
- this
-
removeWebSocketListener
public WebSocket removeWebSocketListener(WebSocketListener l)
Description copied from interface:WebSocket
Remove aWebSocketListener
- Specified by:
removeWebSocketListener
in interfaceWebSocket
- Parameters:
l
- aWebSocketListener
- Returns:
- this
-
isReady
public boolean isReady()
-
bufferFrame
public void bufferFrame(io.netty.handler.codec.http.websocketx.WebSocketFrame frame)
-
processBufferedFrames
public void processBufferedFrames()
-
handleFrame
public void handleFrame(io.netty.handler.codec.http.websocketx.WebSocketFrame frame)
-
onError
public void onError(Throwable t)
-
onClose
public void onClose(int code, String reason)
-
-