RECEIVE-REQUEST |
Service provider; request phase |
Present (length > 0) |
Present |
(error) |
Absent |
Invoke the next handler with function RECEIVE-REQUEST |
Present (length = 0) |
Not applicable |
(error) |
Absent |
Present (length > 0) |
Switch to response phase, and invoke the same handler
with function SEND-RESPONSE |
Present (length = 0) |
(error) |
Absent |
Invoke the same handler with function NO-RESPONSE |
SEND-RESPONSE |
Service provider; response phase |
Not applicable |
Present (length > 0) |
Invoke the previous handler with function SEND-RESPONSE |
Present (length = 0) |
(error) |
Absent |
Invoke the same handler with function NO-RESPONSE |
SEND-REQUEST |
Service requester; request phase |
Present (length > 0) |
Present (length ≥ 0) |
(error) |
Absent |
Invoke the next handler with function SEND-REQUEST |
Present (length = 0) |
Not applicable |
(error) |
Absent |
Present (length > 0) |
Switch to response phase, and invoke the previous handler
with function RECEIVE-RESPONSE |
Present (length = 0) |
(error) |
Absent |
Invoke the same handler with function NO-RESPONSE |
RECEIVE-RESPONSE |
Service requester; response phase |
Not applicable |
Present (length > 0) |
Invoke the previous handler with function RECEIVE-RESPONSE |
Present (length = 0) |
(error) |
Absent |
Invoke the same handler with function NO-RESPONSE |
PROCESS-REQUEST |
Service provider; terminal handler |
Not applicable |
Present (length > 0) |
Invoke the previous handler with function RECEIVE-RESPONSE |
Present (length = 0) |
(error) |
Absent |
Invoke the same handler with function NO-RESPONSE |
HANDLER-ERROR |
Service requester or provider; either
phase |
Not applicable |
Present (length > 0) |
Invoke the previous handler with function SEND-RESPONSE
or RECEIVE-RESPONSE |
Present (length = 0) |
(error) |
Absent |
Invoke the same handler with function NO-RESPONSE |