|
|
|
|
@ -70,6 +70,18 @@ void CURFProtocol::Task(void)
|
|
|
|
|
{
|
|
|
|
|
OnDvFramePacketIn(Frame, &Ip);
|
|
|
|
|
}
|
|
|
|
|
else if ( IsValidKeepAlivePacket(Buffer, &Callsign) )
|
|
|
|
|
{
|
|
|
|
|
// find peer
|
|
|
|
|
CPeers *peers = g_Reflector.GetPeers();
|
|
|
|
|
std::shared_ptr<CPeer>peer = peers->FindPeer(Ip, EProtocol::urf);
|
|
|
|
|
if ( peer != nullptr )
|
|
|
|
|
{
|
|
|
|
|
// keep it alive
|
|
|
|
|
peer->Alive();
|
|
|
|
|
}
|
|
|
|
|
g_Reflector.ReleasePeers();
|
|
|
|
|
}
|
|
|
|
|
else if ( IsValidDvHeaderPacket(Buffer, Header) )
|
|
|
|
|
{
|
|
|
|
|
// callsign allowed?
|
|
|
|
|
@ -148,20 +160,6 @@ void CURFProtocol::Task(void)
|
|
|
|
|
{
|
|
|
|
|
std::cout << "URF nack packet from " << Callsign << " at " << Ip << std::endl;
|
|
|
|
|
}
|
|
|
|
|
else if ( IsValidKeepAlivePacket(Buffer, &Callsign) )
|
|
|
|
|
{
|
|
|
|
|
std::cout << "URF keepalive packet from " << Callsign << " at " << Ip << std::endl;
|
|
|
|
|
|
|
|
|
|
// find peer
|
|
|
|
|
CPeers *peers = g_Reflector.GetPeers();
|
|
|
|
|
std::shared_ptr<CPeer>peer = peers->FindPeer(Ip, EProtocol::urf);
|
|
|
|
|
if ( peer != nullptr )
|
|
|
|
|
{
|
|
|
|
|
// keep it alive
|
|
|
|
|
peer->Alive();
|
|
|
|
|
}
|
|
|
|
|
g_Reflector.ReleasePeers();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
std::string title("Unknown URF packet from ");
|
|
|
|
|
|