1
0
Fork 0

new name for the ArpitratingUniverse class

This commit is contained in:
Kevin Matz 2021-08-28 15:28:52 -04:00
parent 6def8d52b9
commit a99a191e13
8 changed files with 40 additions and 40 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 507 KiB

After

Width:  |  Height:  |  Size: 512 KiB

View File

@ -9,8 +9,8 @@ target_sources(${PROJECT_NAME}
sacn/data.h
sacn/extended.cpp
sacn/extended.h
sacn/mergeproxyuniverse.cpp
sacn/mergeproxyuniverse.h
sacn/arbitratinguniverse.cpp
sacn/arbitratinguniverse.h
sacn/node.cpp
sacn/receiver.cpp
sacn/sacn.h

View File

@ -22,14 +22,14 @@
SOFTWARE.
*/
#include "mergeproxyuniverse.h"
#include "arbitratinguniverse.h"
namespace sACN {
/**
* @brief MergeProxyUniverse::MergeProxyUniverse
*/
MergeProxyUniverse::MergeProxyUniverse()
ArbitratingUniverse::ArbitratingUniverse()
: sACN::Universe()
{
}
@ -38,7 +38,7 @@ MergeProxyUniverse::MergeProxyUniverse()
/**
* @brief MergeProxyUniverse::~MergeProxyUniverse
*/
MergeProxyUniverse::~MergeProxyUniverse()
ArbitratingUniverse::~ArbitratingUniverse()
{
for (auto& [_, universe] : sources_)
delete universe;
@ -49,7 +49,7 @@ MergeProxyUniverse::~MergeProxyUniverse()
* @brief MergeProxyUniverse::sources
* @return
*/
const std::vector<DATA::data_header> MergeProxyUniverse::sources() const
const std::vector<DATA::data_header> ArbitratingUniverse::sources() const
{
std::vector<DATA::data_header> keys;
for (const auto& [key, _] : sources_)
@ -63,7 +63,7 @@ const std::vector<DATA::data_header> MergeProxyUniverse::sources() const
* @param src
* @return
*/
Universe* MergeProxyUniverse::sourceUniverse(const DATA::data_header &src)
Universe* ArbitratingUniverse::sourceUniverse(const DATA::data_header &src)
{
if (!hasSourceUniverse(src))
newProvenance_(src);
@ -76,7 +76,7 @@ Universe* MergeProxyUniverse::sourceUniverse(const DATA::data_header &src)
* @param src
* @return
*/
bool MergeProxyUniverse::hasSourceUniverse(const DATA::data_header& src) const
bool ArbitratingUniverse::hasSourceUniverse(const DATA::data_header& src) const
{
if (sources_.count(src))
return true;
@ -88,7 +88,7 @@ bool MergeProxyUniverse::hasSourceUniverse(const DATA::data_header& src) const
* @brief MergeProxyUniverse::hassources
* @return
*/
bool MergeProxyUniverse::hasSources() const
bool ArbitratingUniverse::hasSources() const
{
if (sources_.size())
return true;
@ -100,7 +100,7 @@ bool MergeProxyUniverse::hasSources() const
* @brief MergeProxyUniverse::deleteSourceUniverse
* @param src
*/
void MergeProxyUniverse::deleteSourceUniverse(const DATA::data_header& src)
void ArbitratingUniverse::deleteSourceUniverse(const DATA::data_header& src)
{
if (sources_.count(src))
{
@ -114,7 +114,7 @@ void MergeProxyUniverse::deleteSourceUniverse(const DATA::data_header& src)
* @brief MergeProxyUniverse::addSourceUniverse
* @param universe
*/
void MergeProxyUniverse::addSourceUniverse(Universe* universe)
void ArbitratingUniverse::addSourceUniverse(Universe* universe)
{
sources_.at(*universe->provenance()) = universe;
}
@ -124,7 +124,7 @@ void MergeProxyUniverse::addSourceUniverse(Universe* universe)
* @brief MergeProxyUniverse::dataChangedNotifier
* @param dmx
*/
void MergeProxyUniverse::dataChangedNotifier(DMX::Universe* dmx)
void ArbitratingUniverse::dataChangedNotifier(DMX::Universe* dmx)
{
auto sacn = static_cast<sACN::Universe*>(dmx);
auto universe = dominant_();
@ -140,7 +140,7 @@ void MergeProxyUniverse::dataChangedNotifier(DMX::Universe* dmx)
* @brief MergeProxyUniverse::isSyncronized
* @return
*/
bool MergeProxyUniverse::isSyncronized() const
bool ArbitratingUniverse::isSyncronized() const
{
auto universe = dominant_();
if (!universe)
@ -153,7 +153,7 @@ bool MergeProxyUniverse::isSyncronized() const
* @brief MergeProxyUniverse::provenance
* @return
*/
std::shared_ptr<DATA::data_header> MergeProxyUniverse::provenance() const
std::shared_ptr<DATA::data_header> ArbitratingUniverse::provenance() const
{
auto universe = dominant_();
if (!universe)
@ -167,7 +167,7 @@ std::shared_ptr<DATA::data_header> MergeProxyUniverse::provenance() const
* @param pdu
* @param src
*/
void MergeProxyUniverse::set(std::shared_ptr<ACN::DMP::Pdu> pdu,
void ArbitratingUniverse::set(std::shared_ptr<ACN::DMP::Pdu> pdu,
std::shared_ptr<DATA::data_header> src)
{
if (!sources_.count(*src))
@ -180,7 +180,7 @@ void MergeProxyUniverse::set(std::shared_ptr<ACN::DMP::Pdu> pdu,
/**
* @brief MergeProxyUniverse::synchronize
*/
void MergeProxyUniverse::synchronize()
void ArbitratingUniverse::synchronize()
{
for ( auto& [_, uni] : sources_)
uni->synchronize();
@ -191,7 +191,7 @@ void MergeProxyUniverse::synchronize()
* @brief MergeProxyUniverse::data
* @return
*/
const DMX::DimmerData * MergeProxyUniverse::data() const
const DMX::DimmerData * ArbitratingUniverse::data() const
{
auto universe = dominant_();
if (!universe)
@ -205,7 +205,7 @@ const DMX::DimmerData * MergeProxyUniverse::data() const
* @param s
* @return
*/
uint8_t MergeProxyUniverse::slot(const uint16_t s) const
uint8_t ArbitratingUniverse::slot(const uint16_t s) const
{
auto universe = dominant_();
if (!universe)
@ -218,7 +218,7 @@ uint8_t MergeProxyUniverse::slot(const uint16_t s) const
* @brief MergeProxyUniverse::rxRate
* @return
*/
double MergeProxyUniverse::rxRate()
double ArbitratingUniverse::rxRate()
{
auto universe = dominant_();
if (!universe)
@ -231,7 +231,7 @@ double MergeProxyUniverse::rxRate()
* @brief MergeProxyUniverse::dominant_
* @return
*/
Universe* MergeProxyUniverse::dominant_() const
Universe* ArbitratingUniverse::dominant_() const
{
Universe* ret = nullptr;
for (auto& [_, uni] : sources_)
@ -249,10 +249,10 @@ Universe* MergeProxyUniverse::dominant_() const
* @brief MergeProxyUniverse::newSource_
* @param src
*/
void MergeProxyUniverse::newProvenance_(const DATA::data_header &src)
void ArbitratingUniverse::newProvenance_(const DATA::data_header &src)
{
sources_.emplace(src, new Universe());
sources_.at(src)->onData(std::bind(&sACN::MergeProxyUniverse::dataChangedNotifier,
sources_.at(src)->onData(std::bind(&sACN::ArbitratingUniverse::dataChangedNotifier,
this, std::placeholders::_1));
}

View File

@ -31,20 +31,20 @@
namespace sACN {
/**
* @brief The MergeProxyUniverse class
* @brief The ArbitratingUniverse class
*
* > \cite sACN 6.2.3.1 Multiple Sources at Highest Priority
* >
* > It is possible for there to be multiple sources, all transmitting data at the
* > highest currently active priority for a given universe. When this occurs,
* > receivers must handle these sources in some way.
* > It is possible for there to be multiple sources, all transmitting data
* > at the highest currently active priority for a given universe. When this
* > occurs, receivers must handle these sources in some way.
*/
class MergeProxyUniverse
class ArbitratingUniverse
: public sACN::Universe
{
public:
MergeProxyUniverse();
~MergeProxyUniverse();
ArbitratingUniverse();
~ArbitratingUniverse();
// Source universes:
const std::vector<DATA::data_header> sources() const;

View File

@ -65,7 +65,7 @@ Receiver::~Receiver()
void Receiver::subscribe(const uint16_t num) {
if (universes_.count(num))
return;
universes_.emplace(num, new MergeProxyUniverse());
universes_.emplace(num, new ArbitratingUniverse());
}

View File

@ -27,7 +27,7 @@
#include "data.h"
#include "extended.h"
#include "sacn.h"
#include "mergeproxyuniverse.h"
#include "arbitratinguniverse.h"
#include <unordered_map>
#include <vector>
@ -52,7 +52,7 @@ namespace sACN {
* > documentation for the device.
*
* sACN::Receiver has a merge limit maximum constrained by device memory, not
* to excede 18,446,744,073,709,551,615 (2^64) sources.
* to excede 18,446,744,073,709,551,615 (2^64) sources on most platforms.
*
* > \cite sACN If merging or arbitration is implemented the algorithm used
* > shall be declared in user documentation for the device.
@ -93,7 +93,7 @@ protected:
void discoveryListHanlder(ACN::PDU::Message<EXTENDED::DISCOVERY::Pdu>);
private:
std::unordered_map<uint16_t, MergeProxyUniverse*> universes_;
std::unordered_map<uint16_t, ArbitratingUniverse*> universes_;
std::vector<EXTENDED::DISCOVERY::Watcher> discoveryCallbacks_;
};

View File

@ -29,10 +29,10 @@
* @brief \cite sACN E1.31 Lightweight streaming protocol for transport of
* DMX512 \cite DMX using ACN \cite ACN.
*
* > # 1 Introduction
* >
* > ## 1.1 Scope
* >
* # 1 Introduction
*
* ## 1.1 Scope
*
* > This standard describes a mechanism to transfer DMX512-A [DMX] packets
* > over an IP network using a subset of the ACN protocol suite. It covers
* > data format, data protocol, data addressing, and network management. It
@ -41,9 +41,9 @@
* > source. Sources transporting either data or synchronization packets must
* > also advertise, via the Universe Discovery mechanism, what universes they
* > are actively transmitting on.
* >
* > ## 1.2 Overview and Architecture
* >
*
* ## 1.2 Overview and Architecture
*
* > This standard can be used to transfer DMX512-A \cite DMX packets of all
* > START Codes via an ANSI E1.17 \cite ACN supported network. It also
* > defines a method by which this \cite DMX data may be synchronized across