7.7 Understanding Conversational Communication Events
The Oracle Tuxedo system recognizes five events in conversational communication. All five events can be posted for tprecv(); three can be posted for tpsend().
The following table lists the events, the functions for which they are returned, and a detailed description of each.
Table 7-3 Conversational Communication Events
Event | Received By | Description |
---|---|---|
TPEV_SENDONLY
|
tprecv()
|
Control of the connection has been passed; this process can now call tpsend() .
|
TPEV_DISCONIMM
|
tpsend (), tprecv(), tpreturn ()
|
The connection has been torn down and no further communication is possible. The tpdiscon() function posts this event in the originator of the connection, and sends it to all open connections when tpreturn() is called, as long as connections to subordinate services remain open. Connections are closed in a disorderly fashion. If a transaction exists, it is aborted.
|
TPEV_SVCERR
|
tpsend ()
|
Received by the originator of the connection, usually indicating that the subordinate program issued a tpreturn() without having control of the connection.
|
tprecv()
|
Received by the originator of the connection, indicating that the subordinate program issued a tpreturn() with TPSUCCESS or TPFAIL and a valid data buffer, but an error occurred that prevented the call from completing.
|
|
TPEV_SVCFAIL
|
tpsend ()
|
Received by the originator of the connection, indicating that the subordinate program issued a tpreturn() without having control of the connection, and tpreturn() was called with TPFAIL or TPEXIT and no data.
|
tprecv()
|
Received by the originator of the connection, indicating that the subordinate service finished unsuccessfully (tpreturn() was called with TPFAIL or TPEXIT ).
|
|
TPEV_SVCSUCC
|
tprecv()
|
Received by the originator of the connection, indicating that the subordinate service finished successfully; that is, it called tpreturn() with TPSUCCESS .
|
Parent topic: Writing Conversational Clients and Servers