Class NonBlockingAbstractCodec
- java.lang.Object
-
- org.epics.pvaccess.impl.remote.codec.AbstractCodec
-
- org.epics.pvaccess.impl.remote.codec.impl.NonBlockingAbstractCodec
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Channel,ReadableByteChannel,WritableByteChannel,PollEvents,TransportSendControl,org.epics.pvdata.pv.SerializableControl
- Direct Known Subclasses:
NonBlockingSocketAbstractCodec
public abstract class NonBlockingAbstractCodec extends AbstractCodec implements PollEvents
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.epics.pvaccess.impl.remote.codec.AbstractCodec
AbstractCodec.ReadMode, AbstractCodec.WriteMode
-
-
Field Summary
Fields Modifier and Type Field Description protected SelectionKeykeyprotected Pollerpoller-
Fields inherited from class org.epics.pvaccess.impl.remote.codec.AbstractCodec
blockingProcessQueue, command, flags, logger, MAX_ENSURE_BUFFER_SIZE, MAX_ENSURE_DATA_SIZE, MAX_ENSURE_SIZE, MAX_MESSAGE_PROCESS, MAX_MESSAGE_SEND, payloadSize, readMode, remoteTransportSocketReceiveBufferSize, sendBuffer, sendQueue, sendTo, socketBuffer, totalBytesSent, version, writeMode, writeOpReady
-
-
Constructor Summary
Constructors Constructor Description NonBlockingAbstractCodec(boolean serverFlag, Poller poller, ByteBuffer receiveBuffer, ByteBuffer sendBuffer, int socketSendBufferSize, Logger logger)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()booleanisOpen()voidpollNotify(SelectionKey key)voidreadPollOne()protected abstract voidready()voidregisteredNotify(SelectionKey key, Throwable registrationException)voidscheduleSend()protected voidsendBufferFull(int tries)voidsendCompleted()booleanterminated()voidwritePollOne()-
Methods inherited from class org.epics.pvaccess.impl.remote.codec.AbstractCodec
alignBuffer, alignData, alignedValue, clearSendQueue, endMessage, enqueueSendRequest, enqueueSendRequest, ensureBuffer, ensureData, flush, flushSerializeBuffer, getLastReadBufferSocketAddress, invalidDataStreamHandler, processApplicationMessage, processControlMessage, processRead, processSendQueue, processWrite, putControlMessage, send, setByteOrder, setRecipient, setSenderThread, startMessage
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.nio.channels.ReadableByteChannel
read
-
Methods inherited from interface java.nio.channels.WritableByteChannel
write
-
-
-
-
Field Detail
-
poller
protected final Poller poller
-
key
protected volatile SelectionKey key
-
-
Constructor Detail
-
NonBlockingAbstractCodec
public NonBlockingAbstractCodec(boolean serverFlag, Poller poller, ByteBuffer receiveBuffer, ByteBuffer sendBuffer, int socketSendBufferSize, Logger logger)
-
-
Method Detail
-
ready
protected abstract void ready()
-
registeredNotify
public void registeredNotify(SelectionKey key, Throwable registrationException)
- Specified by:
registeredNotifyin interfacePollEvents
-
pollNotify
public void pollNotify(SelectionKey key) throws IOException
- Specified by:
pollNotifyin interfacePollEvents- Throws:
IOException
-
readPollOne
public void readPollOne() throws IOException- Specified by:
readPollOnein classAbstractCodec- Throws:
IOException
-
writePollOne
public void writePollOne() throws IOException- Specified by:
writePollOnein classAbstractCodec- Throws:
IOException
-
sendBufferFull
protected void sendBufferFull(int tries) throws IOException- Specified by:
sendBufferFullin classAbstractCodec- Throws:
IOException
-
scheduleSend
public void scheduleSend()
- Specified by:
scheduleSendin classAbstractCodec
-
sendCompleted
public void sendCompleted()
- Specified by:
sendCompletedin classAbstractCodec
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceChannel- Specified by:
closein interfaceCloseable- Throws:
IOException
-
terminated
public boolean terminated()
- Specified by:
terminatedin classAbstractCodec
-
-