pw_span: Switch from pw::span to std::span Replace pw::span with std::span and "pw_span/span.h" with <span> throughout the codebase. Change-Id: Ib1fa873168b6093794e861611d750fcad6285d6c Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/12801 Commit-Queue: Wyatt Hepler <hepler@google.com> Reviewed-by: Rob Mohr <mohrr@google.com> Reviewed-by: Keir Mierle <keir@google.com>
diff --git a/pw_rpc/base_server_writer.cc b/pw_rpc/base_server_writer.cc index 4fa1f1f..1e23fc8 100644 --- a/pw_rpc/base_server_writer.cc +++ b/pw_rpc/base_server_writer.cc
@@ -47,7 +47,7 @@ state_ = kClosed; } -span<std::byte> BaseServerWriter::AcquirePayloadBuffer() { +std::span<std::byte> BaseServerWriter::AcquirePayloadBuffer() { if (!open()) { return {}; } @@ -56,14 +56,15 @@ return response_.payload(packet()); } -Status BaseServerWriter::ReleasePayloadBuffer(span<const std::byte> payload) { +Status BaseServerWriter::ReleasePayloadBuffer( + std::span<const std::byte> payload) { if (!open()) { return Status::FAILED_PRECONDITION; } return call_.channel().Send(response_, packet(payload)); } -Packet BaseServerWriter::packet(span<const std::byte> payload) const { +Packet BaseServerWriter::packet(std::span<const std::byte> payload) const { return Packet(PacketType::RPC, call_.channel().id(), call_.service().id(),
diff --git a/pw_rpc/base_server_writer_test.cc b/pw_rpc/base_server_writer_test.cc index 8c1b914..b10620e 100644 --- a/pw_rpc/base_server_writer_test.cc +++ b/pw_rpc/base_server_writer_test.cc
@@ -28,7 +28,7 @@ class TestService : public internal::Service { public: constexpr TestService(uint32_t id) - : Service(id, span(&method, 1)), method(8) {} + : Service(id, std::span(&method, 1)), method(8) {} internal::Method method; }; @@ -62,8 +62,8 @@ constexpr FakeServerWriter() = default; - Status Write(span<const byte> response) { - span buffer = AcquirePayloadBuffer(); + Status Write(std::span<const byte> response) { + std::span buffer = AcquirePayloadBuffer(); std::memcpy(buffer.data(), response.data(), std::min(buffer.size(), response.size()));
diff --git a/pw_rpc/channel.cc b/pw_rpc/channel.cc index 5747577..b34ebf2 100644 --- a/pw_rpc/channel.cc +++ b/pw_rpc/channel.cc
@@ -21,10 +21,10 @@ using std::byte; -span<byte> Channel::OutputBuffer::payload(const Packet& packet) const { +std::span<byte> Channel::OutputBuffer::payload(const Packet& packet) const { const size_t reserved_size = packet.MinEncodedSizeBytes(); return reserved_size <= buffer_.size() ? buffer_.subspan(reserved_size) - : span<byte>(); + : std::span<byte>(); } Status Channel::Send(OutputBuffer& buffer, const internal::Packet& packet) {
diff --git a/pw_rpc/channel_test.cc b/pw_rpc/channel_test.cc index 5f195af..b63535b 100644 --- a/pw_rpc/channel_test.cc +++ b/pw_rpc/channel_test.cc
@@ -27,7 +27,7 @@ class NameTester : public ChannelOutput { public: NameTester(const char* name) : ChannelOutput(name) {} - span<std::byte> AcquireBuffer() override { return {}; } + std::span<std::byte> AcquireBuffer() override { return {}; } void SendAndReleaseBuffer(size_t) override {} }; @@ -67,7 +67,7 @@ internal::Channel channel(100, &output); Channel::OutputBuffer output_buffer(channel.AcquireBuffer()); - const span payload = output_buffer.payload(kTestPacket); + const std::span payload = output_buffer.payload(kTestPacket); EXPECT_EQ(payload.size(), output.buffer().size() - kReservedSize); EXPECT_EQ(output.buffer().data() + kReservedSize, payload.data()); @@ -93,7 +93,7 @@ internal::Channel channel(100, &output); Channel::OutputBuffer output_buffer = channel.AcquireBuffer(); - const span payload = output_buffer.payload(kTestPacket); + const std::span payload = output_buffer.payload(kTestPacket); EXPECT_EQ(payload.size(), output.buffer().size() - kReservedSize); EXPECT_EQ(output.buffer().data() + kReservedSize, payload.data());
diff --git a/pw_rpc/nanopb/method.cc b/pw_rpc/nanopb/method.cc index 7ed0522..3d91070 100644 --- a/pw_rpc/nanopb/method.cc +++ b/pw_rpc/nanopb/method.cc
@@ -37,7 +37,7 @@ using std::byte; -Status Method::DecodeRequest(span<const byte> buffer, +Status Method::DecodeRequest(std::span<const byte> buffer, void* proto_struct) const { auto input = pb_istream_from_buffer( reinterpret_cast<const pb_byte_t*>(buffer.data()), buffer.size()); @@ -47,7 +47,7 @@ } StatusWithSize Method::EncodeResponse(const void* proto_struct, - span<byte> buffer) const { + std::span<byte> buffer) const { auto output = pb_ostream_from_buffer( reinterpret_cast<pb_byte_t*>(buffer.data()), buffer.size()); if (pb_encode(&output, static_cast<Fields>(response_fields_), proto_struct)) { @@ -57,8 +57,8 @@ } StatusWithSize Method::CallUnary(ServerCall& call, - span<const byte> request_buffer, - span<byte> response_buffer, + std::span<const byte> request_buffer, + std::span<byte> response_buffer, void* request_struct, void* response_struct) const { Status status = DecodeRequest(request_buffer, request_struct); @@ -76,7 +76,7 @@ } StatusWithSize Method::CallServerStreaming(ServerCall& call, - span<const byte> request_buffer, + std::span<const byte> request_buffer, void* request_struct) const { Status status = DecodeRequest(request_buffer, request_struct); if (!status.ok()) {
diff --git a/pw_rpc/nanopb/method_test.cc b/pw_rpc/nanopb/method_test.cc index 6d82f2a..80fd216 100644 --- a/pw_rpc/nanopb/method_test.cc +++ b/pw_rpc/nanopb/method_test.cc
@@ -36,14 +36,15 @@ #define _ENCODE_PB_IMPL(proto, init, result, unique) \ std::array<pb_byte_t, 2 * sizeof(proto)> _pb_buffer_##unique{}; \ - const span result = \ + const std::span result = \ EncodeProtobuf<proto, proto##_fields>(proto init, _pb_buffer_##unique) template <typename T, auto fields> -span<const byte> EncodeProtobuf(const T& protobuf, span<pb_byte_t> buffer) { +std::span<const byte> EncodeProtobuf(const T& protobuf, + std::span<pb_byte_t> buffer) { auto output = pb_ostream_from_buffer(buffer.data(), buffer.size()); EXPECT_TRUE(pb_encode(&output, fields, &protobuf)); - return as_bytes(buffer.first(output.bytes_written)); + return std::as_bytes(buffer.first(output.bytes_written)); } class FakeGeneratedService : public Service {
diff --git a/pw_rpc/nanopb/public_overrides/pw_rpc/internal/method.h b/pw_rpc/nanopb/public_overrides/pw_rpc/internal/method.h index f50a997..19f1497 100644 --- a/pw_rpc/nanopb/public_overrides/pw_rpc/internal/method.h +++ b/pw_rpc/nanopb/public_overrides/pw_rpc/internal/method.h
@@ -16,11 +16,11 @@ #include <algorithm> #include <cstddef> #include <cstdint> +#include <span> #include "pw_rpc/internal/base_method.h" #include "pw_rpc/internal/base_server_writer.h" #include "pw_rpc/server_context.h" -#include "pw_span/span.h" #include "pw_status/status.h" #include "pw_status/status_with_size.h" @@ -137,17 +137,18 @@ // calls the invoker function, which encodes and decodes the request and // response (if any) and calls the user-defined RPC function. StatusWithSize Invoke(ServerCall& call, - span<const std::byte> request, - span<std::byte> payload_buffer) const { + std::span<const std::byte> request, + std::span<std::byte> payload_buffer) const { return invoker_(*this, call, request, payload_buffer); } // Decodes a request protobuf with Nanopb to the provided buffer. - Status DecodeRequest(span<const std::byte> buffer, void* proto_struct) const; + Status DecodeRequest(std::span<const std::byte> buffer, + void* proto_struct) const; // Encodes a response protobuf with Nanopb to the provided buffer. StatusWithSize EncodeResponse(const void* proto_struct, - span<std::byte> buffer) const; + std::span<std::byte> buffer) const; private: // Generic version of the unary RPC function signature: @@ -187,8 +188,8 @@ // returns the number of bytes written to the response buffer, if any. using Invoker = StatusWithSize (&)(const Method&, ServerCall&, - span<const std::byte>, - span<std::byte>); + std::span<const std::byte>, + std::span<std::byte>); constexpr Method(Function function, Invoker invoker, @@ -202,13 +203,13 @@ response_fields_(response) {} StatusWithSize CallUnary(ServerCall& call, - span<const std::byte> request_buffer, - span<std::byte> response_buffer, + std::span<const std::byte> request_buffer, + std::span<std::byte> response_buffer, void* request_struct, void* response_struct) const; StatusWithSize CallServerStreaming(ServerCall& call, - span<const std::byte> request_buffer, + std::span<const std::byte> request_buffer, void* request_struct) const; // TODO(hepler): Add CallClientStreaming and CallBidiStreaming @@ -219,8 +220,8 @@ template <size_t request_size, size_t response_size> static StatusWithSize UnaryInvoker(const Method& method, ServerCall& call, - span<const std::byte> request_buffer, - span<std::byte> response_buffer) { + std::span<const std::byte> request_buffer, + std::span<std::byte> response_buffer) { std::aligned_storage_t<request_size, alignof(std::max_align_t)> request_struct{}; std::aligned_storage_t<response_size, alignof(std::max_align_t)> @@ -240,8 +241,8 @@ static StatusWithSize ServerStreamingInvoker( const Method& method, ServerCall& call, - span<const std::byte> request_buffer, - span<std::byte> /* payload not used */) { + std::span<const std::byte> request_buffer, + std::span<std::byte> /* payload not used */) { std::aligned_storage_t<request_size, alignof(std::max_align_t)> request_struct{}; @@ -264,7 +265,7 @@ template <typename T> Status ServerWriter<T>::Write(const T& response) { - span<std::byte> buffer = AcquirePayloadBuffer(); + std::span<std::byte> buffer = AcquirePayloadBuffer(); if (auto result = method().EncodeResponse(&response, buffer); result.ok()) { return ReleasePayloadBuffer(buffer.first(result.size()));
diff --git a/pw_rpc/packet.cc b/pw_rpc/packet.cc index b6e6701..9a7e34f 100644 --- a/pw_rpc/packet.cc +++ b/pw_rpc/packet.cc
@@ -20,12 +20,12 @@ using std::byte; -Packet Packet::FromBuffer(span<const byte> data) { +Packet Packet::FromBuffer(std::span<const byte> data) { PacketType type = PacketType::RPC; uint32_t channel_id = 0; uint32_t service_id = 0; uint32_t method_id = 0; - span<const byte> payload; + std::span<const byte> payload; Status status; uint32_t value; @@ -68,7 +68,7 @@ return Packet(type, channel_id, service_id, method_id, payload, status); } -StatusWithSize Packet::Encode(span<byte> buffer) const { +StatusWithSize Packet::Encode(std::span<byte> buffer) const { pw::protobuf::NestedEncoder encoder(buffer); RpcPacket::Encoder rpc_packet(&encoder); @@ -81,7 +81,7 @@ rpc_packet.WriteMethodId(method_id_); rpc_packet.WriteStatus(status_); - span<const byte> proto; + std::span<const byte> proto; if (Status status = encoder.Encode(&proto); !status.ok()) { return StatusWithSize(status, 0); }
diff --git a/pw_rpc/packet_test.cc b/pw_rpc/packet_test.cc index a8d96a7..87d5c83 100644 --- a/pw_rpc/packet_test.cc +++ b/pw_rpc/packet_test.cc
@@ -91,7 +91,7 @@ StatusWithSize sws = packet.Encode(buffer); ASSERT_EQ(sws.status(), Status::OK); - span<byte> packet_data(buffer, sws.size()); + std::span<byte> packet_data(buffer, sws.size()); Packet decoded = Packet::FromBuffer(packet_data); EXPECT_EQ(decoded.type(), packet.type());
diff --git a/pw_rpc/public/pw_rpc/channel.h b/pw_rpc/public/pw_rpc/channel.h index 2602bbe..ecae939 100644 --- a/pw_rpc/public/pw_rpc/channel.h +++ b/pw_rpc/public/pw_rpc/channel.h
@@ -14,9 +14,9 @@ #pragma once #include <cstdint> +#include <span> #include "pw_assert/assert.h" -#include "pw_span/span.h" #include "pw_status/status.h" namespace pw::rpc { @@ -37,7 +37,7 @@ constexpr const char* name() const { return name_; } // Acquire a buffer into which to write an outgoing RPC packet. - virtual span<std::byte> AcquireBuffer() = 0; + virtual std::span<std::byte> AcquireBuffer() = 0; // Sends the contents of the buffer from AcquireBuffer(). virtual void SendAndReleaseBuffer(size_t size) = 0;
diff --git a/pw_rpc/public/pw_rpc/internal/base_method.h b/pw_rpc/public/pw_rpc/internal/base_method.h index 07db616..4b3fdae 100644 --- a/pw_rpc/public/pw_rpc/internal/base_method.h +++ b/pw_rpc/public/pw_rpc/internal/base_method.h
@@ -27,8 +27,8 @@ // Implementations must provide the Invoke method, which the Server calls: // // StatusWithSize Invoke(ServerCall& call, - // span<const std::byte> request, - // span<std::byte> payload_buffer) const; + // std::span<const std::byte> request, + // std::span<std::byte> payload_buffer) const; protected: constexpr BaseMethod(uint32_t id) : id_(id) {}
diff --git a/pw_rpc/public/pw_rpc/internal/base_server_writer.h b/pw_rpc/public/pw_rpc/internal/base_server_writer.h index 413293c..47c6858 100644 --- a/pw_rpc/public/pw_rpc/internal/base_server_writer.h +++ b/pw_rpc/public/pw_rpc/internal/base_server_writer.h
@@ -14,12 +14,12 @@ #pragma once #include <cstddef> +#include <span> #include <utility> #include "pw_containers/intrusive_list.h" #include "pw_rpc/internal/call.h" #include "pw_rpc/internal/channel.h" -#include "pw_span/span.h" namespace pw::rpc::internal { @@ -54,12 +54,12 @@ const Method& method() const { return call_.method(); } - span<std::byte> AcquirePayloadBuffer(); + std::span<std::byte> AcquirePayloadBuffer(); - Status ReleasePayloadBuffer(span<const std::byte> payload); + Status ReleasePayloadBuffer(std::span<const std::byte> payload); private: - Packet packet(span<const std::byte> payload = {}) const; + Packet packet(std::span<const std::byte> payload = {}) const; ServerCall call_; Channel::OutputBuffer response_;
diff --git a/pw_rpc/public/pw_rpc/internal/channel.h b/pw_rpc/public/pw_rpc/internal/channel.h index b3f01f7..b42c8a0 100644 --- a/pw_rpc/public/pw_rpc/internal/channel.h +++ b/pw_rpc/public/pw_rpc/internal/channel.h
@@ -13,8 +13,9 @@ // the License. #pragma once +#include <span> + #include "pw_rpc/channel.h" -#include "pw_span/span.h" #include "pw_status/status.h" namespace pw::rpc::internal { @@ -48,14 +49,15 @@ } // Returns a portion of this OutputBuffer to use as the packet payload. - span<std::byte> payload(const Packet& packet) const; + std::span<std::byte> payload(const Packet& packet) const; private: friend class Channel; - explicit constexpr OutputBuffer(span<std::byte> buffer) : buffer_(buffer) {} + explicit constexpr OutputBuffer(std::span<std::byte> buffer) + : buffer_(buffer) {} - span<std::byte> buffer_; + std::span<std::byte> buffer_; }; // Acquires a buffer for the packet.
diff --git a/pw_rpc/public/pw_rpc/internal/packet.h b/pw_rpc/public/pw_rpc/internal/packet.h index 3f5e87d..79b18f6 100644 --- a/pw_rpc/public/pw_rpc/internal/packet.h +++ b/pw_rpc/public/pw_rpc/internal/packet.h
@@ -15,9 +15,9 @@ #include <cstddef> #include <cstdint> +#include <span> #include "pw_rpc_protos/packet.pwpb.h" -#include "pw_span/span.h" #include "pw_status/status_with_size.h" namespace pw::rpc::internal { @@ -28,13 +28,13 @@ // Parses a packet from a protobuf message. Missing or malformed fields take // their default values. - static Packet FromBuffer(span<const std::byte> data); + static Packet FromBuffer(std::span<const std::byte> data); constexpr Packet(PacketType type, uint32_t channel_id = kUnassignedId, uint32_t service_id = kUnassignedId, uint32_t method_id = kUnassignedId, - span<const std::byte> payload = {}, + std::span<const std::byte> payload = {}, Status status = Status::OK) : type_(type), channel_id_(channel_id), @@ -44,7 +44,7 @@ status_(status) {} // Encodes the packet into its wire format. Returns the encoded size. - StatusWithSize Encode(span<std::byte> buffer) const; + StatusWithSize Encode(std::span<std::byte> buffer) const; // Determines the space required to encode the packet proto fields for a // response. This may be used to split the buffer into reserved space and @@ -58,14 +58,14 @@ uint32_t channel_id() const { return channel_id_; } uint32_t service_id() const { return service_id_; } uint32_t method_id() const { return method_id_; } - const span<const std::byte>& payload() const { return payload_; } + const std::span<const std::byte>& payload() const { return payload_; } Status status() const { return status_; } void set_type(PacketType type) { type_ = type; } void set_channel_id(uint32_t channel_id) { channel_id_ = channel_id; } void set_service_id(uint32_t service_id) { service_id_ = service_id; } void set_method_id(uint32_t method_id) { method_id_ = method_id; } - void set_payload(span<const std::byte> payload) { payload_ = payload; } + void set_payload(std::span<const std::byte> payload) { payload_ = payload; } void set_status(Status status) { status_ = status; } private: @@ -73,7 +73,7 @@ uint32_t channel_id_; uint32_t service_id_; uint32_t method_id_; - span<const std::byte> payload_; + std::span<const std::byte> payload_; Status status_; };
diff --git a/pw_rpc/public/pw_rpc/internal/service.h b/pw_rpc/public/pw_rpc/internal/service.h index 7e5a96f..9a82b57 100644 --- a/pw_rpc/public/pw_rpc/internal/service.h +++ b/pw_rpc/public/pw_rpc/internal/service.h
@@ -14,11 +14,11 @@ #pragma once #include <cstdint> +#include <span> #include <utility> #include "pw_containers/intrusive_list.h" #include "pw_rpc/internal/method.h" -#include "pw_span/span.h" namespace pw::rpc::internal { @@ -40,7 +40,7 @@ friend class ServiceRegistry; uint32_t id_; - span<const Method> methods_; + std::span<const Method> methods_; }; } // namespace pw::rpc::internal
diff --git a/pw_rpc/public/pw_rpc/server.h b/pw_rpc/public/pw_rpc/server.h index 1232a75..c8b0476 100644 --- a/pw_rpc/public/pw_rpc/server.h +++ b/pw_rpc/public/pw_rpc/server.h
@@ -14,6 +14,7 @@ #pragma once #include <cstddef> +#include <span> #include "pw_containers/intrusive_list.h" #include "pw_rpc/channel.h" @@ -25,7 +26,7 @@ class Server { public: - constexpr Server(span<Channel> channels) + constexpr Server(std::span<Channel> channels) : channels_(static_cast<internal::Channel*>(channels.data()), channels.size()) {} @@ -36,7 +37,8 @@ services_.push_front(service); } - void ProcessPacket(span<const std::byte> packet, ChannelOutput& interface); + void ProcessPacket(std::span<const std::byte> packet, + ChannelOutput& interface); constexpr size_t channel_count() const { return channels_.size(); } @@ -47,12 +49,12 @@ void InvokeMethod(const internal::Packet& request, Channel& channel, internal::Packet& response, - span<std::byte> buffer); + std::span<std::byte> buffer); internal::Channel* FindChannel(uint32_t id) const; internal::Channel* AssignChannel(uint32_t id, ChannelOutput& interface); - span<internal::Channel> channels_; + std::span<internal::Channel> channels_; IntrusiveList<internal::Service> services_; IntrusiveList<internal::BaseServerWriter> writers_; };
diff --git a/pw_rpc/pw_rpc_private/test_utils.h b/pw_rpc/pw_rpc_private/test_utils.h index 6dcd8a6..8ad045b 100644 --- a/pw_rpc/pw_rpc_private/test_utils.h +++ b/pw_rpc/pw_rpc_private/test_utils.h
@@ -16,12 +16,12 @@ #include <array> #include <cstddef> #include <cstdint> +#include <span> #include "pw_rpc/internal/channel.h" #include "pw_rpc/internal/method.h" #include "pw_rpc/internal/packet.h" #include "pw_rpc/internal/server.h" -#include "pw_span/span.h" namespace pw::rpc { @@ -31,19 +31,19 @@ constexpr TestOutput(const char* name = "TestOutput") : ChannelOutput(name), sent_packet_{} {} - span<std::byte> AcquireBuffer() override { return buffer_; } + std::span<std::byte> AcquireBuffer() override { return buffer_; } void SendAndReleaseBuffer(size_t size) override { - sent_packet_ = span(buffer_.data(), size); + sent_packet_ = std::span(buffer_.data(), size); } - span<const std::byte> buffer() const { return buffer_; } + std::span<const std::byte> buffer() const { return buffer_; } - const span<const std::byte>& sent_packet() const { return sent_packet_; } + const std::span<const std::byte>& sent_packet() const { return sent_packet_; } private: std::array<std::byte, buffer_size> buffer_; - span<const std::byte> sent_packet_; + std::span<const std::byte> sent_packet_; }; // Version of the internal::Server with extra methods exposed for testing. @@ -63,7 +63,7 @@ ServerContextForTest(const internal::Method& method) : channel_(Channel::Create<kChannelId>(&output_)), - server_(span(&channel_, 1)), + server_(std::span(&channel_, 1)), service_(kServiceId), context_(static_cast<internal::Server&>(server_), static_cast<internal::Channel&>(channel_), @@ -75,7 +75,7 @@ ServerContextForTest() : ServerContextForTest(service_.method) {} // Creates a packet for this context's channel, service, and method. - internal::Packet packet(span<const std::byte> payload) const { + internal::Packet packet(std::span<const std::byte> payload) const { return internal::Packet(internal::PacketType::RPC, kChannelId, kServiceId,
diff --git a/pw_rpc/server.cc b/pw_rpc/server.cc index 11857c1..7f20a36 100644 --- a/pw_rpc/server.cc +++ b/pw_rpc/server.cc
@@ -29,7 +29,8 @@ using internal::Packet; using internal::PacketType; -void Server::ProcessPacket(span<const byte> data, ChannelOutput& interface) { +void Server::ProcessPacket(std::span<const byte> data, + ChannelOutput& interface) { Packet packet = Packet::FromBuffer(data); if (packet.is_control()) { // TODO(frolv): Handle control packets. @@ -73,7 +74,7 @@ void Server::InvokeMethod(const Packet& request, Channel& channel, internal::Packet& response, - span<std::byte> payload_buffer) { + std::span<std::byte> payload_buffer) { auto service = std::find_if(services_.begin(), services_.end(), [&](auto& s) { return s.id() == request.service_id(); });
diff --git a/pw_rpc/server_test.cc b/pw_rpc/server_test.cc index 6b5905d..7082772 100644 --- a/pw_rpc/server_test.cc +++ b/pw_rpc/server_test.cc
@@ -76,15 +76,16 @@ Server server_; TestService service_; - span<const byte> EncodeRequest(PacketType type, - uint32_t channel_id, - uint32_t service_id, - uint32_t method_id, - span<const byte> payload = kDefaultPayload) { + std::span<const byte> EncodeRequest( + PacketType type, + uint32_t channel_id, + uint32_t service_id, + uint32_t method_id, + std::span<const byte> payload = kDefaultPayload) { auto sws = Packet(type, channel_id, service_id, method_id, payload) .Encode(request_buffer_); EXPECT_EQ(Status::OK, sws.status()); - return span(request_buffer_, sws.size()); + return std::span(request_buffer_, sws.size()); } private:
diff --git a/pw_rpc/test_impl/public_overrides/pw_rpc/internal/method.h b/pw_rpc/test_impl/public_overrides/pw_rpc/internal/method.h index 6c3beeb..297f14e 100644 --- a/pw_rpc/test_impl/public_overrides/pw_rpc/internal/method.h +++ b/pw_rpc/test_impl/public_overrides/pw_rpc/internal/method.h
@@ -15,10 +15,10 @@ #include <cstdint> #include <cstring> +#include <span> #include "pw_rpc/internal/base_method.h" #include "pw_rpc/server_context.h" -#include "pw_span/span.h" #include "pw_status/status_with_size.h" namespace pw::rpc::internal { @@ -30,8 +30,8 @@ constexpr Method(uint32_t id) : BaseMethod(id), last_channel_id_(0) {} StatusWithSize Invoke(ServerCall& call, - span<const std::byte> request, - span<std::byte> payload_buffer) const { + std::span<const std::byte> request, + std::span<std::byte> payload_buffer) const { last_channel_id_ = call.channel().id(); last_request_ = request; last_payload_buffer_ = payload_buffer; @@ -43,10 +43,12 @@ } uint32_t last_channel_id() const { return last_channel_id_; } - span<const std::byte> last_request() const { return last_request_; } - span<std::byte> last_payload_buffer() const { return last_payload_buffer_; } + std::span<const std::byte> last_request() const { return last_request_; } + std::span<std::byte> last_payload_buffer() const { + return last_payload_buffer_; + } - void set_response(span<const std::byte> payload) { response_ = payload; } + void set_response(std::span<const std::byte> payload) { response_ = payload; } void set_status(Status status) { response_status_ = status; } private: @@ -54,10 +56,10 @@ // The Method class is used exclusively in tests. Having these members mutable // allows tests to verify that the Method is invoked correctly. mutable uint32_t last_channel_id_; - mutable span<const std::byte> last_request_; - mutable span<std::byte> last_payload_buffer_; + mutable std::span<const std::byte> last_request_; + mutable std::span<std::byte> last_payload_buffer_; - span<const std::byte> response_; + std::span<const std::byte> response_; Status response_status_; };