class <Agent/MFTP/Rcv> MFTPRcvAgent : public MFTPAgent


Inheritance:


Public Fields

Agent/MFTP/Rcv instvar dst_addr_
Agent/MFTP/Rcv instvar dtuSize_
Agent/MFTP/Rcv instvar dtusPerBlock_
Agent/MFTP/Rcv instvar dtusPerGroup_
Agent/MFTP/Rcv instvar fileSize_
Agent/MFTP/Rcv instvar nakCount_
Agent/MFTP/Rcv instvar node_
Agent/MFTP/Rcv instvar ns_
Agent/MFTP/Rcv instvar reply_addr_
Agent/MFTP/Rcv instvar reply_port_
Agent/MFTP/Rcv instvar seekCount_
Agent/MFTP/Rcv instvar trace_

Public Methods

int command(int argc, const char*const* argv)
Agent/MFTP/Rcv instproc delete {}
Agent/MFTP/Rcv instproc done-notify { args }
Agent/MFTP/Rcv instproc evTrace { op type args }
Agent/MFTP/Rcv instproc init {}
MFTPRcvAgent()
void recv(Packet* p, Handler* h)
Agent/MFTP/Rcv instproc recv { type args }
Agent/MFTP/Rcv instproc recv-dependent { CurrentPass CurrentGroup CwPat }
Agent/MFTP/Rcv instproc recv-group-full { CurrentPass CurrentGroup CwPat }
Agent/MFTP/Rcv instproc recv-status-req { passNb blockLo blockHi txStatusDelay }
Agent/MFTP/Rcv instproc recv-useful { CurrentPass CurrentGroup CwPat }
Agent/MFTP/Rcv instproc send-nak { passNb blockLo blockHi }
Agent/MFTP/Rcv instproc start {}
Agent/MFTP/Rcv instproc trace fd
~MFTPRcvAgent()

Protected Fields

unsigned long CurrentGroup
current group number within pass
unsigned long CurrentPass
The following variables are not accessible from tcl-scripts: current pass number
CW_MATRIXLINE_t* cw_matrixline_buf
Enables receiver to keep track which coded packets
CW_MATRIXLINE_t
CW_PATTERN_t CwPat
current codeword pattern within pass
unsigned long FileDGramsReceived
number of datagrams fully received so far
unsigned long FseekOffset
current fseek pointer
ns_addr_t reply_
note: ns uses dst_ as the multicast address from which packets are received, thus we need the (unicast) reply address as well. unicast reply-address for status response messages

Protected Methods

void addLine(unsigned long dtu_nb_from, unsigned long dtu_nb_to)
void cw_matrixlines_reset()
int findStoreLocation(unsigned long group_nb, unsigned long seek_offset, unsigned long* dtu_nb)
void init()
bool is_group_full(unsigned long group_nb)
int process_packet(CW_PATTERN_t cw_pat, unsigned long group_nb, unsigned long dtu_nb)
int recv_data(hdr_mftp::Spec::Data& data)
void recv_status_req(hdr_mftp::Spec::StatReq& statreq)
void send_nak(unsigned long pass_nb, unsigned long block_nb)

Protected

typedef struct CW_PATTERN_t left

Inherited from MFTPAgent:

Protected Fields

unsigned long dtu_size
unsigned long dtus_per_block
unsigned long dtus_per_group
unsigned long FileDGrams
unsigned long FileSize
unsigned long nb_groups
int off_cmn_
int off_mftp_

Protected Methods

unsigned long get_dtus_per_group(unsigned long group_nb)
unsigned long nb_blocks()

Inherited from Agent:

Public Fields

Agent instvar agent_port_
Agent instvar dst_port_
Agent instvar namTrace_
Agent instvar tg_

Public Methods

inline nsaddr_t& addr()
Agent instproc attach-app {s_type}
Agent instproc attach-source {s_type}
Agent instproc attach-tbf { tbf }
Agent instproc attach-trace { file }
virtual void attachApp(Application* app)
virtual void close()
Agent instproc connect d
virtual void connect(nsaddr_t dst)
inline nsaddr_t& daddr()
inline nsaddr_t& dport()
Agent instproc dst-port {}
virtual void listen()
Agent instproc port {}
inline nsaddr_t& port()
virtual void send(int nbytes)
virtual void send(int sz, AppData *data)
void send(Packet* p, Handler* h)
virtual void sendmsg(int nbytes, const char *flags = 0)
virtual void sendmsg(int sz, AppData*, const char* flags = 0)
virtual void sendto(int sz, AppData*, const char* flags = 0)
virtual void sendto(int nbytes, const char* flags, nsaddr_t dst)
Agent instproc set args
void set_pkttype(packet_t pkttype)
virtual int& size()
virtual void timeout(int tno)
Agent instproc traffic-source agent

