User Manual, Developers Guide and API Documentation

glue::convergence::Lower2Copper Class Reference

#include <convergence/Lower2Copper.hpp>

Inheritance diagram for glue::convergence::Lower2Copper:

Inheritance graph
[legend]
Collaboration diagram for glue::convergence::Lower2Copper:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual
wns::service::phy::copper::DataTransmission
getDataTransmissionService () const
virtual
wns::service::phy::copper::Notification
getNotificationService () const
 Lower2Copper (wns::ldk::fun::FUN *fun, const wns::pyconfig::View &config)
virtual void onCarrierBusy ()
 called from PHY implementation if carrier is busy after it has been idle
virtual void onCarrierIdle ()
 called from PHY implementation if carrier is idle after it has been busy
virtual void onCollision ()
 called from PHY implementation if collision happened
virtual void onData (const wns::osi::PDUPtr &pdu, double ber, bool collision)
 Receive data from lower PHY layer.
virtual void setDataTransmissionService (wns::service::Service *phy)
virtual void setMACAddress (const wns::service::dll::UnicastAddress &address)
virtual void setNotificationService (wns::service::Service *phy)
virtual ~Lower2Copper ()

Private Types

typedef wns::Subject
< wns::service::phy::copper::CarrierSensing
CarrierSensingSubject
typedef wns::Subject
< wns::service::phy::copper::Handler
HandlerSubject

Private Member Functions

virtual bool doIsAccepting (const wns::ldk::CompoundPtr &compound) const
virtual void doOnData (const wns::ldk::CompoundPtr &compound)
virtual void doSendData (const wns::ldk::CompoundPtr &sdu)
virtual void doWakeup ()
bool hasCommandOf (FunctionalUnit *routing, const wns::ldk::CompoundPtr &compound) const
virtual void onFUNCreated ()
 Resolve inter-FU dependencies.
void pushUp (const wns::ldk::CompoundPtr &compound, double ber, const wns::osi::PDUPtr &pdu)
void traceIncoming (wns::ldk::CompoundPtr compound, bool collision)

Private Attributes

wns::service::dll::UnicastAddress address
wns::pyconfig::View config
wns::service::phy::copper::DataTransmissiondataTransmission
struct
glue::convergence::Lower2Copper::Friends 
friends
bool isBlocking
wns::probe::bus::ContextCollectorPtr jsonTracing
 Detailed output about channel state.
wns::logger::Logger logger
wns::service::phy::copper::NotificationnotificationService

Classes

struct  Friends


Detailed Description

Definition at line 34 of file Lower2Copper.hpp.


Member Typedef Documentation

Definition at line 45 of file Lower2Copper.hpp.

Definition at line 44 of file Lower2Copper.hpp.


Constructor & Destructor Documentation

Lower2Copper::Lower2Copper ( wns::ldk::fun::FUN fun,
const wns::pyconfig::View config 
)

Definition at line 36 of file Lower2Copper.cpp.

Lower2Copper::~Lower2Copper (  )  [virtual]

Definition at line 54 of file Lower2Copper.cpp.


Member Function Documentation

bool Lower2Copper::doIsAccepting ( const wns::ldk::CompoundPtr compound  )  const [private, virtual]

Definition at line 69 of file Lower2Copper.cpp.

void Lower2Copper::doOnData ( const wns::ldk::CompoundPtr compound  )  [private, virtual]

Definition at line 136 of file Lower2Copper.cpp.

void Lower2Copper::doSendData ( const wns::ldk::CompoundPtr sdu  )  [private, virtual]

Definition at line 101 of file Lower2Copper.cpp.

void Lower2Copper::doWakeup (  )  [private, virtual]

Definition at line 148 of file Lower2Copper.cpp.

wns::service::phy::copper::DataTransmission * Lower2Copper::getDataTransmissionService (  )  const [virtual]

Implements glue::convergence::Lower.

Definition at line 195 of file Lower2Copper.cpp.

wns::service::phy::copper::Notification * Lower2Copper::getNotificationService (  )  const [virtual]

Implements glue::convergence::Lower.

Definition at line 214 of file Lower2Copper.cpp.

bool glue::convergence::Lower2Copper::hasCommandOf ( FunctionalUnit *  routing,
const wns::ldk::CompoundPtr compound 
) const [inline, private]

Definition at line 71 of file Lower2Copper.hpp.

void Lower2Copper::onCarrierBusy (  )  [virtual]

Implements wns::service::phy::copper::CarrierSensing.

Definition at line 90 of file Lower2Copper.cpp.

void Lower2Copper::onCarrierIdle (  )  [virtual]

Implements wns::service::phy::copper::CarrierSensing.

Definition at line 81 of file Lower2Copper.cpp.

void Lower2Copper::onCollision (  )  [virtual]

Implements wns::service::phy::copper::CarrierSensing.

Definition at line 95 of file Lower2Copper.cpp.

void Lower2Copper::onData ( const wns::osi::PDUPtr data,
double  ber,
bool  collision 
) [virtual]

Parameters:
[in] data Data that is delivered to the DataHandler.
[in] ber Bit Error Rate of this PDU
[in] collision Collision on the wire?
Note:
BER and collision on the wire are handled seperately. If a higher layer detects a collision, it should throw away the packet ...

Implements wns::service::phy::copper::Handler.

Definition at line 154 of file Lower2Copper.cpp.

void Lower2Copper::onFUNCreated (  )  [private, virtual]

Often FunctionalUnits require the collaboration with other FunctionalUnits to accomplish their task. For the collaboration between FunctionalUnits we coined the term "friendship".

The onFUNCreated method is a hook being called after the complete FUN has been set up. FunctionalUnits requiring the collaboration with other FunctionalUnits should resolve these dependencies by implementing this hook accordingly.

Finding friends is usually done calling wns::ldk::fun::FUN::findFriend.

When building reconfigurable FUNs, this method may get called multiple times (e.g., after each FUN reconfiguration). Keep that in mind when allocating resources in your onFUNCreated implementation.

Reimplemented from wns::ldk::FunctionalUnit.

Definition at line 58 of file Lower2Copper.cpp.

void Lower2Copper::pushUp ( const wns::ldk::CompoundPtr compound,
double  ber,
const wns::osi::PDUPtr pdu 
) [private]

Definition at line 228 of file Lower2Copper.cpp.

void Lower2Copper::setDataTransmissionService ( wns::service::Service phy  )  [virtual]

Implements glue::convergence::Lower.

Definition at line 187 of file Lower2Copper.cpp.

void Lower2Copper::setMACAddress ( const wns::service::dll::UnicastAddress address  )  [virtual]

Implements glue::convergence::Lower.

Definition at line 221 of file Lower2Copper.cpp.

void Lower2Copper::setNotificationService ( wns::service::Service phy  )  [virtual]

Implements glue::convergence::Lower.

Definition at line 202 of file Lower2Copper.cpp.

void Lower2Copper::traceIncoming ( wns::ldk::CompoundPtr  compound,
bool  collision 
) [private]

Definition at line 237 of file Lower2Copper.cpp.


Member Data Documentation

Definition at line 93 of file Lower2Copper.hpp.

Definition at line 80 of file Lower2Copper.hpp.

Definition at line 91 of file Lower2Copper.hpp.

Definition at line 94 of file Lower2Copper.hpp.

Definition at line 89 of file Lower2Copper.hpp.

Definition at line 81 of file Lower2Copper.hpp.

Definition at line 92 of file Lower2Copper.hpp.


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

Generated on Sat May 26 03:32:31 2012 for openWNS by  doxygen 1.5.5