示例#1
0
	void TransitTunnelEndpoint::HandleTunnelDataMsg (i2p::I2NPMessage * tunnelMsg)
	{
		EncryptTunnelMsg (tunnelMsg);
		
		LogPrint ("TransitTunnel endpoint for ", GetTunnelID ());
		m_Endpoint.HandleDecryptedTunnelDataMsg (tunnelMsg); 
	}
示例#2
0
void TransitTunnelEndpoint::HandleTunnelDataMsg(
    std::shared_ptr<const i2p::I2NPMessage> tunnelMsg) {
  auto newMsg = CreateEmptyTunnelDataMsg();
  EncryptTunnelMsg(tunnelMsg, newMsg);
  LogPrint(eLogDebug, "TransitTunnel endpoint for ", GetTunnelID());
  m_Endpoint.HandleDecryptedTunnelDataMsg(newMsg);
}
示例#3
0
void TransitTunnelParticipant::HandleTunnelDataMsg(
    std::shared_ptr<const i2p::I2NPMessage> tunnelMsg) {
  auto newMsg = CreateEmptyTunnelDataMsg();
  EncryptTunnelMsg(tunnelMsg, newMsg);
  m_NumTransmittedBytes += tunnelMsg->GetLength();
  htobe32buf(newMsg->GetPayload(), GetNextTunnelID());
  newMsg->FillI2NPMessageHeader(e_I2NPTunnelData);
  m_TunnelDataMsgs.push_back(newMsg);
}
示例#4
0
	void TransitTunnel::HandleTunnelDataMsg (i2p::I2NPMessage * tunnelMsg)
	{
		EncryptTunnelMsg (tunnelMsg);
		
		LogPrint ("TransitTunnel: ",m_TunnelID,"->", m_NextTunnelID);
		*(uint32_t *)(tunnelMsg->GetPayload ()) = htobe32 (m_NextTunnelID);
		FillI2NPMessageHeader (tunnelMsg, eI2NPTunnelData);
	
		i2p::transports.SendMessage (m_NextIdent, tunnelMsg);	
		m_NumTransmittedBytes += tunnelMsg->GetLength ();
	}