util/PeakBuffer: return ConstBuffer<void>
This commit is contained in:
parent
f2a20a0a80
commit
1f523be72d
@ -60,15 +60,14 @@ FullyBufferedSocket::Flush()
|
||||
{
|
||||
assert(IsDefined());
|
||||
|
||||
size_t length;
|
||||
const void *data = output.Read(&length);
|
||||
if (data == nullptr) {
|
||||
const auto data = output.Read();
|
||||
if (data.IsNull()) {
|
||||
IdleMonitor::Cancel();
|
||||
CancelWrite();
|
||||
return true;
|
||||
}
|
||||
|
||||
auto nbytes = DirectWrite(data, length);
|
||||
auto nbytes = DirectWrite(data.data, data.size);
|
||||
if (gcc_unlikely(nbytes <= 0))
|
||||
return nbytes == 0;
|
||||
|
||||
|
@ -45,19 +45,21 @@ PeakBuffer::IsEmpty() const
|
||||
fifo_buffer_is_empty(peak_buffer));
|
||||
}
|
||||
|
||||
const void *
|
||||
PeakBuffer::Read(size_t *length_r) const
|
||||
ConstBuffer<void>
|
||||
PeakBuffer::Read() const
|
||||
{
|
||||
if (normal_buffer != nullptr) {
|
||||
const void *p = fifo_buffer_read(normal_buffer, length_r);
|
||||
size_t size;
|
||||
const void *p = fifo_buffer_read(normal_buffer, &size);
|
||||
if (p != nullptr)
|
||||
return p;
|
||||
return { p, size };
|
||||
}
|
||||
|
||||
if (peak_buffer != nullptr) {
|
||||
const void *p = fifo_buffer_read(peak_buffer, length_r);
|
||||
size_t size;
|
||||
const void *p = fifo_buffer_read(peak_buffer, &size);
|
||||
if (p != nullptr)
|
||||
return p;
|
||||
return { p, size };
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
|
@ -20,11 +20,13 @@
|
||||
#ifndef MPD_PEAK_BUFFER_HXX
|
||||
#define MPD_PEAK_BUFFER_HXX
|
||||
|
||||
#include "ConstBuffer.hxx"
|
||||
#include "Compiler.h"
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
struct fifo_buffer;
|
||||
template<typename T> struct ConstBuffer;
|
||||
|
||||
/**
|
||||
* A FIFO-like buffer that will allocate more memory on demand to
|
||||
@ -57,7 +59,9 @@ public:
|
||||
gcc_pure
|
||||
bool IsEmpty() const;
|
||||
|
||||
const void *Read(size_t *length_r) const;
|
||||
gcc_pure
|
||||
ConstBuffer<void> Read() const;
|
||||
|
||||
void Consume(size_t length);
|
||||
|
||||
bool Append(const void *data, size_t length);
|
||||
|
Loading…
Reference in New Issue
Block a user