esp8266ndn
NDN Arduino library for ESP8266 and more
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | List of all members
ndnph::port_transport_memif::MemifTransport Class Reference

A transport that communicates via libmemif. More...

#include <memif.hpp>

Inherits ndnph::transport::Transport.

Classes

struct  Options
 

Public Types

enum class  Role { CLIENT = 0 , SERVER = 1 }
 
using DefaultDataroom = std::integral_constant< uint16_t, 2048 >
 
- Public Types inherited from ndnph::transport::Transport
using RxCallback = void(*)(void *ctx, const uint8_t *pkt, size_t pktLen, uint64_t endpointId)
 

Public Member Functions

bool begin (const char *socketName, uint32_t id, uint16_t dataroom=0)
 Start transport. More...
 
bool begin (Options opts)
 Start transport with advanced options. More...
 
bool end ()
 Stop transport. More...
 
uint16_t getDataroom () const
 Return actual dataroom. More...
 
- Public Member Functions inherited from ndnph::transport::Transport
virtual ~Transport ()=default
 
bool isUp () const
 Determine whether transport is connected. More...
 
void loop ()
 Process periodical events, such as receiving packets. More...
 
void setRxCallback (RxCallback cb, void *ctx)
 Set incoming packet callback. More...
 
bool send (const uint8_t *pkt, size_t pktLen, uint64_t endpointId=0)
 Synchronously transmit a packet. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ndnph::transport::Transport
void invokeRxCallback (const uint8_t *pkt, size_t pktLen, uint64_t endpointId=0)
 Invoke incoming packet callback for a received packet. More...
 

Detailed Description

A transport that communicates via libmemif.

Current implementation only allows one memif transport per control socket name. It is compatible with NDN-DPDK dataplane, but has no management integration.

Member Typedef Documentation

◆ DefaultDataroom

using ndnph::port_transport_memif::MemifTransport::DefaultDataroom = std::integral_constant<uint16_t, 2048>

Member Enumeration Documentation

◆ Role

Enumerator
CLIENT 
SERVER 

Member Function Documentation

◆ begin() [1/2]

bool ndnph::port_transport_memif::MemifTransport::begin ( const char *  socketName,
uint32_t  id,
uint16_t  dataroom = 0 
)
inline

Start transport.

Parameters
socketNamecontrol socket name.
idinterface ID.
dataroommaximum dataroom; 0 means library default.

◆ begin() [2/2]

bool ndnph::port_transport_memif::MemifTransport::begin ( Options  opts)
inline

Start transport with advanced options.

◆ end()

bool ndnph::port_transport_memif::MemifTransport::end ( )
inline

Stop transport.

◆ getDataroom()

uint16_t ndnph::port_transport_memif::MemifTransport::getDataroom ( ) const
inline

Return actual dataroom.


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