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, onFailure
public final Queue<OutboundFrame> writeQueue
public final Queue<OutboundFrame> urgentWriteQueue
public SpinningSocketWriter(SocketConnection connection, ILogger logger, IOOutOfMemoryHandler oomeHandler, SocketWriterInitializer initializer)
public void write(OutboundFrame frame)
SocketWriter
write
in interface SocketWriter
frame
- the Frame to write.public long bytesPending()
public long priorityBytesPending()
public int totalFramesPending()
SocketWriter
totalFramesPending
in interface SocketWriter
public long lastWriteTimeMillis()
SocketWriter
Clock.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 SocketWriter
public void initWriteHandler(WriteHandler writeHandler)
initWriteHandler
in interface SocketWriter
public WriteHandler getWriteHandler()
SocketWriter
WriteHandler
that belongs to this SocketWriter.
This method exists for the TextReadHandler
, but probably should be deleted.getWriteHandler
in interface SocketWriter
public void setProtocol(String protocol)
SocketWriter
Protocols
setProtocol
in interface SocketWriter
protocol
- the protocolpublic void initOutputBuffer(ByteBuffer outputBuffer)
initOutputBuffer
in interface SocketWriter
public void close()
SocketWriter
TcpIpConnection.close(String, Throwable)
method.close
in interface SocketWriter
Copyright © 2017 Hazelcast, Inc.. All Rights Reserved.