#include <WsfCommNetwork.hpp>
|
These methods allow implementations to add functionality to the base add/remove methods. - Note
- These methods are called after container actions have been completed (add/remove), in an assumptive "true" state in the public method call. Thus, the implementation may undo these changes and return a different value. In addition, these methods are required for correct establishment of linkage, as they should notify the network manager to create the necessary linkage so that implementation details are local.
|
| Address | mAddress {} |
| AddressList | mAddressList {} |
| AddressList | mInputAddressList {} |
| AddressLinkList | mAddressLinkList {} |
| AddressLinkList | mInputAddressLinkList {} |
| | Same case as "mInputAddressList" above, except with link definitions.
|
| NamedList | mNamedList {} |
| NamedLinkList | mNamedLinkList {} |
| bool | mManaged {false} |
| | True if this network is being managed by the simulation.
|
| virtual bool | AddMemberP (const Address &aAddress, WsfSimulation &aSimulation, const Address &aOptionalAddress=Address()) |
| virtual bool | RemoveMemberP (const Address &aAddress, WsfSimulation &aSimulation, const Address &aOptionalAddress=Address()) |
| virtual bool | AddLinkP (const Address &aSourceAddress, const Address &aDestinationAddress, WsfSimulation &aSimulation, const Address &aOptionalAddress=Address()) |
| virtual bool | RemoveLinkP (const Address &aSourceAddress, const Address &aDestinationAddress, WsfSimulation &aSimulation, const Address &aOptionalAddress=Address()) |
|
These methods are the interface accessible methods for adding/removing to the network. These base methods only add/remove to the applicable container depending on the implementation specific call of the same name. The optional address parameter is included for passage of an additional address via the Network interface that may or may not be used on by various implementations.
|
| bool | AddMember (const Address &aAddress, WsfSimulation &aSimulation, const Address &aOptionalAddress=Address()) |
| bool | RemoveMember (const Address &aAddress, WsfSimulation &aSimulation, const Address &aOptionalAddress=Address()) |
| bool | AddLink (const Address &aSourceAddress, const Address &aDestinationAddress, WsfSimulation &aSimulation, const Address &aOptionalAddress=Address()) |
| bool | RemoveLink (const Address &aSourceAddress, const Address &aDestinationAddress, WsfSimulation &aSimulation, const Address &aOptionalAddress=Address()) |
|
This method is called when a re-evaluation of linkage should occur within the network topology. This is useful on special network implementations where linkage isn't solely defined on membership or edge definitions, i.e. add-hoc networking. The derived member implementations should define the logic for establishment/removal of linkage via the protected version of this method.
|
| void | SetAddress (const Address &aAddress) |
| void | SetIsManaged (bool aManaged) |
| const Address & | GetAddress () const |
| size_t | GetHostsMax () const |
| bool | IsManaged () const |
|
This method returns the named member list for this network, as provided by user input with the network type definition. These members must be available for external inspection (namely by the network manager) so that any associated comm interface can have its definition modified to specify inclusion into this network, otherwise it may be incorrectly assigned elsewhere (default network). This isn't required for other member types, as they are static and indicate network membership directly with the address itself.
|
| const NamedList & | GetNamedMemberList () const |
◆ AddressLinkList
◆ AddressList
◆ NamedLinkList
◆ NamedList
◆ Network() [1/4]
| wsf::comm::Network::Network |
( |
| ) |
|
|
default |
◆ ~Network()
| wsf::comm::Network::~Network |
( |
| ) |
|
|
overridedefault |
◆ Network() [2/4]
| wsf::comm::Network::Network |
( |
const std::string & | aNetworkName, |
|
|
const Address & | aAddress ) |
◆ Network() [3/4]
| wsf::comm::Network::Network |
( |
const Network & | aSrc | ) |
|
|
default |
◆ Network() [4/4]
| wsf::comm::Network::Network |
( |
Network && | aSrc | ) |
|
|
default |
◆ AddLink()
◆ AddLinkP()
◆ AddMember()
◆ AddMemberP()
◆ Clone()
| Network * wsf::comm::Network::Clone |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ GetAddress()
| const Address & wsf::comm::Network::GetAddress |
( |
| ) |
const |
|
inline |
◆ GetAddressFromNamedComm()
◆ GetHostsMax()
| size_t wsf::comm::Network::GetHostsMax |
( |
| ) |
const |
|
inline |
◆ GetNamedMemberList()
| const NamedList & wsf::comm::Network::GetNamedMemberList |
( |
| ) |
const |
|
inline |
◆ GetScriptClassName()
| const char * wsf::comm::Network::GetScriptClassName |
( |
| ) |
const |
|
override |
◆ HasMember()
| bool wsf::comm::Network::HasMember |
( |
const Address & | aAddress | ) |
const |
◆ Initialize()
| virtual bool wsf::comm::Network::Initialize |
( |
WsfSimulation & | aSim | ) |
|
|
inlinevirtual |
◆ InitializeLinkage()
| bool wsf::comm::Network::InitializeLinkage |
( |
WsfSimulation & | aSimulation | ) |
|
References GetAddressFromNamedComm(), wsf::comm::NetworkManager::GetComm(), WsfSimulation::GetCommNetworkManager(), WsfObject::GetType(), InitializeLinkageP(), mAddressLinkList, mAddressList, mInputAddressLinkList, mInputAddressList, mNamedLinkList, and mNamedList.
Referenced by Network().
◆ InitializeLinkageP()
| virtual bool wsf::comm::Network::InitializeLinkageP |
( |
WsfSimulation & | aSimulation | ) |
|
|
inlineprotectedvirtual |
◆ IsManaged()
| bool wsf::comm::Network::IsManaged |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ ProcessAddressLinkListInput()
| bool wsf::comm::Network::ProcessAddressLinkListInput |
( |
UtInput & | aInput | ) |
|
|
protectedvirtual |
◆ ProcessAddressListInput()
| bool wsf::comm::Network::ProcessAddressListInput |
( |
UtInput & | aInput | ) |
|
|
protectedvirtual |
◆ ProcessInput()
| bool wsf::comm::Network::ProcessInput |
( |
UtInput & | aInput | ) |
|
|
inlineoverridevirtual |
Process input from a generic source.
Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.
- Parameters
-
| aInput | a reference to a UtInput object. |
- Returns
- 'true' if the command was one recognized by the class or 'false' if not.
- Exceptions
-
| UtInput::ExceptionBase | (or an object derived from it) if the command was recognized but contains some sort of error. |
- Note
- If a derived class does not recognize the command (i.e.: the return value is false) then it should call the base class ProcessInput method. This chain should continue until either the command is recognized or the top-level base class is encountered.
Reimplemented from WsfObject.
Reimplemented in wsf::comm::NetworkAdHoc, wsf::comm::NetworkGeneric, wsf::comm::NetworkMesh, wsf::comm::NetworkPointToPoint, wsf::comm::NetworkRing, and wsf::comm::NetworkStar.
◆ ProcessNamedLinkListInput()
| bool wsf::comm::Network::ProcessNamedLinkListInput |
( |
UtInput & | aInput | ) |
|
|
protectedvirtual |
◆ ProcessNamedListInput()
| bool wsf::comm::Network::ProcessNamedListInput |
( |
UtInput & | aInput | ) |
|
|
protectedvirtual |
◆ RemoveLink()
◆ RemoveLinkP()
◆ RemoveMember()
◆ RemoveMemberP()
◆ SetAddress()
| void wsf::comm::Network::SetAddress |
( |
const Address & | aAddress | ) |
|
|
inline |
◆ SetIsManaged()
| void wsf::comm::Network::SetIsManaged |
( |
bool | aManaged | ) |
|
|
inline |
◆ mAddress
| Address wsf::comm::Network::mAddress {} |
|
protected |
◆ mAddressLinkList
◆ mAddressList
Referenced by AddMember(), wsf::comm::NetworkDirectedRing::AddMemberP(), wsf::comm::NetworkMesh::AddMemberP(), wsf::comm::NetworkMeshLegacy::AddMemberP(), wsf::comm::NetworkPointToPoint::AddMemberP(), wsf::comm::NetworkRing::AddMemberP(), HasMember(), InitializeLinkage(), wsf::comm::NetworkDirectedRing::InitializeLinkageP(), wsf::comm::NetworkMesh::InitializeLinkageP(), wsf::comm::NetworkPointToPoint::InitializeLinkageP(), wsf::comm::NetworkRing::InitializeLinkageP(), wsf::comm::NetworkStar::InitializeLinkageP(), wsf::comm::NetworkStar::RemoveHub(), RemoveMember(), wsf::comm::NetworkDirectedRing::RemoveMemberP(), wsf::comm::NetworkMesh::RemoveMemberP(), wsf::comm::NetworkPointToPoint::RemoveMemberP(), wsf::comm::NetworkRing::RemoveMemberP(), wsf::comm::NetworkAdHoc::Update(), wsf::comm::NetworkAdHoc::Update(), and wsf::comm::NetworkAdHoc::Update().
◆ mInputAddressLinkList
Same case as "mInputAddressList" above, except with link definitions.
Referenced by InitializeLinkage().
◆ mInputAddressList
Because we use the "mAddressList" member as a container for all address input, we have to use an additional container to distinguish between addresses converted during object processing, and those set via user input. This object is only for addresses provided directly by the user via ProcessInput, or via direct access.
Referenced by InitializeLinkage(), and ProcessAddressListInput().
◆ mManaged
| bool wsf::comm::Network::mManaged {false} |
|
protected |
◆ mNamedLinkList
◆ mNamedList
The documentation for this class was generated from the following files: