Lines Matching refs:RPC

13 RPC server
19 The following size report showcases the memory usage of the core RPC server. It
28 RPC server implementation
33 The RPC Server depends on the ``pw::rpc::internal::Method`` class. ``Method``
35 RPC functions. Each supported protobuf implementation extends ``Method`` to
97 RPC client
99 The RPC client is used to send requests to a server and manages the contexts of
108 To send incoming RPC packets from the transport layer to be processed by a
123 // Called when the transport layer receives an RPC packet.
138 Making RPC calls
140 RPC calls are not made directly through the client, but using one of its
142 file for each selected protobuf library, which is then used to send RPC requests
150 the ongoing RPC call, and can be used to manage it. An RPC call is only active
167 // RPC channel ID on which to make client calls. RPC calls cannot be made on
194 // By assigning the returned call to the global echo_call, the RPC
199 // The RPC call was not sent. This could occur due to, for example, an
208 application-layer routes used to tell the RPC system where a packet should go.
253 the RPC endpoint at construction.
270 Some pw_rpc deployments may find it helpful to remap channel IDs in RPC packets.
315 The individual size of each sent RPC request or response is limited by
317 using Pigweed's C++ implementation. While multiple RPC messages can be enqueued
322 This applies to all C++ RPC service implementations (nanopb, raw, and pwpb),
327 ``pw::rpc::MaxSafePayloadSize()`` is provided to expose the practical max RPC
352 An RPC call is represented by a call object. Server and client calls use the
362 * - RPC Type
418 Raw RPC only. Invokes the provided callback with the available RPC payload
434 Cancels this RPC. Closes the call and sends a ``CANCELLED`` error to the
439 Closes this RPC locally. Sends a ``CLIENT_REQUEST_COMPLETION``, but no cancellation
440 packet. Future packets for this RPC are dropped, and the client sends a
445 Abandons this RPC and additionally blocks on completion of any running callbacks.
449 Sets the callback that is called when the RPC completes normally. The
454 Sets the callback that is called when the RPC is terminated due to an error.
463 The C++ call objects allow users to set callbacks that are invoked when RPC
497 RPC callbacks are free to perform most actions, including invoking new RPCs or
528 A callback for RPC 1:cc0f6de0/31e616ce has not finished after 10000 ticks.
529 This may indicate that an RPC callback attempted to destroy or move its own
541 second packet will be dropped. The RPC endpoint logs a warning when this occurs.
549 avoided by handling packets for a particular RPC on only one thread.
552 RPC calls introspection
555 information about the generated RPC method in compile time.
563 We have an RPC service ``SpecialService`` with ``MyMethod`` method:
668 an RPC client and server with the same set of channels.
689 ``pw_rpc`` provides utilities for unit testing RPC services and client calls.
694 what packets are sent by an RPC client in tests. Raw, Nanopb and Pwpb interfaces
701 objects provide a preconfigured RPC client, channel, server fake, and buffer for
711 For example, the following tests a class that invokes an RPC. It checks that
720 // To support injecting an RPC client for testing, classes that make RPC
721 // calls should take an RPC client and channel ID or an RPC service client
734 // Execute the code that invokes the MyService.TheMethod RPC.
737 // Find and verify the payloads sent for the MyService.TheMethod RPC.
768 For example, the following tests a class that invokes an RPC and blocks till a
779 // To support injecting an RPC client for testing, classes that make RPC
780 // calls should take an RPC client and channel ID or an RPC service client
803 // Execute the code that invokes the MyService.TheMethod RPC.
837 For example, the following tests a class that invokes an RPC that is responded
868 // Execute the code that invokes the MyService.TheMethod RPC.
871 // Needed after ever RPC call to trigger forward of packets
944 to use for IPC between an RPC server and client process.
946 The server binary uses the system RPC server facade defined
952 The RPC channel for integration test RPCs.
956 Returns the global RPC client for integration test use.
960 Initializes logging and the global RPC client for integration testing. Starts
980 streaming RPC call object (``ClientWriter`` or ``ClientReaderWriter``) can be
982 streaming RPC call object (``ServerWriter`` or ``ServerReaderWriter``) can be
989 ``pw_rpc`` has to manage interactions among multiple RPC clients, servers,
997 allocation is enabled, this size does not affect how large RPC messages can be,
1025 Sends an encoded RPC packet. Returns OK if further packets may be sent,
1029 The RPC system's internal lock is held while this function is
1031 users of the RPC system.
1036 MUST NOT access any RPC endpoints (:cpp:class:`pw::rpc::Client`,
1041 in deadlock! RPC APIs may be used by other threads, just not within