Skip to content

Commit

Permalink
Fix build
Browse files Browse the repository at this point in the history
  • Loading branch information
petya2164 committed Sep 4, 2019
1 parent ad419ab commit c710bf5
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
19 changes: 10 additions & 9 deletions examples/kodo-broadcast-object.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,14 @@ class BroadcastObject
m_payloadsForCurrentBlock = 0;

// Create the storage encoder
m_encoder = storage_encoder (m_field, m_generationSize, m_packetSize);
m_encoder = std::make_shared<storage_encoder> (m_field,
m_generationSize, m_packetSize);

// Initialize the data buffer that might be larger than a single generation
// In a realistic application, this input buffer can be read from a file
m_encoderBuffer.resize (m_objectSize);
m_encoder.set_const_storage (storage::storage (m_encoderBuffer));
m_encoderStacks.resize (m_encoder.blocks ());
m_encoder->set_const_storage (storage::storage (m_encoderBuffer));
m_encoderStacks.resize (m_encoder->blocks ());

// Create storage decoders for each sink node
m_decoderBuffers.resize (m_users);
Expand All @@ -81,7 +82,7 @@ class BroadcastObject
// Create data buffer for the decoder
m_decoderBuffers[n].resize (m_objectSize);
decoder.set_mutable_storage (storage::storage (m_decoderBuffers[n]));
m_decoderStacks[n].resize (decoder->blocks ());
m_decoderStacks[n].resize (decoder.blocks ());

m_decoders.emplace_back (decoder);
}
Expand All @@ -107,7 +108,7 @@ class BroadcastObject
// blocks)
if (m_payloadsForCurrentBlock >= m_generationSize + m_extraPackets)
{
m_currentBlock = (m_currentBlock + 1) % m_encoder.blocks ();
m_currentBlock = (m_currentBlock + 1) % m_encoder->blocks ();
m_payloadsForCurrentBlock = 0;
}

Expand All @@ -116,7 +117,7 @@ class BroadcastObject
// Create the encoder for this block if necessary
if (!m_encoderStacks[i])
{
m_encoderStacks[i] = m_encoder.build (i);
m_encoderStacks[i] = m_encoder->build (i);
std::cout << "Encoder created for block: " << i << std::endl;
}

Expand All @@ -125,7 +126,7 @@ class BroadcastObject
// First, the current block ID to the payload
endian::big_endian::put<uint32_t>(i, payload.data());
// Write a symbol to the payload buffer after the block ID
uint32_t bytesUsed = m_encoderStacks[i]->write_payload (&payload[4]);
uint32_t bytesUsed = m_encoderStacks[i]->produce_payload (&payload[4]);
auto packet = ns3::Create<ns3::Packet> (&payload[0], 4 + bytesUsed);
socket->Send (packet);
m_payloadsForCurrentBlock++;
Expand Down Expand Up @@ -169,7 +170,7 @@ class BroadcastObject
return;

// Pass the symbol to the appropriate decoder
m_decoderStacks[n][i]->read_payload (&payload[4]);
m_decoderStacks[n][i]->consume_payload (&payload[4]);

if (m_decoderStacks[n][i]->is_complete ())
{
Expand All @@ -195,7 +196,7 @@ class BroadcastObject

ns3::Ptr<ns3::Socket> m_source;
std::vector<ns3::Ptr<ns3::Socket>> m_sinks;
storage_encoder m_encoder;
std::shared_ptr<storage_encoder> m_encoder;
std::vector<encoder_stack_ptr> m_encoderStacks;
std::vector<uint8_t> m_encoderBuffer;
std::vector<storage_decoder> m_decoders;
Expand Down
2 changes: 1 addition & 1 deletion examples/kodo-recoders.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ class Recoders
}

// Create decoder and its data buffer
m_decoder = decoderFactory.build ();
m_decoder = kodo_rlnc::decoder (m_field, m_generationSize, m_packetSize);
m_decoderBuffer.resize (m_decoder.block_size ());
m_decoder.set_symbols_storage (m_decoderBuffer.data ());
m_payload.resize (m_decoder.max_payload_size ());
Expand Down

0 comments on commit c710bf5

Please sign in to comment.