|
|
|
@ -56,8 +56,10 @@ enum class InterceptionHookPoints { |
|
|
|
|
POST_RECV_MESSAGE, |
|
|
|
|
POST_RECV_STATUS /* client only */, |
|
|
|
|
POST_RECV_CLOSE /* server only */, |
|
|
|
|
/* This is a special hook point available to both clients and servers. It is
|
|
|
|
|
illegal for an interceptor to block/delay this operation */ |
|
|
|
|
/* This is a special hook point available to both clients and servers when
|
|
|
|
|
TryCancel() is performed. It is illegal for an interceptor to block/delay |
|
|
|
|
this operation. ALL interceptors see this hook point irrespective of |
|
|
|
|
whether the RPC was hijacked or not. */ |
|
|
|
|
PRE_SEND_CANCEL, |
|
|
|
|
NUM_INTERCEPTION_HOOKS |
|
|
|
|
}; |
|
|
|
@ -71,7 +73,7 @@ class InterceptorBatchMethods { |
|
|
|
|
// Calling this will signal that the interceptor is done intercepting the
|
|
|
|
|
// current batch of the RPC.
|
|
|
|
|
// Proceed is a no-op if the batch contains PRE_SEND_CANCEL. Simply returning
|
|
|
|
|
// from the Intercept method does the job of continuing the RPC.
|
|
|
|
|
// from the Intercept method does the job of continuing the RPC in this case.
|
|
|
|
|
virtual void Proceed() = 0; |
|
|
|
|
// Calling this indicates that the interceptor has hijacked the RPC (only
|
|
|
|
|
// valid if the batch contains send_initial_metadata on the client side)
|
|
|
|
|