buffer and io fixes
This commit is contained in:
parent
9329700e66
commit
2b096bba1f
|
@ -1,7 +1,5 @@
|
|||
#include "driver/io-unix.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include <sstream>
|
||||
|
||||
namespace gin {
|
||||
|
@ -211,8 +209,6 @@ Conveyor<Own<IoStream>> UnixNetworkAddress::connect() {
|
|||
return criticalError("Couldn't connect");
|
||||
}
|
||||
|
||||
std::cout << "connected" << std::endl;
|
||||
|
||||
return Conveyor<Own<IoStream>>{std::move(io_stream)};
|
||||
}
|
||||
|
||||
|
|
|
@ -350,7 +350,7 @@ public:
|
|||
::setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &value, sizeof(value));
|
||||
}
|
||||
int error = ::bind(fd, &address.generic, address_length);
|
||||
return error > 0;
|
||||
return error < 0;
|
||||
}
|
||||
|
||||
const struct ::sockaddr *getRaw() const { return &address.generic; }
|
||||
|
|
|
@ -250,6 +250,7 @@ size_t RingBuffer::readSegmentLength(size_t offset) const {
|
|||
|
||||
void RingBuffer::readAdvance(size_t bytes) {
|
||||
size_t read_composite = readCompositeLength();
|
||||
|
||||
assert(bytes <= read_composite);
|
||||
bytes = std::min(bytes, read_composite);
|
||||
size_t advanced = read_position + bytes;
|
||||
|
|
|
@ -24,7 +24,7 @@ AsyncIoStream::AsyncIoStream(Own<IoStream> str)
|
|||
void AsyncIoStream::read(void *buffer, size_t min_length, size_t max_length) {
|
||||
GIN_ASSERT(buffer && max_length >= min_length && min_length > 0) { return; }
|
||||
|
||||
GIN_ASSERT(read_stepper.read_task.has_value()) { return; }
|
||||
GIN_ASSERT(!read_stepper.read_task.has_value()) { return; }
|
||||
|
||||
read_stepper.read_task =
|
||||
ReadTaskAndStepHelper::ReadIoTask{buffer, min_length, max_length, 0};
|
||||
|
@ -46,7 +46,7 @@ Conveyor<void> AsyncIoStream::onReadDisconnected() {
|
|||
void AsyncIoStream::write(const void *buffer, size_t length) {
|
||||
GIN_ASSERT(buffer && length > 0) { return; }
|
||||
|
||||
GIN_ASSERT(write_stepper.write_task.has_value()) { return; }
|
||||
GIN_ASSERT(!write_stepper.write_task.has_value()) { return; }
|
||||
|
||||
write_stepper.write_task =
|
||||
WriteTaskAndStepHelper::WriteIoTask{buffer, length, 0};
|
||||
|
|
Loading…
Reference in New Issue