Ultimately, the framework wants to track all grpc channels:
Send(context, method, input: proto.Message) (output: proto.Message, err)
Receive(context, method, input: proto.Message) (output: proto.Message, err)
Currently, we need to intercept because we need to sync the epoch. We use
DataRequest
CheckGRPCContext
to achieve that.
But I think CheckGRPCContext is not what we want.
A better alternative to current situation (before grpc supports it) is to ask all grpc server handler to send its messages to framework:
framework.GRPCReceive(context, method, input) (output, err)
and it will trigger the user callback Receive.
Ultimately, the framework wants to track all grpc channels:
Currently, we need to intercept because we need to sync the epoch. We use
to achieve that.
But I think CheckGRPCContext is not what we want.
A better alternative to current situation (before grpc supports it) is to ask all grpc server handler to send its messages to framework:
and it will trigger the user callback
Receive.