send multiple messages

This commit is contained in:
orignal 2014-01-20 18:37:51 -05:00
parent 91199a9053
commit 30ecf1ef8c
4 changed files with 28 additions and 10 deletions

View file

@ -138,13 +138,29 @@ namespace tunnel
{
m_Gateway.SendTunnelDataMsg (gwHash, gwTunnel, msg);
}
void OutboundTunnel::SendTunnelDataMsg (i2p::I2NPMessage * msg)
void OutboundTunnel::SendTunnelDataMsg (std::vector<TunnelMessageBlock> msgs)
{
SendTunnelDataMsg (nullptr, 0, msg);
for (auto& it : msgs)
{
switch (it.deliveryType)
{
case eDeliveryTypeLocal:
m_Gateway.SendTunnelDataMsg (nullptr, 0, it.data);
break;
case eDeliveryTypeTunnel:
m_Gateway.SendTunnelDataMsg (it.hash, it.tunnelID, it.data);
break;
case eDeliveryTypeRouter:
m_Gateway.SendTunnelDataMsg (it.hash, 0, it.data);
break;
default:
LogPrint ("Unexpected delivery type ", (int)it.deliveryType);
}
}
m_Gateway.SendBuffer ();
}
Tunnels tunnels;
Tunnels::Tunnels (): m_IsRunning (false), m_IsTunnelCreated (false),