Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TSrvOptTA Class Reference

#include <SrvOptTA.h>

+ Inheritance diagram for TSrvOptTA:
+ Collaboration diagram for TSrvOptTA:

Public Member Functions

 TSrvOptTA (SPtr< TSrvOptTA > queryOpt, SPtr< TSrvMsg > clientMsg, int msgType, TMsg *parent)
 TSrvOptTA (char *buf, int bufsize, TMsg *parent)
 TSrvOptTA (int iaid, TMsg *parent)
 TSrvOptTA (int iaid, int statusCode, std::string txt, TMsg *parent)
bool doDuties ()
void releaseAllAddrs (bool quiet)
- Public Member Functions inherited from TOptTA
 TOptTA (uint32_t iaid, TMsg *parent)
 TOptTA (char *&buf, int &bufsize, TMsg *parent)
int countAddrs ()
unsigned long getIAID ()
unsigned long getMaxValid ()
size_t getSize ()
int getStatusCode ()
virtual bool isValid () const
char * storeSelf (char *buf)
- Public Member Functions inherited from TOpt
 TOpt (int optType, TMsg *parent)
virtual ~TOpt ()
void addOption (TOptPtr opt)
int countOption ()
void delAllOptions ()
bool delOption (uint16_t type)
 Deletes all specified options of that type.
void firstOption ()
TOptPtr getOption (int type)
TOptPtr getOption ()
int getOptType ()
virtual std::string getPlain ()
void setParent (TMsg *Parent)

Private Member Functions

SPtr< TSrvOptIAAddressassignAddr (SPtr< TSrvMsg > clientMsg)
void confirm (SPtr< TSrvOptTA > queryOpt)
void release (SPtr< TSrvOptTA > queryOpt)
void request (SPtr< TSrvMsg > clientMsg, SPtr< TSrvOptTA > queryOpt)
void solicit (SPtr< TSrvMsg > clientMsg, SPtr< TSrvOptTA > queryOpt)
 constructor used in SOLICIT message (and others)
void solicitRequest (SPtr< TSrvMsg > clientMsg, SPtr< TSrvOptTA > queryOpt, bool solicit)

Private Attributes

SPtr< TIPv6AddrClntAddr
SPtr< TDUIDClntDuid
int Iface
int OrgMessage

Additional Inherited Members

- Public Types inherited from TOpt
enum  EOptionLayout {
  Layout_Addr, Layout_AddrLst, Layout_String, Layout_StringLst,
  Layout_Duid, Layout_Generic
}
- Static Public Member Functions inherited from TOpt
static TOptPtr getOption (const TOptList &list, uint16_t opt_type)
static bool parseOptions (TOptContainer &options, const char *buf, size_t len, TMsg *parent, uint16_t placeId=0, std::string place="option")
 Parses options or suboptions, creates appropriate objects and store them in options container.
- Static Public Attributes inherited from TOpt
static const size_t OPTION6_HDR_LEN = 4
 length of a DHCPv6 option header
- Protected Member Functions inherited from TOpt
int getSubOptSize ()
char * storeHeader (char *buf)
char * storeSubOpt (char *buf)
- Protected Attributes inherited from TOptTA
uint32_t IAID_
bool Valid_

Constructor & Destructor Documentation

TSrvOptTA::TSrvOptTA ( SPtr< TSrvOptTA queryOpt,
SPtr< TSrvMsg clientMsg,
int  msgType,
TMsg parent 
)
TSrvOptTA::TSrvOptTA ( char *  buf,
int  bufsize,
TMsg parent 
)
TSrvOptTA::TSrvOptTA ( int  iaid,
TMsg parent 
)
TSrvOptTA::TSrvOptTA ( int  iaid,
int  statusCode,
std::string  txt,
TMsg parent 
)

Member Function Documentation

SPtr< TSrvOptIAAddress > TSrvOptTA::assignAddr ( SPtr< TSrvMsg clientMsg)
private

this method finds a temp. address for this client, marks it as used and then creates IAAADDR option containing this option.

Parameters
clientMsg
Returns
IAADDR option with new temporary address (or NULL)
void TSrvOptTA::confirm ( SPtr< TSrvOptTA queryOpt)
private
bool TSrvOptTA::doDuties ( )
virtual

Reimplemented from TOptTA.

void TSrvOptTA::release ( SPtr< TSrvOptTA queryOpt)
private
void TSrvOptTA::releaseAllAddrs ( bool  quiet)
Todo:
: Why 4 construstors?
void TSrvOptTA::request ( SPtr< TSrvMsg clientMsg,
SPtr< TSrvOptTA queryOpt 
)
private
void TSrvOptTA::solicit ( SPtr< TSrvMsg clientMsg,
SPtr< TSrvOptTA queryOpt 
)
private

constructor used in SOLICIT message (and others)

Parameters
clientMsgclient message that we are currently responding to
queryOptspecific IA_TA option we are trying to answer now
void TSrvOptTA::solicitRequest ( SPtr< TSrvMsg clientMsg,
SPtr< TSrvOptTA queryOpt,
bool  solicit 
)
private

Member Data Documentation

SPtr<TIPv6Addr> TSrvOptTA::ClntAddr
private
SPtr<TDUID> TSrvOptTA::ClntDuid
private
int TSrvOptTA::Iface
private
Todo:
: replace with Parent->getIface();
int TSrvOptTA::OrgMessage
private

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