15#ifndef ACTIONENGINE_NET_STREAM_H_ 
   16#define ACTIONENGINE_NET_STREAM_H_ 
   23#include "actionengine/data/serialization.h" 
   28using SendBytesT = std::function<absl::Status(Bytes bytes)>;
 
   29using ReceiveBytesT = std::function<std::optional<Bytes>()>;
 
  101      -> absl::StatusOr<std::optional<WireMessage>> = 0;
 
  121  virtual auto Accept() -> absl::Status = 0;
 
  141  virtual auto Start() -> absl::Status = 0;
 
  192  [[nodiscard]] virtual auto 
GetId() const -> std::
string = 0;
 
  204  [[nodiscard]] virtual auto 
GetImpl() const -> const 
void* { 
return nullptr; }
 
  216  template <
typename T>
 
  218    return static_cast<T*
>(
GetImpl());
 
 
 
Concurrency utilities for ActionEngine.
virtual auto Receive(absl::Duration timeout) -> absl::StatusOr< std::optional< WireMessage > >=0
virtual auto Start() -> absl::Status=0
auto GetImpl() const -> T *
Definition stream.h:217
virtual auto GetStatus() const -> absl::Status=0
virtual auto GetId() const -> std::string=0
virtual void HalfClose()=0
virtual auto Accept() -> absl::Status=0
virtual auto Send(WireMessage message) -> absl::Status=0
virtual auto GetImpl() const -> const void *
Definition stream.h:204
ActionEngine data structures used to implement actions and nodes (data streams).