Distributed Systems Network Management (DSNM) Subsystem Interface Development Guide

I Process Development Process
Distributed Systems Network Management (DSNM) Subsystem Interface Development
Guide109759 3-35
Dispatching Thread Procedures: Events
Dispatching Thread Procedures: Events
A thread dispatch is initiated by an event, such as the completion of a CI
communication. Events can be generated by the frame or by the thread itself:
Events generated by the frame occur singly, with one dispatch per event.
Events generated by the thread occur together, immediately after the next return to
the frame and before any frame-generated events.
Frame-Generated Service Completion Events
The frame generates one of the following service completion events when it completes a
request from the thread:
Frame-Generated Internal Events
The frame can generate internal events, not due directly to a request for service:
Examples of internal events are an event requesting cancellation of the command in
progress, or an event causing the thread to be redispatched (if it returns to the frame
without a pending outstanding event).
Thread-Generated Events: _SIGNAL^EVENT
The library procedure _SIGNAL^EVENT allows the thread to generate its own events.
The thread can generate private events or events simulating any frame event. When the
thread generates its own event(s), it is redispatched immediately when it returns
_RC^WAIT to the frame.
The thread may generate multiple simultaneous events with _SIGNAL^EVENT. All
events signaled by the thread before RETURN _RC^WAIT appear in _LAST^EVENTS
and _REAL^LAST^EVENTS together at the next thread dispatch. No frame events can
appear in this case.
_LAST^EVENTS and _REAL^LAST^EVENTS are defined in “State Management.
_EV^IODONE Generated when I/O initiated by a _SEND^CI request completes
_EV^TIMEOUT Generated when a timeout interval set by a call to
_SET^TIMEOUT elapses
_EV^STARTUP Generated on the frame’s initial dispatch of the thread
_EV^CONTINUE Generated when the thread returns with an _RC^WAIT and no
outstanding requests are needed
_EV^CANCEL Generated when the frame receives a command cancellation
request
CALL _SIGNAL^EVENT ( event(s) );