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


Definition at line 161 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 *) |
| virtual void | recvOnly (Packet *) |
| void | removechnl () |
| RepeaterPhy () | |
| void | sendDown (Packet *p) |
| int | sendUp (Packet *) |
| 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 163 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 BiConnector. Reimplemented in WiredPhy, WirelessPhy, and SatPhy. Definition at line 63 of file phy.cc. References Phy::channel_, BiConnector::command(), BiConnector::downtarget_, Phy::head_, Phy::index_, and Phy::node_. Referenced by WirelessPhy::command(), WiredPhy::command(), and SatPhy::command(). 00063 { 00064 if (argc == 2) { 00065 Tcl& tcl = Tcl::instance(); 00066 00067 if(strcmp(argv[1], "id") == 0) { 00068 tcl.resultf("%d", index_); 00069 return TCL_OK; 00070 } 00071 } 00072 00073 else if(argc == 3) { 00074 00075 TclObject *obj; 00076 00077 if( (obj = TclObject::lookup(argv[2])) == 0) { 00078 fprintf(stderr, "%s lookup failed\n", argv[1]); 00079 return TCL_ERROR; 00080 } 00081 if (strcmp(argv[1], "channel") == 0) { 00082 assert(channel_ == 0); 00083 channel_ = (Channel*) obj; 00084 downtarget_ = (NsObject*) obj; 00085 // LIST_INSERT_HEAD() is done by Channel 00086 return TCL_OK; 00087 } 00088 else if (strcmp(argv[1], "node") == 0) { 00089 assert(node_ == 0); 00090 node_ = (Node*) obj; 00091 // LIST_INSERT_HEAD() is done by Node 00092 return TCL_OK; 00093 } 00094 else if (strcmp(argv[1], "linkhead") == 0) { 00095 head_ = (LinkHead*) obj; 00096 return (TCL_OK); 00097 } 00098 00099 } 00100 return BiConnector::command(argc, argv); 00101 }
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 SatPhy::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(), SatPhy::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 Phy. Definition at line 646 of file satlink.cc. References hdr_cmn::direction(), hdr_cmn::DOWN, HDR_CMN, NsObject::recv(), hdr_cmn::UP, and BiConnector::uptarget_. 00647 { 00648 struct hdr_cmn *hdr = HDR_CMN(p); 00649 if (hdr->direction() == hdr_cmn::UP) { 00650 // change direction and send to uptarget (which is 00651 // really a Phy_tx that is also a RepeaterPhy) 00652 hdr->direction() = hdr_cmn::DOWN; 00653 uptarget_->recv(p, (Handler*) 0); 00654 } else { 00655 sendDown(p); 00656 } 00657 }
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 659 of file satlink.cc. References Phy::channel_, hdr_cmn::direction(), hdr_cmn::DOWN, HDR_CMN, and Channel::recv(). 00660 { 00661 struct hdr_cmn *hdr = HDR_CMN(p); 00662 hdr->direction() = hdr_cmn::DOWN; 00663 00664 if (channel_) 00665 channel_->recv(p, this); 00666 else { 00667 printf("Error, no channel on repeater\n"); 00668 exit(1); 00669 } 00670 }
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 166 of file satlink.h.
|
|
|
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(), sendDown(), SatPhy::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