An OpenFlow control channel grouping multiple control connections. More...
#include <crofchan.h>
Public Member Functions | |
crofchan (crofchan_env *env, rofl::openflow::cofhello_elem_versionbitmap const &versionbitmap) | |
bool | is_established () const |
uint8_t | get_version () const |
const rofl::openflow::cofhello_elem_versionbitmap & | get_versionbitmap () const |
void | close () |
unsigned int | send_message (const cauxid &aux_id, rofl::openflow::cofmsg *msg) |
cauxid | get_next_auxid () |
std::list< cauxid > | get_conn_index () const |
crofconn & | add_conn (const cauxid &aux_id, enum rofl::csocket::socket_type_t socket_type, cparams const &socket_params) |
Add a new connection while creating a new crofconn instance and do a socket connect. | |
crofconn & | add_conn (const cauxid &aux_id, crofconn *conn) |
Add a new connection with an existing crofconn instance obtained from a listening socket. | |
crofconn & | set_conn (const cauxid &aux_id) |
const crofconn & | get_conn (const cauxid &aux_id) const |
void | drop_conn (const cauxid &aux_id) |
bool | has_conn (const cauxid &aux_id) const |
std::string | str () const |
![]() | |
ciosrv (pthread_t tid=0) | |
Initializes all structures for this ciosrv object. | |
virtual | ~ciosrv () |
Deallocates resources for this ciosrv object. | |
ciosrv (const ciosrv &iosrv) | |
Initializes all structures for this ciosrv object. | |
ciosrv & | operator= (const ciosrv &iosrv) |
void | notify (const cevent &event) |
Sends a notification to this ciosrv instance. More... | |
pthread_t | get_thread_id () const |
Returns thread-id of local thread. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, crofchan const &chan) |
Additional Inherited Members | |
![]() | |
static crofconn_env & | set_env (crofconn_env *env) |
static bool | has_env (crofconn_env *env) |
![]() | |
ctimer | get_next_timer () |
virtual void | handle_event (const rofl::cevent &event) |
Handler for event notifications using cevent instances. More... | |
virtual void | handle_revent (int fd) |
Handler for read events on file descriptors. More... | |
virtual void | handle_wevent (int fd) |
Handler for write events on file descriptors. More... | |
virtual void | handle_xevent (int fd) |
Handler for exceptions on file descriptors. More... | |
void | register_filedesc_r (int fd) |
Registers a file descriptor for read events. More... | |
void | deregister_filedesc_r (int fd) |
Deregisters a file descriptor from read events. More... | |
void | register_filedesc_w (int fd) |
Registers a file descriptor for write events. More... | |
void | deregister_filedesc_w (int fd) |
Deregisters a file descriptor from write events. More... | |
const rofl::ctimerid & | register_timer (int opaque, const rofl::ctimespec ×pec) |
Installs a new timer to fire in t seconds. More... | |
const rofl::ctimerid & | reset_timer (const rofl::ctimerid &timer_id, const rofl::ctimespec ×pec) |
Resets a running timer of type opaque. More... | |
ctimerid & | restart_timer (rofl::ctimerid &timer_id, int opaque, const rofl::ctimespec ×pec) |
Resets an existing or creates a new timer. More... | |
bool | pending_timer (const rofl::ctimerid &timer_id) |
Checks for a pending timer of type opaque. More... | |
void | cancel_timer (const rofl::ctimerid &timer_id) |
Cancels a pending timer. More... | |
void | cancel_all_timers () |
Cancels all pending timers of this instance. | |
void | cancel_all_events () |
Cancels all pending events of this instance. | |
An OpenFlow control channel grouping multiple control connections.