:orphan:

.. ****************************************************************************
.. CUI
..
.. The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
..
.. The use, dissemination or disclosure of data in this file is subject to
.. limitation or restriction. See accompanying README and LICENSE for details.
.. ****************************************************************************

WSF_COMM_NETWORK_RING
---------------------

.. model:: network WSF_COMM_NETWORK_RING

Script Class: :class:`WsfNetworkRing`

.. parsed-literal::

   network <name> :model:`WSF_COMM_NETWORK_RING`
      ... :ref:`network Commands <network.Commands>` ...
      
      comm_list_
         member <string-value> <string-value>
         ...
      end_comm_list
      
      address_list_
         member <address-value>
         ...
      end_address_list
      
   end_network
   
Overview
========

:model:`WSF_COMM_NETWORK_RING` provides a generic network that enforces a ring topology. All members of this
network are ordered, with each member having a bi-directional link to its neighbors. As such, this network
requires the provision of at least three members before links are created. The ordering is implied via the
comm_list and address_list defined members, in which comms specified by address (if applicable) are ordered
by input, followed by comms specified by platform/comm name. The first and last ordered members link to each
other to complete the ring topology.

Commands
========

.. command:: comm_list ... end_comm_list

   Members of this network may be specified by identifying a comm object by its owning platform name and 
   the name of the comm. Each entry in this list is prefixed by the "member" command.

.. command:: address_list ... end_address_list

   Members of this network may be specified by identifying a comm object by its address. Each entry in this
   list is prefixed by the "member" command. This list is only available to comm objects that have specified
   addresses in input, as comms without specified addresses will be dynamically allocated at runtime.