9LinkStreamTransport::LinkStreamTransport(Stream& stream,
LinkBufferSize sendbuf,
16 transport_(sender_, sendbuf, recvbuf) {}
18void LinkStreamTransport::begin() { transport_.begin(); }
20LinkStream LinkStreamTransport::connectAsync(
21 std::function<
void()> disconnect_fn) {
22 return LinkStream(transport_.connect(std::move(disconnect_fn)));
25LinkStream LinkStreamTransport::connect(std::function<
void()> disconnect_fn) {
26 LinkStream link = connectAsync(std::move(disconnect_fn));
27 link.awaitConnected();
28 return LinkStream(std::move(link));
31LinkStream LinkStreamTransport::connectOrDie() {
33 []() { LOG(FATAL) <<
"LinkTransport: peer reset; rebooting"; });
36size_t LinkStreamTransport::tryReceive() {
37 return receiver_.tryReceive([
this](
const roo::byte* buf,
size_t len) {
38 transport_.processIncomingPacket(buf, len);
42size_t LinkStreamTransport::receive() {
43 return receiver_.receive([
this](
const roo::byte* buf,
size_t len) {
44 transport_.processIncomingPacket(buf, len);