ipc using grpc idl between go and flutter
cmd | info | direction | ||
---|---|---|---|---|
1 | unary call request | |||
1 & rpccmd.res>0 | unary call response | |||
2 | no care unary call | client to server | ||
2 | server send response headers to client | |||
3 | client stream call setup | |||
3 & rpccmd.res>0 | client stream call setup response | |||
4 | client cancel rpc call | |||
5 | client stream send next req | |||
5 & rpccmd.res>0 | server response receive client req | |||
6 | client send rpc finished | |||
6 & rpccmd.res>0 | server response receive client finished | |||
7 | server stream call setup | |||
7 & rpccmd.res>0 | server stream call setup response | |||
8 | bidi stream call setup | |||
8 & rpccmd.res>0 | bidi stream call setup response | |||
12 | server send response to client | |||
13 | server stream finished | |||
14 | client & server ping each other |
if rpccmd is request type , rpccmd.body is request message. if rpccmd is response type, rpccmd.body is response message; if 400<=rpccmd.res<=599, it means an error occured, ref http status code.