?? gsdprxq.cpp
字號:
// gsdprxq.cpp
//
// Receive queue for the GSDP server
//
// Copyright (c) 2000-2002 Symbian Ltd. All rights reserved.
#include "gsdpserver.h"
/*
CGsdpReceiveQueue
*/
// construct/destruct
CGsdpReceiveQueue* CGsdpReceiveQueue::NewL(CGsdpServer& aServer)
{
CGsdpReceiveQueue* self = new (ELeave) CGsdpReceiveQueue(aServer);
CleanupStack::PushL(self);;
self->ConstructL();
CleanupStack::Pop(self);
return self;
}
CGsdpReceiveQueue::CGsdpReceiveQueue(CGsdpServer& aServer)
: iServer(aServer)
{
}
// functions
void CGsdpReceiveQueue::Receive(TUint32 aGameProtocol, TUint32 aToPort, const TDesC8& aFromAddress, TUint32 aFromPort, const TDesC8& aData)
{
TGsdpPacket* packet=AddPacket(aGameProtocol, aToPort, aFromAddress, aFromPort, aData);
if (!packet)
return;
CGsdpSession* session=iServer.SessionForPacket(*packet);
if (!session)
return;
session->ReceivePacket(*packet);
}
void CGsdpReceiveQueue::CheckPackets(CGsdpSession* aSession)
{
TSglQueIter<TGsdpPacket> packetIter(iPackets);
for (TGsdpPacket* packet=packetIter++; packet; packet=packetIter++)
{
if (aSession->CanReceivePacket(*packet))
{
aSession->ReceivePacket(*packet);
break;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -