Browse Source

choose streaming destination for destination port

pull/163/head
orignal 10 years ago
parent
commit
7b938b246a
  1. 13
      Destination.cpp
  2. 3
      Destination.h

13
Destination.cpp

@ -371,11 +371,24 @@ namespace client
switch (buf[9]) switch (buf[9])
{ {
case PROTOCOL_TYPE_STREAMING: case PROTOCOL_TYPE_STREAMING:
{
// streaming protocol // streaming protocol
if (toPort) // not null
{
auto it = m_StreamingDestinationsByPorts.find (toPort);
if (it != m_StreamingDestinationsByPorts.end ())
{
// found destination for specific port
it->second->HandleDataMessagePayload (buf, length);
break;
}
}
// if port is zero, or destination for port not found, use default
if (m_StreamingDestination) if (m_StreamingDestination)
m_StreamingDestination->HandleDataMessagePayload (buf, length); m_StreamingDestination->HandleDataMessagePayload (buf, length);
else else
LogPrint ("Missing streaming destination"); LogPrint ("Missing streaming destination");
}
break; break;
case PROTOCOL_TYPE_DATAGRAM: case PROTOCOL_TYPE_DATAGRAM:
// datagram protocol // datagram protocol

3
Destination.h

@ -130,7 +130,8 @@ namespace client
uint32_t m_PublishReplyToken; uint32_t m_PublishReplyToken;
std::set<i2p::data::IdentHash> m_ExcludedFloodfills; // for publishing std::set<i2p::data::IdentHash> m_ExcludedFloodfills; // for publishing
std::shared_ptr<i2p::stream::StreamingDestination> m_StreamingDestination; std::shared_ptr<i2p::stream::StreamingDestination> m_StreamingDestination; // default
std::map<uint16_t, std::shared_ptr<i2p::stream::StreamingDestination> > m_StreamingDestinationsByPorts;
i2p::datagram::DatagramDestination * m_DatagramDestination; i2p::datagram::DatagramDestination * m_DatagramDestination;
boost::asio::deadline_timer m_PublishConfirmationTimer, m_CleanupTimer; boost::asio::deadline_timer m_PublishConfirmationTimer, m_CleanupTimer;

Loading…
Cancel
Save