handle streaming packet in streaming thread
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
#include <boost/bind.hpp>
|
||||||
#include <cryptopp/gzip.h>
|
#include <cryptopp/gzip.h>
|
||||||
#include "Log.h"
|
#include "Log.h"
|
||||||
#include "RouterInfo.h"
|
#include "RouterInfo.h"
|
||||||
@@ -481,6 +482,11 @@ namespace stream
|
|||||||
}
|
}
|
||||||
|
|
||||||
void StreamingDestinations::HandleNextPacket (i2p::data::IdentHash destination, Packet * packet)
|
void StreamingDestinations::HandleNextPacket (i2p::data::IdentHash destination, Packet * packet)
|
||||||
|
{
|
||||||
|
m_Service.post (boost::bind (&StreamingDestinations::PostNextPacket, this, destination, packet));
|
||||||
|
}
|
||||||
|
|
||||||
|
void StreamingDestinations::PostNextPacket (i2p::data::IdentHash destination, Packet * packet)
|
||||||
{
|
{
|
||||||
// TODO: we have onle one destination, might be more
|
// TODO: we have onle one destination, might be more
|
||||||
if (m_SharedLocalDestination)
|
if (m_SharedLocalDestination)
|
||||||
@@ -527,7 +533,7 @@ namespace stream
|
|||||||
uncompressed->len = MAX_PACKET_SIZE;
|
uncompressed->len = MAX_PACKET_SIZE;
|
||||||
}
|
}
|
||||||
decompressor.Get (uncompressed->buf, uncompressed->len);
|
decompressor.Get (uncompressed->buf, uncompressed->len);
|
||||||
// then forward to streaming engine
|
// then forward to streaming engine thread
|
||||||
destinations.HandleNextPacket (destination, uncompressed);
|
destinations.HandleNextPacket (destination, uncompressed);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -164,6 +164,7 @@ namespace stream
|
|||||||
private:
|
private:
|
||||||
|
|
||||||
void Run ();
|
void Run ();
|
||||||
|
void PostNextPacket (i2p::data::IdentHash destination, Packet * packet);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user