#include "remoting/base/buffered_socket_writer.h"
#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "net/base/io_buffer.h"
#include "net/base/net_errors.h"
#include "net/socket/socket.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
namespace remoting {
namespace {
int WriteNetSocket(net::Socket* socket,
const scoped_refptr<net::IOBuffer>& buf,
int buf_len,
net::CompletionOnceCallback callback,
const net::NetworkTrafficAnnotationTag& traffic_annotation) { … }
}
struct BufferedSocketWriter::PendingPacket { … };
std::unique_ptr<BufferedSocketWriter> BufferedSocketWriter::CreateForSocket(
net::Socket* socket,
WriteFailedCallback write_failed_callback) { … }
BufferedSocketWriter::BufferedSocketWriter() { … }
BufferedSocketWriter::~BufferedSocketWriter() { … }
void BufferedSocketWriter::Start(const WriteCallback& write_callback,
WriteFailedCallback write_failed_callback) { … }
void BufferedSocketWriter::Write(
scoped_refptr<net::IOBufferWithSize> data,
base::OnceClosure done_task,
const net::NetworkTrafficAnnotationTag& traffic_annotation) { … }
void BufferedSocketWriter::DoWrite() { … }
void BufferedSocketWriter::HandleWriteResult(int result) { … }
void BufferedSocketWriter::OnWritten(int result) { … }
}