#pragma once #include namespace saw { /** */ namespace rmt { struct IoTcp {}; } template<> class remote_address final { private: public: remote_address() = default; }; /** * A device representing a remote server. Technically it's * a logical distinction and not a physical. */ template<> class remote final { private: ref net_; public: remote(network& net__): net_{net__} {} conveyor>> resolve_address(){ return heap>(); } error_or>> parse_address(){ return heap>(); } template error_or>> data_listen(const remote_address& addr){ return make_error(); } template conveyor>> data_connect(const remote_address& addr){ return make_error(); } }; }