Revised OpenFlow Library  v0.6.0dev
 All Classes Files Functions Variables Friends Groups Pages
Public Member Functions | Friends | List of all members
rofl::crofchan Class Reference

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< cauxidget_conn_index () const
 
crofconnadd_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.
 
crofconnadd_conn (const cauxid &aux_id, crofconn *conn)
 Add a new connection with an existing crofconn instance obtained from a listening socket.
 
crofconnset_conn (const cauxid &aux_id)
 
const crofconnget_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
 
- Public Member Functions inherited from rofl::ciosrv
 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.
 
ciosrvoperator= (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 Public Member Functions inherited from rofl::crofconn_env
static crofconn_envset_env (crofconn_env *env)
 
static bool has_env (crofconn_env *env)
 
- Protected Member Functions inherited from rofl::ciosrv
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::ctimeridregister_timer (int opaque, const rofl::ctimespec &timespec)
 Installs a new timer to fire in t seconds. More...
 
const rofl::ctimeridreset_timer (const rofl::ctimerid &timer_id, const rofl::ctimespec &timespec)
 Resets a running timer of type opaque. More...
 
ctimeridrestart_timer (rofl::ctimerid &timer_id, int opaque, const rofl::ctimespec &timespec)
 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.
 

Detailed Description

An OpenFlow control channel grouping multiple control connections.

Inheritance diagram for rofl::crofchan:
rofl::ciosrv rofl::crofconn_env rofl::ctimer_env

The documentation for this class was generated from the following files: