hamcast  Version 0.7
Namespaces | Classes | Typedefs | Enumerations | Functions
hamcast Namespace Reference

Namespaces

namespace  ipc
 
namespace  util
 

Classes

class  connection_to_middleware_failed
 
class  connection_to_middleware_lost
 
class  internal_interface_error
 
class  requirement_failed
 
struct  interface_property
 
class  intrusive_ptr
 
class  multicast_packet
 
class  multicast_socket
 
class  ref_counted
 
class  uri
 

Typedefs

typedef boost::uint32_t interface_id
 
typedef boost::uint32_t socket_id
 

Enumerations

enum  connection_error {
  no_config_file_found,
  no_running_middleware_found,
  socket_creation_failed,
  incompatible_middleware_found
}
 

Functions

std::vector< interface_propertyget_interfaces ()
 
std::vector< std::pair< uri,
boost::uint32_t > > 
group_set (interface_id iid)
 
std::vector< uriparent_set (interface_id iid, const uri &group)
 
std::vector< urineighbor_set (interface_id iid)
 
bool designated_host (interface_id iid, const uri &group)
 
void register_event_callback (const membership_event_callback &cb)
 

Detailed Description

This is the root namespace of hamcast.

The hamcast namespace contains all needed classes and functions to write HAMcast based applications.

Typedef Documentation

typedef boost::uint32_t hamcast::interface_id

Describes the ID of a hamcast multicast interface.

typedef boost::uint32_t hamcast::socket_id

Describes the ID of a HAMcast socket.

Function Documentation

bool hamcast::designated_host ( interface_id  iid,
const uri &  group 
)

Inquire whetever the host has the role of a designated forwarder resp. querier, or not.

Parameters
iidThe interface ID.
groupThe multicast group.
Returns
true if the host has the role of a designated forwarder for the multicast group group on the interface iid; otherwise false.
std::vector<interface_property> hamcast::get_interfaces ( )

Get all known multicast interfaces.

Returns
All known interfaces (meta informations and ID).
std::vector<std::pair<uri, boost::uint32_t> > hamcast::group_set ( interface_id  iid)

Returns all registered multicast groups on a given interface.

All groups are given as a pair of an uint32_t and an uri. The uint32_t is 0 if the uri is registered in listener state, 1 if the uri is registered in sender state and 2 if it's registered in both sender and listener state.

Parameters
iidThe interface ID.
Returns
All registered (and known) multicast groups on the interface iid.
std::vector<uri> hamcast::neighbor_set ( interface_id  iid)

Get all known multicast routing neighbors on a given interface.

Parameters
iidThe interface ID.
Returns
All registered multicast groups on the interface iid.
std::vector<uri> hamcast::parent_set ( interface_id  iid,
const uri &  group 
)

Get a set of neighbors from which the current node receives multicast data at a given interface for the specified group.

Parameters
iidThe interface ID.
groupThe multicast group.
Returns
A list of addresses, encoded as URIs.
void hamcast::register_event_callback ( const membership_event_callback &  cb)

Register cb.

Parameters
cbMembership event callback.