11 #ifndef _GCOMM_TRANSPORT_HPP_
12 #define _GCOMM_TRANSPORT_HPP_
14 #include "gcomm/uuid.hpp"
16 #include "gcomm/protostack.hpp"
17 #include "gcomm/protonet.hpp"
39 virtual size_t mtu()
const = 0;
40 virtual const UUID& uuid()
const = 0;
41 virtual std::string local_addr()
const;
42 virtual std::string remote_addr()
const;
46 virtual void connect(
bool start_prim)
48 gu_throw_fatal <<
"connect(start_prim) not supported";
50 virtual void connect()
54 virtual void connect(
const gu::URI& uri)
56 gu_throw_fatal <<
"connect(URI) not supported";
59 virtual void close(
bool force =
false) = 0;
60 virtual void close(
const UUID& uuid)
62 gu_throw_error(ENOTSUP) <<
"close(UUID) not supported by "
66 virtual void listen();
67 virtual std::string listen_addr()
const
69 gu_throw_fatal <<
"not supported";
74 gu_throw_error(ENOTSUP) <<
"handle_accept() not supported by"
77 virtual void handle_connect()
79 gu_throw_error(ENOTSUP) <<
"handle_connect() not supported by"
85 virtual void handle_stable_view(
const View& view) { }
106 #endif // _GCOMM_TRANSPORT_HPP_
Definition: protostack.hpp:24
Definition: protonet.hpp:37
Transport interface.
Definition: transport.hpp:34
Definition: protolay.hpp:192
Protocol layer interface definitions.
Datagram container.
Definition: datagram.hpp:151