Skip to content

OcaStreamNetwork#

This document describes the device side implementation of OcaStreamNetwork. This class is documented in the AES70 standard as:

DEPRECATED CLASS Replaced by class OcaMediaTransportNetwork in version 3 of Connection Management (CM3)

Abstract base class for defining network classes to which this device belongs. May be a media transport network, a control and monitoring network, or a network that does both.

There shall be one OcaStreamNetwork instance for each network to which the device belongs.

This class may be subclassed to support networks of various types.


Overview#

Class Declaration#

The device side implementation has the following signature.

namespace aes70::device
{
  template <class Implementation>
  class OcaStreamNetwork : public OcaAgent<Implementation>
  {

  };
}

The template argument Implementation may implement the following methods.

Note

The signatures given here are just one possibility and that most methods are optional. Implement only those methods which make sense in the context of your device. See the documentation in Implementing AES70 Classes for more details.

class MyOcaStreamNetworkImplementation
{
  // Methods defined by OcaStreamNetwork
  OcaNetworkLinkType GetLinkType();
  OcaNetworkNodeID GetIDAdvertised();
  void SetIDAdvertised(OcaNetworkNodeID Name);
  OcaNetworkControlProtocol GetControlProtocol();
  OcaNetworkMediaProtocol GetMediaProtocol();
  OcaNetworkStatus GetStatus();
  OcaNetworkStatistics GetStatistics();
  void ResetStatistics();
  OcaList<OcaNetworkSystemInterfaceID> GetSystemInterfaces();
  void SetSystemInterfaces(OcaList<OcaNetworkSystemInterfaceID> Interfaces);
  OcaList<OcaONo> GetStreamConnectorsSource();
  void SetStreamConnectorsSource(OcaList<OcaONo> StreamConnectors);
  OcaList<OcaONo> GetStreamConnectorsSink();
  void SetStreamConnectorsSink(OcaList<OcaONo> StreamConnectors);
  OcaList<OcaONo> GetSignalChannelsSource();
  void SetSignalChannelsSource(OcaList<OcaONo> SignalChannels);
  OcaList<OcaONo> GetSignalChannelsSink();
  void SetSignalChannelsSink(OcaList<OcaONo> SignalChannels);
  void Startup();
  void Shutdown();

  // Methods defined by OcaAgent
  OcaString GetLabel();
  void SetLabel(OcaString Label);
  OcaONo GetOwner();
  std::tuple<OcaRolePath,OcaONoPath> GetPath();

  // Methods defined by OcaRoot
  OcaBoolean GetLockable();
  void SetLockNoReadWrite();
  void Unlock();
  OcaString GetRole();
  void SetLockNoWrite();
  OcaLockState GetLockState();

};

Events#