public class SpinningSocketWriter extends AbstractHandler implements SocketWriter
| Modifier and Type | Field and Description |
|---|---|
Queue<OutboundFrame> |
urgentWriteQueue |
Queue<OutboundFrame> |
writeQueue |
connection, logger, socketChannel| Constructor and Description |
|---|
SpinningSocketWriter(SocketConnection connection,
ILogger logger,
IOOutOfMemoryHandler oomeHandler,
SocketWriterInitializer initializer) |
| Modifier and Type | Method and Description |
|---|---|
long |
bytesPending() |
void |
close()
Closes this SocketWriter.
|
WriteHandler |
getWriteHandler()
Gets the
WriteHandler that belongs to this SocketWriter. |
void |
initOutputBuffer(ByteBuffer outputBuffer) |
void |
initWriteHandler(WriteHandler writeHandler) |
long |
lastWriteTimeMillis()
Returns the last
Clock.currentTimeMillis() that a write to the socket completed. |
long |
priorityBytesPending() |
void |
setProtocol(String protocol)
Sets the protocol this SocketWriter should use.
|
int |
totalFramesPending()
Returns the total number of packets (urgent and non normal priority) pending to be written to the socket.
|
void |
write() |
void |
write(OutboundFrame frame)
Offers a Frame to be written to the socket.
|
getSocketChannel, onFailurepublic final Queue<OutboundFrame> writeQueue
public final Queue<OutboundFrame> urgentWriteQueue
public SpinningSocketWriter(SocketConnection connection, ILogger logger, IOOutOfMemoryHandler oomeHandler, SocketWriterInitializer initializer)
public void write(OutboundFrame frame)
SocketWriterwrite in interface SocketWriterframe - the Frame to write.public long bytesPending()
public long priorityBytesPending()
public int totalFramesPending()
SocketWritertotalFramesPending in interface SocketWriterpublic long lastWriteTimeMillis()
SocketWriterClock.currentTimeMillis() that a write to the socket completed.
Writing to the socket doesn't mean that data has been send or received; it means that data was written to the
SocketChannel. It could very well be that this data is stuck somewhere in an io-buffer.lastWriteTimeMillis in interface SocketWriterpublic void initWriteHandler(WriteHandler writeHandler)
initWriteHandler in interface SocketWriterpublic WriteHandler getWriteHandler()
SocketWriterWriteHandler that belongs to this SocketWriter.
This method exists for the TextReadHandler, but probably should be deleted.getWriteHandler in interface SocketWriterpublic void setProtocol(String protocol)
SocketWriterProtocolssetProtocol in interface SocketWriterprotocol - the protocolpublic void initOutputBuffer(ByteBuffer outputBuffer)
initOutputBuffer in interface SocketWriterpublic void close()
SocketWriterTcpIpConnection.close(String, Throwable) method.close in interface SocketWriterCopyright © 2017 Hazelcast, Inc.. All Rights Reserved.