ns-3
|
API to create IPv6 RAW socket instances. More...
#include <ipv6-raw-socket-factory.h>
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Get the type ID of this class. |
Additional Inherited Members | |
![]() | |
virtual Ptr< Socket > | CreateSocket (void)=0 |
![]() | |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Dispose (void) |
void | AggregateObject (Ptr< Object > other) |
AggregateIterator | GetAggregateIterator (void) const |
void | Start (void) |
![]() | |
SimpleRefCount (const SimpleRefCount &o) | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
uint32_t | GetReferenceCount (void) const |
![]() | |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
API to create IPv6 RAW socket instances.
This abstract class defines the API for IPv6 RAW socket factory.
A RAW Socket typically is used to access specific IP layers not usually available through L4 sockets, e.g., ICMP. The implementer should take particular care to define the Ipv6RawSocketImpl Attributes, and in particular the Protocol attribute. Not setting it will result in a zero protocol at IP level (corresponding to the HopByHop IPv6 Extension header, i.e., Ipv6ExtensionHopByHopHeader) when sending data through the socket, which is probably not the intended behavior.
A correct example is (from src/applications/model/radvd.cc):
|
static |
Get the type ID of this class.
This method returns the TypeId associated to ns3::Ipv6RawSocketFactory.
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::SocketFactory.
References ns3::TypeId::SetParent().