refactor
This commit is contained in:
parent
26897c256b
commit
43bf3c0cb2
@ -69,21 +69,21 @@ private:
|
|||||||
|
|
||||||
void put_client(std::shared_ptr<client> &cli);
|
void put_client(std::shared_ptr<client> &cli);
|
||||||
|
|
||||||
[[nodiscard]] auto read_packet(client &cli, packet &response)
|
[[nodiscard]] auto read_packet(client &cli,
|
||||||
-> packet::error_type;
|
packet &response) const -> packet::error_type;
|
||||||
|
|
||||||
void resolve();
|
void resolve();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
[[nodiscard]] auto send(std::string_view method, std::uint32_t &service_flags)
|
[[nodiscard]] auto send(std::string_view method,
|
||||||
-> packet::error_type;
|
std::uint32_t &service_flags) -> packet::error_type;
|
||||||
|
|
||||||
[[nodiscard]] auto send(std::string_view method, packet &request,
|
[[nodiscard]] auto send(std::string_view method, packet &request,
|
||||||
std::uint32_t &service_flags) -> packet::error_type;
|
std::uint32_t &service_flags) -> packet::error_type;
|
||||||
|
|
||||||
[[nodiscard]] auto send(std::string_view method, packet &request,
|
[[nodiscard]] auto send(std::string_view method, packet &request,
|
||||||
packet &response, std::uint32_t &service_flags)
|
packet &response,
|
||||||
-> packet::error_type;
|
std::uint32_t &service_flags) -> packet::error_type;
|
||||||
};
|
};
|
||||||
} // namespace repertory
|
} // namespace repertory
|
||||||
|
|
||||||
|
@ -113,14 +113,14 @@ void packet_client::put_client(std::shared_ptr<client> &cli) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto packet_client::read_packet(client &cli,
|
auto packet_client::read_packet(client &cli,
|
||||||
packet &response) -> packet::error_type {
|
packet &response) const -> packet::error_type {
|
||||||
data_buffer buffer(sizeof(std::uint32_t));
|
data_buffer buffer(sizeof(std::uint32_t));
|
||||||
const auto read_buffer = [&]() {
|
const auto read_buffer = [&]() {
|
||||||
std::uint32_t offset{};
|
std::uint32_t offset{};
|
||||||
while (offset < buffer.size()) {
|
while (offset < buffer.size()) {
|
||||||
auto bytes_read = boost::asio::read(
|
auto bytes_read = boost::asio::read(
|
||||||
cli.socket,
|
cli.socket,
|
||||||
boost::asio::buffer(&buffer[offset], buffer.size() - offset));
|
boost::asio::buffer(&buffer.at(offset), buffer.size() - offset));
|
||||||
if (bytes_read <= 0) {
|
if (bytes_read <= 0) {
|
||||||
throw std::runtime_error("read failed|" + std::to_string(bytes_read));
|
throw std::runtime_error("read failed|" + std::to_string(bytes_read));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user