![]() |
Qorus Integration Engine®
4.0.3.p2_git
|
this class handles stream classes that use an I/O thread to receive data More...
Public Member Methods | |
| destructor () | |
| disconnects and aborts the I/O thread if it's still running | |
| nothing | cleanup () |
| called when the thread resource is still allocated and the thread exits or one of Qore::throw_thread_resource_exceptions() or Qore::throw_thread_resource_exceptions_to_mark() is called | |
| private | abortInternMethod (string meth) |
| if the I/O thread is running, then abort it, disconnect the connection, and throw a user-friendly exception what happened and how to avoid such situations in the future | |
| private | abortIntern (string meth, string fmt) |
| if the I/O thread is running, then abort it, disconnect the connection, and throw a user-friendly exception what happened and how to avoid such situations in the future | |
Private Member Methods | |
| abstract | throwAbortedExceptionImpl (string meth) |
| throw a user-friendly exception about why the I/O thread was aborted and the connection forcibly closed and how to avoid such situations in the future | |
Additional Inherited Members | |
Private:Internal Member Methods inherited from OMQ::AbstractParallelStream | |
| destructor () | |
| wait for any I/O in progress to complete | |
| nothing | cleanupBase () |
| called by child classes when the thread resource is still allocated and the thread exits or one of Qore::throw_thread_resource_exceptions() or Qore::throw_thread_resource_exceptions_to_mark() is called | |
| private | waitIoComplete () |
| waits for the I/O thread to complete and returns | |
| private | markIoInProgress () |
| marks the current connection as in progress; must be already checked beforehand that it's not in progress | |
| private | markIoComplete () |
| performs thread cleanup on the background I/O thread if any is registered and running | |
| OMQ::StreamInfo | getInfo () |
| returns performance information about the stream | |
| private | checkError (string cmd) |
| checks for an error in the background send thread; if there is one, then rethrows the exception in the main application / data thread | |
| private | startStream () |
| opens the remote transaction by calling startStreamImpl() and starts the background I/O socket thread More... | |
| private | socketThread (*ThreadLocalData my_tld) |
| sets up thread-local data if possible and calls socketThreadImpl() that implements the background socket I/O for the object | |
| private | abortIo (string reason) |
| signals the end of queue operations | |
| private bool | abortIoWait (string reason) |
| signals the end of queue operations and waits until the socket thread terminates More... | |
| private | beginTransaction (OMQ::DbStreamConfig m_config) |
| starts or continues a remote transaction | |
| private | commit (OMQ::DbStreamConfig m_config) |
| commits a remote transaction | |
| private | rollback (OMQ::DbStreamConfig m_config) |
| rolls back a remote transaction | |
| abstract OMQ::StreamConfig | config () |
| returns the configuration object | |
| Qore::Thread::Counter | cnt () |
| confirmation counter for the socket I/O thread | |
| OMQ::StreamInfo | m_info () |
| stream information | |
| abstract | socketThreadImpl () |
| this method implements the background thread that handles the actual DataStream socket sends | |
| abstract | startStreamImpl () |
| opens the remote transaction before starting the background I/O socket thread | |
Static Private:Internal Member Methods inherited from OMQ::AbstractParallelStream | |
| static | staticCleanup () |
| performs static thread resource cleanup on I/O thread resources | |
| static | checkStream (QorusSystemRestHelper helper, string op) |
| checks if there is a stream operation running in the background, if so, a user-friendly exception is thrown | |
| static | beginTransaction (QorusSystemRestHelper remote, string datasource, *timeout timeout_ms, *reference info) |
| starts a transaction in a remote datasource More... | |
Private:Internal Attributes inherited from OMQ::AbstractParallelStream | |
| const | DO_DISCONNECT = True |
| A constant for rollback() methods to perform real disconnect. | |
| const | DONT_DISCONNECT = False |
| A constant for rollback() methods to keep the network connection alive. | |
| Qore::Thread::Queue | dataq |
| Queue for the socket I/O thread. | |
| *hash | thread_ex |
| exception info for send thread to communicate errors to the primary data thread | |
| string | objid |
| stream object identifier | |
| const | StreamTerminatedError = "STREAM-TERMINATED" |
| stream terminated error | |
| const | ThreadKey = "_STREAM_" |
| thread-local data key | |
this class handles stream classes that use an I/O thread to receive data
such classes have the following characteristics: