Class ByteBufferIpcMessagesConsumerThread
java.lang.Object
java.lang.Thread
com._1c.g5.v8.dt.internal.pm.ipc.sync.InvalidatableThread
com._1c.g5.v8.dt.internal.pm.connection.mmf.ByteBufferIpcMessagesConsumerThread
- All Implemented Interfaces:
Invalidatable
,AutoCloseable
,Runnable
Consumes
IpcMessage
s from messages queue, then puts a message to provided buffer, splitting if necessarry
message to packets of Buffer.remaining()
size..-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
-
Field Summary
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
Constructor Summary
ConstructorsConstructorDescriptionByteBufferIpcMessagesConsumerThread
(BlockingQueue<IpcMessage> messagesQueue, ByteBuffer buffer, Lock bufferLock) Constructs new instance with given messages queue,ByteBuffer
andLock
, which controls access to given buffer. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
process
(IpcMessage message) Appends size of message to the start of given message's data, splits it to parts of packet size and puts each part to packet queue.void
run()
Methods inherited from class com._1c.g5.v8.dt.internal.pm.ipc.sync.InvalidatableThread
close, isValid
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
Constructor Details
-
ByteBufferIpcMessagesConsumerThread
public ByteBufferIpcMessagesConsumerThread(BlockingQueue<IpcMessage> messagesQueue, ByteBuffer buffer, Lock bufferLock) Constructs new instance with given messages queue,ByteBuffer
andLock
, which controls access to given buffer.- Parameters:
messagesQueue
- given messages queue, from which messages are obtained (notnull
)buffer
- given buffer, to which part(s) of message put (notnull
)bufferLock
- givenLock
, under which each part of message is put to given buffer (notnull
)
-
-
Method Details
-
run
public void run() -
process
Appends size of message to the start of given message's data, splits it to parts of packet size and puts each part to packet queue.- Parameters:
message
- given message (notnull
)- Throws:
InterruptedException
-