1
0
Fork 0

metadata is a more descriptive property name

This commit is contained in:
Kevin Matz 2022-12-08 10:12:25 -05:00
parent 63ee24d334
commit e34a5acb5c
8 changed files with 40 additions and 40 deletions

View File

@ -47,7 +47,7 @@ QSacnUniverse::~QSacnUniverse()
*/
const QString QSacnUniverse::sourceName() const
{
auto metadata = universe_->provenance();
auto metadata = universe_->metadata();
return metadata ? QString::fromUtf8(metadata->source_name.c_str()) : QString();
}
@ -58,7 +58,7 @@ const QString QSacnUniverse::sourceName() const
*/
uint16_t QSacnUniverse::number() const
{
auto metadata = universe_->provenance();
auto metadata = universe_->metadata();
return metadata ? metadata->universe : 0;
}
@ -69,7 +69,7 @@ uint16_t QSacnUniverse::number() const
*/
uint8_t QSacnUniverse::priority() const
{
auto metadata = universe_->provenance();
auto metadata = universe_->metadata();
return metadata ? metadata->priority : 0;
}
@ -169,7 +169,7 @@ void QSacnUniverse::setOptions(sACN::DATA::data_options o)
if (!isEditable())
return;
universe_->provenance()->options = o;
universe_->metadata()->options = o;
emit dataChanged();
}
@ -183,7 +183,7 @@ void QSacnUniverse::setPriority(uint8_t p)
if (!isEditable())
return;
universe_->provenance()->priority = p;
universe_->metadata()->priority = p;
emit dataChanged();
}
@ -197,7 +197,7 @@ void QSacnUniverse::setSyncAddress(uint16_t a)
if (!isEditable())
return;
universe_->provenance()->sync_address = a;
universe_->metadata()->sync_address = a;
emit dataChanged();
}

View File

