16 #ifndef __VOM_PIPE_H__ 17 #define __VOM_PIPE_H__ 59 std::shared_ptr<pipe>
singular()
const;
64 static std::shared_ptr<pipe>
find(
const key_t& k);
69 std::shared_ptr<interface>
east();
76 std::shared_ptr<interface>
west();
78 virtual std::string
to_string(
void)
const;
80 void set_ends(
const handle_pair_t& p);
89 pipe_end(
const pipe& p, uint8_t
id);
92 virtual std::queue<cmd*>& mk_create_cmd(std::queue<cmd*>& cmds);
93 virtual std::queue<cmd*>& mk_delete_cmd(std::queue<cmd*>& cmds);
95 std::shared_ptr<pipe> m_pipe;
115 void handle_replay();
120 void show(std::ostream& os);
133 std::shared_ptr<interface> singular_i()
const;
138 virtual std::queue<cmd*>& mk_create_cmd(std::queue<cmd*>& cmds);
143 virtual std::queue<cmd*>& mk_delete_cmd(std::queue<cmd*>& cmds);
153 std::shared_ptr<interface> m_ends[2];
const std::string key_t
In the opflex world each entity is known by a URI which can be converted into a string.
pipe(uint32_t instance, admin_state_t state)
Construct a new object matching the desried state.
virtual std::string to_string(void) const
convert to string format for debug purposes
std::shared_ptr< interface > east()
The interface that is the east end of the pipe.
The admin state of the interface.
A representation of an interface in VPP.
Class definition for listeners to OM events.
inspect command handler Handler
void event_handler(void *tls_async)
dependency_t
There needs to be a strict order in which object types are read from VPP (at boot time) and replayed ...
std::pair< handle_t, handle_t > handle_pair_t
The VPP Object Model (VOM) library.
std::shared_ptr< pipe > singular() const
Return the matching 'singular instance' of the sub-interface.
bool operator==(const pipe &s) const
comparison operator - for UT
std::shared_ptr< interface > west()
The interface that is the west end of the pipe.
void set_ends(const handle_pair_t &p)
vl_api_dhcp_client_state_t state
static std::shared_ptr< pipe > find(const key_t &k)
Find a subinterface from its key.
const key_t & key() const
Return the interface type.
std::string key_t
The key for interface's key.