#include "ipcz/driver_transport.h"
#include <cstddef>
#include <cstdint>
#include <cstring>
#include "ipcz/ipcz.h"
#include "ipcz/message.h"
#include "ipcz/node.h"
#include "third_party/abseil-cpp/absl/base/macros.h"
#include "third_party/abseil-cpp/absl/types/span.h"
#include "util/ref_counted.h"
namespace ipcz {
namespace {
IpczResult IPCZ_API NotifyTransport(IpczHandle listener,
const void* data,
size_t num_bytes,
const IpczDriverHandle* driver_handles,
size_t num_driver_handles,
IpczTransportActivityFlags flags,
const void* options) { … }
}
DriverTransport::DriverTransport(DriverObject transport)
: … { … }
DriverTransport::~DriverTransport() = default;
DriverTransport::Pair DriverTransport::CreatePair(
const IpczDriver& driver,
const DriverTransport* transport0,
const DriverTransport* transport1) { … }
IpczDriverHandle DriverTransport::Release() { … }
IpczResult DriverTransport::Activate() { … }
IpczResult DriverTransport::Deactivate() { … }
IpczResult DriverTransport::Transmit(Message& message) { … }
bool DriverTransport::Notify(const RawMessage& message) { … }
void DriverTransport::NotifyError() { … }
void DriverTransport::NotifyDeactivated() { … }
IpczResult DriverTransport::Close() { … }
}