#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "chrome/test/chromedriver/net/pipe_connection_posix.h"
#include <memory>
#include <string>
#include "base/containers/span.h"
#include "base/json/json_reader.h"
#include "base/logging.h"
#include "base/memory/scoped_refptr.h"
#include "base/message_loop/message_pump_type.h"
#include "base/numerics/safe_conversions.h"
#include "base/threading/thread.h"
#include "base/values.h"
#include "chrome/test/chromedriver/net/command_id.h"
#include "chrome/test/chromedriver/net/pipe_reader_posix.h"
#include "chrome/test/chromedriver/net/pipe_writer_posix.h"
#include "chrome/test/chromedriver/net/sync_websocket.h"
#include "chrome/test/chromedriver/net/timeout.h"
#include "net/base/io_buffer.h"
#include "net/base/net_errors.h"
namespace {
const int kMinReadBufferCapacity = …;
void DetermineRecipient(const std::string& message,
bool* send_to_chromedriver) { … }
}
class PipeReader { … };
class PipeWriter { … };
PipeConnectionPosix::PipeConnectionPosix(base::ScopedPlatformFile read_file,
base::ScopedPlatformFile write_file)
: … { … }
PipeConnectionPosix::~PipeConnectionPosix() { … }
bool PipeConnectionPosix::IsConnected() { … }
bool PipeConnectionPosix::Connect(const GURL& url) { … }
bool PipeConnectionPosix::Send(const std::string& message) { … }
SyncWebSocket::StatusCode PipeConnectionPosix::ReceiveNextMessage(
std::string* message,
const Timeout& timeout) { … }
bool PipeConnectionPosix::HasNextMessage() { … }
void PipeConnectionPosix::SetNotificationCallback(
base::RepeatingClosure callback) { … }
void PipeConnectionPosix::Shutdown() { … }
bool PipeConnectionPosix::IsNull() const { … }
void PipeConnectionPosix::SendNotification() { … }