Protected Fields

Application* app_
Tcl_Channel channel_
int class_
int defttl_
ns_addr_t dst_
int fid_
int flags_
ns_addr_t here_
int off_ip_
OldValue* oldValueList_
int prio_
int seqno_
int size_
char* traceName_
packet_t type_
static int uidcnt_

Protected Methods

void addAgentTrace(const char *name)
Packet* allocpkt(int)
Packet* allocpkt()
virtual int delay_bind_dispatch(const char *varName, const char *localName, TclObject *tracer)
virtual void delay_bind_init_all()
void deleteAgentTrace()
void dumpTracedVars()
virtual void idle()
void initpkt(Packet*)
void insertOldValue(TracedVar *v, const char *value)
OldValue* lookupOldValue(TracedVar *v)
void monitorAgentTrace()
virtual void recvBytes(int bytes)

Private Methods

void flushAVar(TracedVar *v)

Inherited from Connector:

Public Methods

virtual void drop(Packet* p)
inline NsObject* target()

Protected Fields

NsObject* drop_
NsObject* target_

Protected Methods

virtual void drop(Packet* p, const char *s)

Inherited from NsObject:

Public Methods

virtual void debug(const char *fmt, ...)
int isdebug()

Protected Fields

int debug_
int off_flags_

Protected Methods

void handle(Event*)
virtual void reset()

Inherited from Handler:


Documentation

MFTPRcvAgent()

~MFTPRcvAgent()

int command(int argc, const char*const* argv)

void recv(Packet* p, Handler* h)

typedef struct CW_PATTERN_t left

CW_MATRIXLINE_t

void init()

void addLine(unsigned long dtu_nb_from, unsigned long dtu_nb_to)

int process_packet(CW_PATTERN_t cw_pat, unsigned long group_nb, unsigned long dtu_nb)

int findStoreLocation(unsigned long group_nb, unsigned long seek_offset, unsigned long* dtu_nb)

void cw_matrixlines_reset()

bool is_group_full(unsigned long group_nb)

int recv_data(hdr_mftp::Spec::Data& data)

void recv_status_req(hdr_mftp::Spec::StatReq& statreq)

void send_nak(unsigned long pass_nb, unsigned long block_nb)

ns_addr_t reply_
note: ns uses dst_ as the multicast address from which packets are received, thus we need the (unicast) reply address as well. unicast reply-address for status response messages

unsigned long CurrentPass
The following variables are not accessible from tcl-scripts: current pass number

unsigned long CurrentGroup
current group number within pass

CW_PATTERN_t CwPat
current codeword pattern within pass

unsigned long FileDGramsReceived
number of datagrams fully received so far

unsigned long FseekOffset
current fseek pointer

CW_MATRIXLINE_t* cw_matrixline_buf
Enables receiver to keep track which coded packets

Agent/MFTP/Rcv instproc init {}

Agent/MFTP/Rcv instvar ns_

Agent/MFTP/Rcv instvar dtuSize_

Agent/MFTP/Rcv instvar dtusPerBlock_

Agent/MFTP/Rcv instvar dtusPerGroup_

Agent/MFTP/Rcv instvar fileSize_

Agent/MFTP/Rcv instvar reply_addr_

Agent/MFTP/Rcv instvar reply_port_

Agent/MFTP/Rcv instvar nakCount_

Agent/MFTP/Rcv instvar seekCount_

Agent/MFTP/Rcv instproc start {}

Agent/MFTP/Rcv instvar node_

Agent/MFTP/Rcv instvar dst_addr_

Agent/MFTP/Rcv instproc delete {}

Agent/MFTP/Rcv instproc done-notify { args }

Agent/MFTP/Rcv instproc recv { type args }

Agent/MFTP/Rcv instproc recv-dependent { CurrentPass CurrentGroup CwPat }

Agent/MFTP/Rcv instproc recv-group-full { CurrentPass CurrentGroup CwPat }

Agent/MFTP/Rcv instproc recv-useful { CurrentPass CurrentGroup CwPat }

Agent/MFTP/Rcv instproc recv-status-req { passNb blockLo blockHi txStatusDelay }

Agent/MFTP/Rcv instproc send-nak { passNb blockLo blockHi }

Agent/MFTP/Rcv instproc trace fd

Agent/MFTP/Rcv instvar trace_

Agent/MFTP/Rcv instproc evTrace { op type args }


Direct child classes:
Agent/MFTP/Rcv/Stat

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

Adapted for the NS documentation page

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de