18#include "pw_rpc/internal/packet.h"
19#include "pw_rpc/internal/packet.pwpb.h"
20#include "pw_rpc/method_id.h"
21#include "pw_rpc/service_id.h"
22#include "pw_span/span.h"
23#include "pw_status/status_with_size.h"
37 constexpr uint32_t channel_id()
const {
return channel_id_; }
38 constexpr ServiceId service_id()
const {
return service_id_; }
39 constexpr MethodId method_id()
const {
return method_id_; }
40 constexpr bool destination_is_client()
const {
41 return destination_ == internal::Packet::kClient;
43 constexpr bool destination_is_server()
const {
44 return destination_ == internal::Packet::kServer;
46 constexpr bool type_is_client_error()
const {
47 return type_ == internal::pwpb::PacketType::CLIENT_ERROR;
49 constexpr bool type_is_server_error()
const {
50 return type_ == internal::pwpb::PacketType::SERVER_ERROR;
57 constexpr explicit PacketMeta(
const internal::Packet packet)
58 : channel_id_(packet.channel_id()),
59 service_id_(internal::WrapServiceId(packet.service_id())),
60 method_id_(internal::WrapMethodId(packet.method_id())),
61 destination_(packet.destination()),
63 payload_(packet.payload()) {}
67 internal::Packet::Destination destination_;
68 internal::pwpb::PacketType type_;
Definition: method_id.h:32
Definition: service_id.h:35