Lines Matching refs:RPC
9 Pigweed RPC servers and clients communicate using ``pw_rpc`` packets. These
15 Pigweed RPC packets consist of a type and a set of fields. The packets are
23 The packet type and RPC type determine which fields are present in a Pigweed RPC
32 | REQUEST | Invoke an RPC |
65 | CLIENT_ERROR | Abort an ongoing RPC |
83 status codes result in the same action by the server: aborting the RPC.
85 * ``CANCELLED`` -- The client requested that the RPC be cancelled.
86 * ``ABORTED`` -- The RPC was aborted due its channel being closed.
92 * ``INVALID_ARGUMENT`` -- The server sent a packet type to an RPC that does not
93 support it (a ``SERVER_STREAM`` was sent to an RPC with no server stream).
101 | RESPONSE | The RPC is complete |
143 process. The client should abort any RPC for which it receives an error. The
148 RPC that is not pending.
149 * ``INVALID_ARGUMENT`` -- The client sent a packet type to an RPC that does not
150 support it (a ``CLIENT_STREAM`` was sent to an RPC with no client stream).
153 * ``ABORTED`` -- The RPC was aborted due its channel being closed.
154 * ``INTERNAL`` -- The server was unable to respond to an RPC due to an
160 Calling an RPC requires a specific sequence of packets. This section describes
164 The basic flow for all RPC invocations is as follows:
173 streaming RPCs. The RPC is complete.
175 The client may cancel an ongoing RPC at any time by sending a ``CLIENT_ERROR``
176 packet with status ``CANCELLED``. The server may finish an ongoing RPC at any
179 Unary RPC
181 In a unary RPC, the client sends a single request and the server sends a single
185 :alt: Unary RPC
197 The client may attempt to cancel a unary RPC by sending a ``CLIENT_ERROR``
199 RPC. If the server processes the unary RPC synchronously (the handling thread
200 sends the response), it may not be possible to cancel the RPC.
203 :alt: Cancelled Unary RPC
216 Server streaming RPC
218 In a server streaming RPC, the client sends a single request and the server
222 :alt: Server Streaming RPC
238 The client may terminate a server streaming RPC by sending a ``CLIENT_STREAM``
242 :alt: Cancelled Server Streaming RPC
257 Client streaming RPC
259 In a client streaming RPC, the client starts the RPC by sending a ``REQUEST``
262 a single ``RESPONSE`` to finish the RPC.
265 :alt: Client Streaming RPC
283 The server may finish the RPC at any time by sending its ``RESPONSE`` packet,
285 terminate the RPC at any time by sending a ``CLIENT_ERROR`` packet with status
289 :alt: Cancelled Client Streaming RPC
304 Bidirectional streaming RPC
306 In a bidirectional streaming RPC, the client sends any number of requests and
307 the server sends any number of responses. The client invokes the RPC by sending
310 the RPC.
313 :alt: Bidirectional Streaming RPC
337 The server may finish the RPC at any time by sending the ``RESPONSE`` packet,
339 terminate the RPC at any time by sending a ``CLIENT_ERROR`` packet with status
343 :alt: Client Streaming RPC