IBR-DTNSuite  0.8
dtn::net::LOWPANDatagramService Class Reference

#include <LOWPANDatagramService.h>

Inheritance diagram for dtn::net::LOWPANDatagramService:
Collaboration diagram for dtn::net::LOWPANDatagramService:

List of all members.

Public Member Functions

 LOWPANDatagramService (const ibrcommon::vinterface &iface, int panid)
virtual ~LOWPANDatagramService ()
virtual void bind () throw (DatagramException)
virtual void shutdown ()
virtual void send (const char &type, const char &flags, const unsigned int &seqno, const std::string &address, const char *buf, size_t length) throw (DatagramException)
virtual void send (const char &type, const char &flags, const unsigned int &seqno, const char *buf, size_t length) throw (DatagramException)
virtual size_t recvfrom (char *buf, size_t length, char &type, char &flags, unsigned int &seqno, std::string &address) throw (DatagramException)
virtual const std::string getServiceTag () const
virtual const std::string getServiceDescription () const
virtual const
ibrcommon::vinterface
getInterface () const
virtual dtn::core::Node::Protocol getProtocol () const
virtual const
DatagramConnectionParameter
getParameter () const

Detailed Description

Definition at line 19 of file LOWPANDatagramService.h.


Constructor & Destructor Documentation


Member Function Documentation

Bind to the local socket.

Exceptions:
Ifthe bind fails, an DatagramException is thrown.

Implements dtn::net::DatagramService.

Definition at line 45 of file LOWPANDatagramService.cpp.

References ibrcommon::UnicastSocketLowpan::bind().

Here is the call graph for this function:

The used interface as vinterface object.

Returns:
A vinterface object.

Implements dtn::net::DatagramService.

Definition at line 280 of file LOWPANDatagramService.cpp.

Returns the parameter for the connection.

Returns:

Implements dtn::net::DatagramService.

Definition at line 294 of file LOWPANDatagramService.cpp.

The protocol identifier for this type of service.

Returns:

Implements dtn::net::DatagramService.

Definition at line 289 of file LOWPANDatagramService.cpp.

References dtn::core::Node::CONN_DGRAM_LOWPAN.

const std::string dtn::net::LOWPANDatagramService::getServiceDescription ( ) const [virtual]

Get the service description for this convergence layer. This data is used to contact this node.

Returns:
The service description as string.

Implements dtn::net::DatagramService.

Definition at line 264 of file LOWPANDatagramService.cpp.

References sockaddr_ieee802154::addr, ieee802154_addr::addr_type, ibrcommon::lowpansocket::getAddress(), IEEE802154_ADDR_SHORT, ieee802154_addr::pan_id, and ieee802154_addr::short_addr.

Here is the call graph for this function:

const std::string dtn::net::LOWPANDatagramService::getServiceTag ( ) const [virtual]

Get the tag for this service used in discovery messages.

Returns:
The tag as string.

Implements dtn::net::DatagramService.

Definition at line 254 of file LOWPANDatagramService.cpp.

size_t dtn::net::LOWPANDatagramService::recvfrom ( char *  buf,
size_t  length,
char &  type,
char &  flags,
unsigned int &  seqno,
std::string &  address 
) throw (DatagramException) [virtual]

Receive an incoming datagram.

Parameters:
bufA buffer to catch the incoming data.
lengthThe length of the buffer.
addressA buffer for the address of the sender.
Exceptions:
Ifthe receive call failed for any reason, an DatagramException is thrown.
Returns:
The number of received bytes.

Implements dtn::net::DatagramService.

Definition at line 205 of file LOWPANDatagramService.cpp.

References EXTENDED_MASK, dtn::net::DatagramConvergenceLayer::HEADER_SEGMENT, IBRCOMMON_LOGGER_DEBUG, and IBRCOMMON_LOGGER_ENDL.

void dtn::net::LOWPANDatagramService::send ( const char &  type,
const char &  flags,
const unsigned int &  seqno,
const std::string &  identifier,
const char *  buf,
size_t  length 
) throw (DatagramException) [virtual]

Send the payload as datagram to a defined destination

Parameters:
addressThe destination address encoded as string.
bufThe buffer to send.
lengthThe number of available bytes in the buffer.

Implements dtn::net::DatagramService.

Definition at line 73 of file LOWPANDatagramService.cpp.

References sockaddr_ieee802154::addr, EXTENDED_MASK, dtn::net::DatagramConvergenceLayer::HEADER_SEGMENT, IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, ibrcommon::lowpansocket::peer::send(), and ieee802154_addr::short_addr.

Here is the call graph for this function:

void dtn::net::LOWPANDatagramService::send ( const char &  type,
const char &  flags,
const unsigned int &  seqno,
const char *  buf,
size_t  length 
) throw (DatagramException) [virtual]

Send the payload as datagram to all neighbors (broadcast)

Parameters:
bufThe buffer to send.
lengthThe number of available bytes in the buffer.

Implements dtn::net::DatagramService.

Definition at line 145 of file LOWPANDatagramService.cpp.

References sockaddr_ieee802154::addr, EXTENDED_MASK, IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, ibrcommon::lowpansocket::peer::send(), and ieee802154_addr::short_addr.

Here is the call graph for this function:

Shutdown the socket. Unblock all calls on the socket (recv, send, etc.)

Implements dtn::net::DatagramService.

Definition at line 61 of file LOWPANDatagramService.cpp.

References ibrcommon::lowpansocket::shutdown().

Here is the call graph for this function:


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