#include <satlink.h>
Inheritance diagram for SatPhy:


Definition at line 152 of file satlink.h.
Public Member Functions | |
| virtual double | bittime () const |
| virtual Channel * | channel (void) const |
| virtual void | debug (const char *fmt,...) |
| virtual int | delay_bind_dispatch (const char *varName, const char *localName, TclObject *tracer) |
| virtual void | delay_bind_init_all () |
| NsObject * | downtarget () |
| virtual void | drop (Packet *p) |
| virtual void | dump (void) const |
| LinkHead * | head () |
| void | insertchnl (struct if_head *head) |
| void | insertnode (struct if_head *head) |
| int | isdebug () const |
| Phy * | nextchnl (void) const |
| Phy * | nextnode (void) const |
| virtual Node * | node (void) const |
| virtual void | recv (Packet *p, const char *s) |
| void | recv (Packet *p, Handler *h) |
| virtual void | recvOnly (Packet *) |
| void | removechnl () |
| SatPhy () | |
| void | sendDown (Packet *p) |
| int | sendUp (Packet *p) |
| void | setchnl (Channel *chnl) |
| virtual void | setnode (Node *node) |
| double | txtime (int bytes) |
| double | txtime (Packet *p) |
| NsObject * | uptarget () |
Protected Member Functions | |
| int | command (int argc, const char *const *argv) |
| virtual void | drop (Packet *p, const char *s) |
| void | handle (Event *) |
| LIST_ENTRY (Phy) node_link_ | |
| LIST_ENTRY (Phy) chnl_link_ | |
| virtual void | reset () |
| virtual void | sendDown (Packet *p, Handler *h) |
| virtual void | sendUp (Packet *p, Handler *h) |
Protected Attributes | |
| double | bandwidth_ |
| Channel * | channel_ |
| int | debug_ |
| NsObject * | downtarget_ |
| NsObject * | drop_ |
| LinkHead * | head_ |
| int | index_ |
| Node * | node_ |
| NsObject * | uptarget_ |
|
|
Definition at line 154 of file satlink.h.
|
|
|
Definition at line 85 of file phy.h. References Phy::bandwidth_. 00085 { return 1/bandwidth_; }
|
|
|
Definition at line 105 of file phy.h. References Phy::channel_. Referenced by SatLL::channel(), SatRouteObject::compute_topology(), LinkHandoffMgr::get_peer(), LinkHandoffMgr::get_peer_linkhead(), LinkHandoffMgr::get_peer_next_linkhead(), Mac802_3::sendDown(), and WirelessChannel::sendUp(). 00105 {return channel_;}
|
|
||||||||||||
|
Reimplemented from Phy. Definition at line 625 of file satlink.cc. References Phy::command(). 00625 { 00626 if (argc == 2) { 00627 } else if (argc == 3) { 00628 TclObject *obj; 00629 00630 if( (obj = TclObject::lookup(argv[2])) == 0) { 00631 fprintf(stderr, "%s lookup failed\n", argv[1]); 00632 return TCL_ERROR; 00633 } 00634 } 00635 return Phy::command(argc, argv); 00636 }
Here is the call graph for this function: ![]() |
|
||||||||||||
|
Definition at line 102 of file object.cc. References NsObject::debug_. 00103 { 00104 if (!debug_) 00105 return; 00106 va_list ap; 00107 va_start(ap, fmt); 00108 vprintf(fmt, ap); 00109 }
|
|
||||||||||||||||
|
Reimplemented in BayFullTcpAgent, Agent, MPLSAddressClassifier, LDPAgent, HbAfterRtoSctpAgent, MfrHbAfterRtoSctpAgent, MfrTimestampSctpAgent, MultipleFastRtxSctpAgent, NewRenoSctpAgent, TimestampSctpAgent, SctpAgent, FullTcpAgent, SackFullTcpAgent, RFC793eduTcpAgent, TcpSink, TcpAgent, VegasTcpAgent, XcpAgent, and XcpSink. Definition at line 63 of file object.cc. References NsObject::debug_. Referenced by MPLSAddressClassifier::delay_bind_dispatch(), and Agent::delay_bind_dispatch(). 00064 { 00065 if (delay_bind_bool(varName, localName, "debug_", &debug_, tracer)) 00066 return TCL_OK; 00067 return TclObject::delay_bind_dispatch(varName, localName, tracer); 00068 }
|
|
|
Reimplemented in BayFullTcpAgent, Agent, MPLSAddressClassifier, LDPAgent, HbAfterRtoSctpAgent, MfrHbAfterRtoSctpAgent, MfrTimestampSctpAgent, MultipleFastRtxSctpAgent, NewRenoSctpAgent, TimestampSctpAgent, SctpAgent, FullTcpAgent, SackFullTcpAgent, RFC793eduTcpAgent, TcpSink, TcpAgent, VegasTcpAgent, XcpAgent, and XcpSink. Definition at line 57 of file object.cc. Referenced by MPLSAddressClassifier::delay_bind_init_all(), and Agent::delay_bind_init_all().
|
|
|
Definition at line 49 of file bi-connector.h. References BiConnector::downtarget_. Referenced by SatLL::channel(). 00049 { return downtarget_; }
|
|
||||||||||||
|
Definition at line 144 of file bi-connector.cc. References BiConnector::drop_, Packet::free(), and NsObject::recv(). 00145 { 00146 if (drop_ != 0) 00147 drop_->recv(p, s); 00148 else 00149 Packet::free(p); 00150 }
Here is the call graph for this function: ![]() |
|
|
Definition at line 135 of file bi-connector.cc. References BiConnector::drop_, Packet::free(), and NsObject::recv(). Referenced by Mac802_3::collision(), SMAC::drop_CTS(), SMAC::drop_DATA(), SMAC::drop_RTS(), SMAC::drop_SYNC(), UnslottedAlohaMac::end_of_contention(), Mac802_15_4::recv(), MacTdma::recvHandler(), MacSimple::recvHandler(), Phy802_15_4::recvOverHandler(), Mac::resume(), MacCsma::resume(), UnslottedAlohaMac::sendUp(), SatMac::sendUp(), Mac::sendUp(), MacTdma::TX_Time(), and Mac802_11::txtime(). 00136 { 00137 if (drop_ != 0) 00138 drop_->recv(p); 00139 else 00140 Packet::free(p); 00141 }
Here is the call graph for this function: ![]() |
|
|
Reimplemented in WirelessPhy. Definition at line 183 of file phy.cc. References Phy::channel_, Phy::index_, and BiConnector::uptarget_. Referenced by WirelessPhy::dump(), MobileNode::dump(), and Channel::dump(). 00184 { 00185 fprintf(stdout, "\tINDEX: %d\n", 00186 index_); 00187 fprintf(stdout, "\tuptarget: %lx, channel: %lx", 00188 (long) uptarget_, (long) channel_); 00189 00190 }
|
|
|
Implements Handler. Reimplemented in LinkDelay, LL, AckRecons, and Snoop. Definition at line 91 of file object.cc. References NsObject::recv().
Here is the call graph for this function: ![]() |
|
|
Definition at line 108 of file phy.h. References Phy::head_. Referenced by SatRouteObject::compute_topology(), SatChannel::find_peer_mac_addr(), LinkHandoffMgr::get_peer_linkhead(), and sendDown(). 00108 { return head_; }
|
|
|
Definition at line 89 of file phy.h. References LIST_INSERT_HEAD. Referenced by SatChannel::add_interface(). 00089 { 00090 LIST_INSERT_HEAD(head, this, chnl_link_); 00091 //channel_ = chnl; 00092 }
|
|
|
Definition at line 95 of file phy.h. References LIST_INSERT_HEAD. Referenced by SatNode::command(), and MobileNode::command(). 00095 { 00096 LIST_INSERT_HEAD(head, this, node_link_); 00097 //node_ = node; 00098 }
|
|
|
Definition at line 61 of file object.h. References NsObject::debug_. 00061 { return debug_; }
|
|
|
|
|
|
|
|
|
Definition at line 88 of file phy.h. Referenced by WirelessChannel::calcHighestAntennaZ(), SatRouteObject::compute_topology(), Channel::dump(), LinkHandoffMgr::get_peer(), LinkHandoffMgr::get_peer_linkhead(), and Channel::sendUp().
|
|
|
Definition at line 94 of file phy.h. Referenced by MobileNode::dump(), and WirelessChannel::sendUp().
|
|
|
Reimplemented in WirelessPhy. Definition at line 104 of file phy.h. References Phy::node_. Referenced by SatRouteObject::compute_topology(), Mac802_15_4::recv(), Mac802_11::send(), sendDown(), Mac802_15_4::sendDown(), WirelessChannel::sendUp(), Channel::sendUp(), and Phy::setnode(). 00104 { return node_; }
|
|
||||||||||||
|
Reimplemented in CMUTrace. Definition at line 96 of file object.cc. References Packet::free(). 00097 { 00098 Packet::free(p); 00099 }
Here is the call graph for this function: ![]() |
|
||||||||||||
|
Reimplemented from BiConnector. Reimplemented in RepeaterPhy, and Phy802_15_4. Definition at line 106 of file phy.cc. References hdr_cmn::direction(), hdr_cmn::DOWN, Packet::free(), HDR_CMN, NsObject::recv(), Phy::sendDown(), Phy::sendUp(), hdr_cmn::UP, and BiConnector::uptarget_. 00107 { 00108 struct hdr_cmn *hdr = HDR_CMN(p); 00109 //struct hdr_sr *hsr = HDR_SR(p); 00110 00111 /* 00112 * Handle outgoing packets 00113 */ 00114 switch(hdr->direction()) { 00115 case hdr_cmn::DOWN : 00116 /* 00117 * The MAC schedules its own EOT event so we just 00118 * ignore the handler here. It's only purpose 00119 * it distinguishing between incoming and outgoing 00120 * packets. 00121 */ 00122 sendDown(p); 00123 return; 00124 case hdr_cmn::UP : 00125 if (sendUp(p) == 0) { 00126 /* 00127 * XXX - This packet, even though not detected, 00128 * contributes to the Noise floor and hence 00129 * may affect the reception of other packets. 00130 */ 00131 Packet::free(p); 00132 return; 00133 } else { 00134 uptarget_->recv(p, (Handler*) 0); 00135 } 00136 break; 00137 default: 00138 printf("Direction for pkt-flow not specified; Sending pkt up the stack on default.\n\n"); 00139 if (sendUp(p) == 0) { 00140 /* 00141 * XXX - This packet, even though not detected, 00142 * contributes to the Noise floor and hence 00143 * may affect the reception of other packets. 00144 */ 00145 Packet::free(p); 00146 return; 00147 } else { 00148 uptarget_->recv(p, (Handler*) 0); 00149 } 00150 } 00151 00152 }
Here is the call graph for this function: ![]() |
|
|
Reimplemented in Agent, and Trace. Definition at line 56 of file object.h. Referenced by Trace::recvOnly().
|
|
|
Definition at line 99 of file phy.h. References LIST_REMOVE. Referenced by SatChannel::remove_interface(). 00099 { 00100 LIST_REMOVE(this, chnl_link_); 00101 }
|
|
|
Reimplemented in BayFullTcpAgent, HashClassifier, IvsSource, dsREDQueue, DiffusionRate, SinkAgent, DiffusionAgent, FloodingAgent, OmniMcastAgent, LinkDelay, CBQueue, DropTail, ErrorModel, PIQueue, Queue< T >, RedPDQueue, REDQueue, REMQueue, RIOQueue, Snoop, FackTcpAgent, FullTcpAgent, SackFullTcpAgent, RFC793eduTcpAgent, Sack1TcpAgent, TcpSink, DelAckSink, TcpAgent, VegasTcpAgent, toraAgent, Queue< T >, and XcpSink. Definition at line 70 of file object.cc. Referenced by NsObject::command().
|
|
||||||||||||
|
Reimplemented in Mac802_3, and Mac802_15_4. Definition at line 55 of file bi-connector.h. References BiConnector::downtarget_, and NsObject::recv(). Referenced by BiConnector::recv(). 00056 { downtarget_->recv(p, h); }
Here is the call graph for this function: ![]() |
|
|
Implements Phy. Definition at line 601 of file satlink.cc. References Phy::channel_, Packet::free(), Phy::head(), LinkHead::node(), Phy::node(), and Channel::recv(). 00602 { 00603 if (channel_) 00604 channel_->recv(p, this); 00605 else { 00606 // it is possible for routing to change (and a channel to 00607 // be disconnected) while a packet 00608 // is moving down the stack. Therefore, just log a drop 00609 // if there is no channel 00610 if ( ((SatNode*) head()->node())->trace() ) 00611 ((SatNode*) head()->node())->trace()->traceonly(p); 00612 Packet::free(p); 00613 } 00614 }
Here is the call graph for this function: ![]() |
|
||||||||||||
|
Reimplemented in Mac802_3. Definition at line 57 of file bi-connector.h. References NsObject::recv(), and BiConnector::uptarget_. Referenced by BiConnector::recv().
Here is the call graph for this function: ![]() |
|
|
Implements Phy. Definition at line 619 of file satlink.cc. References TRUE. 00620 { 00621 return TRUE; 00622 }
|
|
|
Definition at line 102 of file phy.h. References Phy::channel_. Referenced by SatChannel::add_interface(), and SatChannel::remove_interface(). 00102 { channel_ = chnl; }
|
|
|
Definition at line 103 of file phy.h. References Phy::node(), and Phy::node_. Referenced by SatNode::command(), and MobileNode::command().
Here is the call graph for this function: ![]() |
|
|
Definition at line 83 of file phy.h. References Phy::bandwidth_. 00083 { 00084 return (8.0 * bytes / bandwidth_); }
|
|
|
Definition at line 81 of file phy.h. References hdr_cmn::access(), and Phy::bandwidth_. Referenced by Mac802_3::collision(), Mac8023HandlerSend::handle(), MacHandlerRetx::schedule(), WirelessPhy::sendDown(), and Mac802_3::sendDown(). 00081 { 00082 return (hdr_cmn::access(p)->size() * 8.0) / bandwidth_; }
Here is the call graph for this function: ![]() |
|
|
Definition at line 48 of file bi-connector.h. References BiConnector::uptarget_. 00048 { return uptarget_; }
|
|
|
Definition at line 137 of file phy.h. Referenced by Phy::bittime(), Phy::Phy(), Phy::txtime(), and WiredPhy::WiredPhy(). |
|
|
Definition at line 138 of file phy.h. Referenced by Phy::channel(), Phy::command(), Phy::dump(), Phy::Phy(), WirelessPhy::sendDown(), WiredPhy::sendDown(), RepeaterPhy::sendDown(), sendDown(), and Phy::setchnl(). |
|
|
Reimplemented in FECModel, FloodAgent, and LandmarkAgent. Definition at line 66 of file object.h. Referenced by REDQueue::command(), RedPDQueue::command(), PushbackQueue::command(), NsObject::debug(), NsObject::delay_bind_dispatch(), PushbackQueue::enque(), NsObject::isdebug(), NsObject::NsObject(), TfrcAgent::recv(), PushbackQueue::reportDrop(), SctpAgent::Reset(), REDQueue::reset(), DropTail::shrink_queue(), and Delayer::try_send(). |
|
|
|
Definition at line 64 of file bi-connector.h. Referenced by BiConnector::command(), and BiConnector::drop(). |
|
|
Definition at line 116 of file phy.h. Referenced by Phy::command(), Phy::head(), and Phy::Phy(). |
|
|
Definition at line 113 of file phy.h. Referenced by Phy::command(), Phy::dump(), Phy802_15_4::PD_DATA_request(), Phy::Phy(), Phy802_15_4::PLME_SET_request(), Phy802_15_4::PLME_SET_TRX_STATE_request(), Phy802_15_4::recv(), Phy802_15_4::recvOverHandler(), and Phy802_15_4::sendOverHandler(). |
|
|
1.4.6