|
WSF
|
#include <WsfExchange.hpp>


Public Member Functions | |
| Transactor () | |
| ~Transactor () override | |
| bool | Initialize (double aSimTime, WsfExchangeProcessor *aProcessorPtr) |
| WsfSimulation * | GetSimulation () const |
| bool | IsReady () const |
| bool | IsInProgress () const |
| bool | ContinueToOffer () const |
| bool | AlwaysHonorRate () const |
| bool | IsEnabled () const |
| bool | IsOfferor () const |
| bool | IsRequester () const |
| bool | IsHookedToFuel () const |
| bool | IsHookedToPayload () const |
| bool | IsExclusiveHook () const |
| WsfStringId | ContainerNameId () const |
| Container * | ContainerPtr () |
| const Container * | ContainerPtr () const |
| double | TimeOutClockInterval () const |
| std::string | OwningPlatformName () const |
| std::string | OppositePlatformName () const |
| std::string | RequestorPlatformName () const |
| std::string | ResponderPlatformName () const |
| std::string | MyFullName () const |
| bool | RequestFrom (double aSimTime, const WsfPlatform *aSupplierPtr, const Tender &aTender) |
| void | Cancel (double aSimTime) |
| bool | DebugEnabled () const |
| bool | IsService () const |
| void | DebugDump (double aSimTime, const Query &aQuery, ut::log::MessageStream &aMessageStream) const |
| void | SetIsOfferor (bool aValue) |
| void | SetContinueToOffer (bool aValue) |
| void | SetIsHookedToPayload (bool aValue) |
| void | SetIsHookedToFuel (bool aValue) |
| void | SetTimeOutClockInterval (double aValue) |
| void | SetProximityLimit (double aValue) |
| double | ProximityLimit () const |
| Query & | GetQuery () |
| Query * | GetQueryPtr () |
| const Query & | GetQuery () const |
| bool | ProcessInput (UtInput &aInput) |
| bool | ExchangeQueried (double aSimTime, const Query &aQuery) |
| void | TakeQueuedAction (double aSimTime, unsigned int aRequestId, bool aIsTimeOut) |
| bool | ReserveAll (double aSimTime) |
| bool | ReserveTender (double aSimTime, const Tender &aTender) |
| bool | ReserveFor (double aSimTime, const Tender &aTender, WsfPlatform *aReceiverPtr) |
| void | ResetUserAmounts () |
| bool | IsInConflictWith (const Transactor &aRhs) const |
| bool | SetDesiredTender (const Tender &aTender) |
| bool | SetOfferedTender (const Tender &aTender) |
| void | Disable () |
| const char * | GetScriptClassName () const |
| Public Member Functions inherited from WsfNamed | |
| WsfNamed () | |
| WsfNamed (WsfStringId aName) | |
| WsfNamed (const WsfNamed &)=default | |
| WsfNamed & | operator= (const WsfNamed &)=default |
| virtual | ~WsfNamed ()=default |
| const std::string & | GetName () const |
| WsfStringId | GetNameId () const |
| void | SetName (WsfStringId aName) |
Static Public Member Functions | |
| static bool | IsState (WsfStringId aState) |
| static bool | IsEvent (WsfStringId aEventId) |
| static bool | LoadInstance (UtInput &aInput, Transactor *&aInstancePtr) |
| static unsigned int | NextSerialRequestId () |
| static void | ResetNextSerialRequestId () |
Transactor of goods or services. Identifies the potential platforms involved in the exchange. A unique RequestId is held to distinguish this among a number of Transactions that may be going on simultaneously. Note that this Transactor does not "own" the produce or service, as it is stored in the Container. But as a broker, he is allowed to commit and hold a particular quantity for the transaction being considered at the moment.
| WsfExchange::Transactor::Transactor | ( | ) |
Referenced by GetScriptClassName(), IsInConflictWith(), LoadInstance(), and ResetUserAmounts().
|
override |
|
inline |
| void WsfExchange::Transactor::Cancel | ( | double | aSimTime | ) |
Referenced by TakeQueuedAction().
|
inline |
|
inline |
Referenced by RequestFrom().
|
inline |
|
inline |
| void WsfExchange::Transactor::DebugDump | ( | double | aSimTime, |
| const Query & | aQuery, | ||
| ut::log::MessageStream & | aMessageStream ) const |
References WsfExchange::Query::DebugDump(), and MyFullName().
Referenced by ExchangeQueried().
| bool WsfExchange::Transactor::DebugEnabled | ( | ) | const |
Referenced by ExchangeQueried(), RequestFrom(), and TakeQueuedAction().
| void WsfExchange::Transactor::Disable | ( | ) |
References simTime.
Referenced by ResetUserAmounts().
| bool WsfExchange::Transactor::ExchangeQueried | ( | double | aSimTime, |
| const Query & | aQuery ) |
hmmm, may need to remove this later?
References DebugDump(), DebugEnabled(), WsfExchange::Query::DesiredQuantity(), WsfExchange::Query::EventId(), WsfNamed::GetName(), WsfExchange::Query::IsDone(), WsfExchange::Query::IsOfferor(), WsfExchange::Query::IsService(), WsfExchange::Query::ItemId(), WsfExchange::Query::NegotiatedQuantity(), WsfExchange::Query::OfferedQuantity(), WsfExchange::Query::OwningIndex(), OwningPlatformName(), WsfExchange::Query::RequestId(), WsfExchange::Query::RequestingIndex(), WsfExchange::Query::RespondingIndex(), WsfExchange::sEVENT_OFFEROR_COMPLETED, WsfExchange::sSTATE_ACCEPTING, WsfExchange::sSTATE_OFFERING, WsfExchange::sSTATE_READY, and WsfExchange::sSTATE_SUPPLYING.
|
inline |
|
inline |
|
inline |
| const char * WsfExchange::Transactor::GetScriptClassName | ( | ) | const |
References RequestFrom(), and Transactor().
| WsfSimulation * WsfExchange::Transactor::GetSimulation | ( | ) | const |
| bool WsfExchange::Transactor::Initialize | ( | double | aSimTime, |
| WsfExchangeProcessor * | aProcessorPtr ) |
|
inline |
|
static |
|
inline |
|
inline |
|
inline |
| bool WsfExchange::Transactor::IsInConflictWith | ( | const Transactor & | aRhs | ) | const |
References WsfNamed::GetNameId(), and Transactor().
Referenced by ResetUserAmounts().
|
inline |
|
inline |
Referenced by RequestFrom(), and ReserveTender().
|
inline |
References WsfExchange::sSTATE_READY.
|
inline |
|
inline |
Referenced by Initialize(), and RequestFrom().
|
static |
|
static |
References ProcessInput(), WsfNamed::SetName(), and Transactor().
Referenced by WsfExchangeProcessor::ProcessInput().
| std::string WsfExchange::Transactor::MyFullName | ( | ) | const |
References WsfNamed::GetName(), and WsfObject::GetName().
Referenced by DebugDump(), and Initialize().
|
static |
Referenced by WsfDisServiceRequest::Process(), and RequestFrom().
| std::string WsfExchange::Transactor::OppositePlatformName | ( | ) | const |
| std::string WsfExchange::Transactor::OwningPlatformName | ( | ) | const |
References WsfObject::GetName(), WsfSimulation::GetPlatformByIndex(), GetQuery(), and WsfPlatform::GetSimulation().
Referenced by ExchangeQueried(), RequestFrom(), and TakeQueuedAction().
| bool WsfExchange::Transactor::ProcessInput | ( | UtInput & | aInput | ) |
Referenced by LoadInstance(), and WsfExchangeProcessor::ProcessInput().
|
inline |
| bool WsfExchange::Transactor::RequestFrom | ( | double | aSimTime, |
| const WsfPlatform * | aSupplierPtr, | ||
| const Tender & | aTender ) |
References ContainerPtr(), WsfExchange::Result::cPENDING, WsfExchange::Result::cTIMED_OUT, DebugEnabled(), WsfObserver::ExchangeQueried(), WsfPlatform::GetIndex(), WsfObject::GetName(), WsfNamed::GetNameId(), IsOfferor(), IsService(), NextSerialRequestId(), OwningPlatformName(), WsfExchange::Tender::Quantity(), WsfExchange::Tender::Rate(), WsfExchange::sSTATE_READY, and WsfExchange::sSTATE_REQUESTING.
Referenced by GetScriptClassName().
| std::string WsfExchange::Transactor::RequestorPlatformName | ( | ) | const |
| bool WsfExchange::Transactor::ReserveAll | ( | double | aSimTime | ) |
References ReserveTender().
| bool WsfExchange::Transactor::ReserveFor | ( | double | aSimTime, |
| const Tender & | aTender, | ||
| WsfPlatform * | aReceiverPtr ) |
| bool WsfExchange::Transactor::ReserveTender | ( | double | aSimTime, |
| const Tender & | aTender ) |
|
static |
Referenced by WsfDisInterface::~WsfDisInterface().
| void WsfExchange::Transactor::ResetUserAmounts | ( | ) |
References Disable(), IsInConflictWith(), SetDesiredTender(), SetOfferedTender(), and Transactor().
| std::string WsfExchange::Transactor::ResponderPlatformName | ( | ) | const |
|
inline |
| bool WsfExchange::Transactor::SetDesiredTender | ( | const Tender & | aTender | ) |
References GetQuery(), WsfExchange::Tender::Quantity(), WsfExchange::Query::SetDesiredQuantity(), and WsfExchange::sSTATE_READY.
Referenced by ResetUserAmounts().
|
inline |
|
inline |
|
inline |
| bool WsfExchange::Transactor::SetOfferedTender | ( | const Tender & | aTender | ) |
References GetQuery(), WsfExchange::Tender::Quantity(), WsfExchange::Tender::Rate(), WsfExchange::Query::SetNegotiatedQuantity(), WsfExchange::Query::SetNegotiatedRate(), WsfExchange::Query::SetOfferedQuantity(), WsfExchange::Query::SetOfferedRate(), and WsfExchange::sSTATE_READY.
Referenced by ReserveTender(), and ResetUserAmounts().
|
inline |
|
inline |
| void WsfExchange::Transactor::TakeQueuedAction | ( | double | aSimTime, |
| unsigned int | aRequestId, | ||
| bool | aIsTimeOut ) |
References Cancel(), WsfExchange::Result::cIN_PROGRESS, DebugEnabled(), WsfNamed::GetName(), and OwningPlatformName().
|
inline |