Esempio n. 1
0
void
TAO::DCPS::ReliableMulticast::detail::SenderLogic::receive(
  const TAO::DCPS::ReliableMulticast::detail::Packet& p,
  PacketVector& redelivered
  ) const
{
  redelivered.clear();
  if (p.type_ == TAO::DCPS::ReliableMulticast::detail::Packet::NACK)
  {
    for (
      TAO::DCPS::ReliableMulticast::detail::Packet::id_type id = p.nack_begin_;
      id != p.nack_end_;
      ++id
      )
    {
      BufferType::const_iterator iter = buffer_.find(id);

      if (iter != buffer_.end())
      {
        redelivered.push_back(iter->second);
      }
      else
      {
        redelivered.push_back(TAO::DCPS::ReliableMulticast::detail::Packet(
          id,
          TAO::DCPS::ReliableMulticast::detail::Packet::DATA_NOT_AVAILABLE
          ));
      }
    }
  }
}
Esempio n. 2
0
void AddPacket(string name, string data)
{
	sPacket p;
	p.name = name;
	p.data = data;
	vPacket.push_back(p);
}
Esempio n. 3
0
void
OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::deliver(
  PacketVector& delivered,
  const Packet& p
  )
{
  delivered.push_back(p);
  last_delivered_id_ = p.id_;
}
Esempio n. 4
0
void
TAO::DCPS::ReliableMulticast::detail::SenderLogic::buffer_packet(
  const TAO::DCPS::ReliableMulticast::detail::Packet& p,
  PacketVector& delivered
  )
{
  TAO::DCPS::ReliableMulticast::detail::Packet tmp(p);

  if (buffersize() == sender_history_size_)
  {
    buffer_.erase(current_id_ - sender_history_size_);
  }
  tmp.id_ = current_id_;
  ++current_id_;
  buffer_.insert(std::make_pair(tmp.id_, tmp));
  delivered.push_back(tmp);
}
Esempio n. 5
0
void ReadPacketXML(string filename)
{
	ifstream file(filename);
	using boost::property_tree::ptree;
	ptree pt;
	read_xml(file, pt);
	if(!pt.empty())
	{
		for(ptree::value_type const& v : pt.get_child("packetlist"))
		{
			if(v.first == "packet")
			{
				sPacket p;
				p.name = v.second.get<string>("name");
				p.data = v.second.get<string>("data");
				vPacket.push_back(p);
			}
		}
	}
}