event/BufferedSocket: pass std::span to OnSocketInput()
This commit is contained in:
@@ -385,7 +385,7 @@ HttpdClient::OnSocketReady(unsigned flags) noexcept
|
||||
}
|
||||
|
||||
BufferedSocket::InputResult
|
||||
HttpdClient::OnSocketInput(void *data, size_t length) noexcept
|
||||
HttpdClient::OnSocketInput(std::span<std::byte> src) noexcept
|
||||
{
|
||||
if (state == State::RESPONSE) {
|
||||
LogWarning(httpd_output_domain,
|
||||
@@ -394,8 +394,8 @@ HttpdClient::OnSocketInput(void *data, size_t length) noexcept
|
||||
return InputResult::CLOSED;
|
||||
}
|
||||
|
||||
char *line = (char *)data;
|
||||
char *newline = (char *)std::memchr(line, '\n', length);
|
||||
char *line = (char *)src.data();
|
||||
char *newline = (char *)std::memchr(line, '\n', src.size());
|
||||
if (newline == nullptr)
|
||||
return InputResult::MORE;
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ protected:
|
||||
/* virtual methods from class BufferedSocket */
|
||||
void OnSocketReady(unsigned flags) noexcept override;
|
||||
|
||||
InputResult OnSocketInput(void *data, size_t length) noexcept override;
|
||||
InputResult OnSocketInput(std::span<std::byte> src) noexcept override;
|
||||
void OnSocketError(std::exception_ptr ep) noexcept override;
|
||||
void OnSocketClosed() noexcept override;
|
||||
};
|
||||
|
||||
@@ -245,12 +245,12 @@ SnapcastClient::SendStreamTags(std::span<const std::byte> payload) noexcept
|
||||
}
|
||||
|
||||
BufferedSocket::InputResult
|
||||
SnapcastClient::OnSocketInput(void *data, size_t length) noexcept
|
||||
SnapcastClient::OnSocketInput(std::span<std::byte> src) noexcept
|
||||
{
|
||||
auto &base = *(SnapcastBase *)data;
|
||||
auto &base = *(SnapcastBase *)src.data();
|
||||
|
||||
if (length < sizeof(base) ||
|
||||
length < sizeof(base) + base.size)
|
||||
if (src.size() < sizeof(base) ||
|
||||
src.size() < sizeof(base) + base.size)
|
||||
return InputResult::MORE;
|
||||
|
||||
base.received = ToSnapcastTimestamp(GetEventLoop().SteadyNow());
|
||||
|
||||
@@ -79,7 +79,7 @@ private:
|
||||
|
||||
/* virtual methods from class BufferedSocket */
|
||||
void OnSocketReady(unsigned flags) noexcept override;
|
||||
InputResult OnSocketInput(void *data, size_t length) noexcept override;
|
||||
InputResult OnSocketInput(std::span<std::byte> src) noexcept override;
|
||||
void OnSocketError(std::exception_ptr ep) noexcept override;
|
||||
void OnSocketClosed() noexcept override;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user