@ -144,7 +144,7 @@ void ArbitratingUniverse::dataChangedNotifier(DMX::Universe* dmx)
auto universe = dominant_();
if (!universe)
return;
if (sacn->provenance() == universe->provenance())
if (sacn->metadata() == universe->metadata())
doDataCallbacks();
}
@ -205,7 +205,7 @@ std::shared_ptr<DATA::data_header> ArbitratingUniverse::provenance()
{
auto universe = dominant_();
if (universe)
return universe->provenance();
return universe->metadata();
auto prov = std::make_shared<DATA::data_header>();
prov->universe = expectedUniverse;

View File

@ -71,7 +71,7 @@ public:
void set(std::shared_ptr<ACN::DMP::Pdu>, std::shared_ptr<DATA::data_header>) override;
virtual uint8_t status() override;
std::shared_ptr<DATA::data_header> provenance() override;
std::shared_ptr<DATA::data_header> metadata() override;
void setProvenance(std::shared_ptr<DATA::data_header>) override {};
bool isSyncronized() override;

View File

@ -199,13 +199,13 @@ void Receiver::extendedReceiver(ACN::PDU::Message<ACN::RLP::Pdu> root)
*
*/
void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
auto source = std::static_pointer_cast<DATA::data_header>(frame->header());
auto metadata = std::static_pointer_cast<DATA::data_header>(frame->header());
if (!universes_.count(source->universe))
if (!universes_.count(metadata->universe))
return;
auto universe = universes_.at(source->universe)->sourceUniverse(*source);
auto universe = universes_.at(metadata->universe)->sourceUniverse(*metadata);
if (!universe)
universe = universes_.at(source->universe)->addNewSource(*source);
universe = universes_.at(metadata->universe)->addNewSource(*metadata);
/// > \cite sACN 6.2.6 E1.31 Data Packet: Options
/// >
@ -214,7 +214,7 @@ void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
/// > intended for use in visualization or media server preview applications
/// > and shall not be used to generate live output.
/// \bug Preview_Data flag is ignored
if (source->options.preview_data)
if (metadata->options.preview_data)
return;
/// > \cite sACN 6.2.6 E1.31 Data Packet: Options
@ -223,16 +223,16 @@ void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
/// >
/// > allow E1.31 sources to terminate transmission of a stream or of
/// > universe synchronization without waiting for a timeout to occur.
if (source->options.stream_terminated)
if (metadata->options.stream_terminated)
{
/// Set the universe's status to TERMINATED.
universe->setStatus(Universe::sACN_TERMINATED);
/// Resetting the sequencing on terminated universes results in faster reaquision
/// from the same source without waiting for the sequence to realign.
universe->provenance()->sequence_number = 0;
universe->metadata()->sequence_number = 0;
/// Terminated universe may be deleted as sources.
/// The universe may keep itself, in a terminated state, for hold-last-look.
universes_[source->universe]->deleteSourceUniverse(*source);
universes_[metadata->universe]->deleteSourceUniverse(*metadata);
/// > Any property values in an E1.31 Data Packet containing this bit
/// > shall be ignored.
return;
@ -242,8 +242,8 @@ void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
/// >
/// > a value of 0 in the Synchronization Address indicates that the universe
/// > data is not synchronized.
if (source->sync_address != 0)
subscribe(source->sync_address);
if (metadata->sync_address != 0)
subscribe(metadata->sync_address);
/// > \cite sACN 6.7.2 Sequence Numbering
/// >
@ -260,8 +260,8 @@ void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
/// This also prevents the rejection of messages recieved on both IPv4 and
/// IPv6, which violates the reciever requiement in \cite sACN 9.1 Association
/// of Multicast Addresses and Universe requirement.
auto a = universe->provenance()->sequence_number;
auto b = source->sequence_number;
auto a = universe->metadata()->sequence_number;
auto b = metadata->sequence_number;
if (!(a == 0 && b == 0))
{
int dif = b - a;
@ -281,7 +281,7 @@ void Receiver::dataFrameHandler(ACN::PDU::Message<DATA::Pdu> frame) {
/// > VECTOR_DMP_SET_PROPERTY.
switch(dmp->vector()) {
case ACN::DMP::SET_PROPERTY:
universe->set(dmp, source);
universe->set(dmp, metadata);
break;
default:
break;

View File

@ -76,7 +76,7 @@ void Source::terminate(const uint16_t num)
return;
universes_mutext_.lock();
auto metadata = universes_.at(num)->provenance();
auto metadata = universes_.at(num)->metadata();
metadata->options.stream_terminated = true;
universes_.at(num)->setProvenance(metadata);
universes_.erase(num);
@ -126,7 +126,7 @@ void Source::assignUserName(const std::string s)
{
ACN::Component::assignUserName(s);
for( auto & [_, universe] : universes_ )
universe->provenance()->source_name = name();
universe->metadata()->source_name = name();
}
@ -182,7 +182,7 @@ void Source::discovery_send_()
{
if (!univ->activeSlots())
continue;
if (univ->provenance()->options.stream_terminated)
if (univ->metadata()->options.stream_terminated)
continue;
if (univ->destination.type != ACN::SDT::SDT_ADDR_NULL)
continue;

View File

@ -33,7 +33,7 @@ namespace sACN {
*/
Universe::Universe(Source* src)
: DMX::Universe(E131_NETWORK_DATA_LOSS_TIMEOUT)
, provenance_(std::make_shared<DATA::data_header>())
, metadata_(std::make_shared<DATA::data_header>())
, source_(src)
, active_data_slots_(1) // start code
, sync_sequence_(0)
@ -153,7 +153,7 @@ void Universe::set(ACN::PDU::Message<ACN::DMP::Pdu> dmp,
*/
void Universe::setProvenance(std::shared_ptr<DATA::data_header> source)
{
provenance_ = source;
metadata_ = source;
}
@ -184,7 +184,7 @@ bool Universe::isEditable() const
const std::vector<DATA::data_header> Universe::sources() const
{
std::vector<DATA::data_header> keys;
keys.push_back(*provenance_);
keys.push_back(*metadata_);
return keys;
}
@ -206,7 +206,7 @@ std::shared_ptr<void> Universe::onSourceListChange(std::function<void()>)
*/
std::shared_ptr<Universe> Universe::sourceUniverse(const DATA::data_header& src)
{
if (src == *provenance())
if (src == *metadata())
return shared_from_this();
return nullptr;
@ -277,12 +277,12 @@ void Universe::setStatus(uint8_t status)
/**
* @brief Universe::source
* @brief Universe::metadata
* @return
*/
std::shared_ptr<DATA::data_header> Universe::provenance()
std::shared_ptr<DATA::data_header> Universe::metadata()
{
return provenance_;
return metadata_;
}
@ -328,7 +328,7 @@ void Universe::sACNsend() const
/// >
/// > ... The sequence number for a universe shall be incremented by one for
/// > every packet sent on that universe...
provenance_->sequence_number++;
metadata_->sequence_number++;
// header
auto addrtyp = std::make_shared<ACN::DMP::address_type>();
@ -362,7 +362,7 @@ void Universe::sACNsend() const
// sACN Framing Layer
auto frame = std::make_shared<DATA::Pdu>();
frame->setVector(VECTOR_E131_DATA_PACKET);
frame->setHeader(provenance_);
frame->setHeader(metadata_);
frame->setData(dmp);
// send
@ -370,9 +370,9 @@ void Universe::sACNsend() const
{
case ACN::SDT::SDT_ADDR_NULL:
source_->rlpSendUdp(VECTOR_ROOT_E131_DATA, frame,
IPv4MulticastAddress(provenance_->universe));
IPv4MulticastAddress(metadata_->universe));
source_->rlpSendUdp(VECTOR_ROOT_E131_DATA, frame,
IPv6MulticastAddress(provenance_->universe));
IPv6MulticastAddress(metadata_->universe));
break;
default:
source_->rlpSendUdp(VECTOR_ROOT_E131_DATA, frame, destination);
@ -459,7 +459,7 @@ void Universe::tx_loop_()
else
{
setStatus(sACN_TERMINATED); // note the changed operating status
provenance_->options.stream_terminated = true; // set the stream_terminated bit
metadata_->options.stream_terminated = true; // set the stream_terminated bit
--terminated_resend; // stream_terminated must be sent 3 times
sleep = minimum_update_time; // stay throttled up through the termination sequence
}

View File

@ -54,7 +54,7 @@ public:
virtual void set(ACN::PDU::Message<ACN::DMP::Pdu>, std::shared_ptr<DATA::data_header>);
virtual std::shared_ptr<DATA::data_header> provenance();
virtual std::shared_ptr<DATA::data_header> metadata();
virtual void setProvenance(std::shared_ptr<DATA::data_header>);
virtual bool isSyncronized();
@ -97,7 +97,7 @@ protected:
void sACNsend() const;
private:
std::shared_ptr<DATA::data_header> provenance_;
std::shared_ptr<DATA::data_header> metadata_;
std::vector<uint8_t> * sync_data_ = nullptr;
Source* source_;

View File

@ -125,7 +125,7 @@ TEST_F(sACNdataTest, stream_in) {
EXPECT_DOUBLE_EQ(universe->rxRate(), 1.2) << "rate calucation mismatch";
auto metadata = universe->provenance();
auto metadata = universe->metadata();
ASSERT_TRUE(metadata) << "stream failure";
EXPECT_EQ(metadata->source_name, desc) << "Source Description mismatch";