This commit is contained in:
WangQiang 2016-07-30 07:16:06 +00:00
parent 83640f18c4
commit 25ded4ab71
2 changed files with 16 additions and 14 deletions

View File

@ -7,12 +7,14 @@ UTPacket::UTPacket()
{ {
Ports.Clear(); Ports.Clear();
Client = nullptr; Client = nullptr;
Current = this;
} }
UTPacket::UTPacket(TokenClient * client) UTPacket::UTPacket(TokenClient * client)
{ {
Ports.Clear(); Ports.Clear();
if(client)Client = client; Set(client);
Current = this;
} }
UTPacket::~UTPacket() UTPacket::~UTPacket()
@ -20,6 +22,8 @@ UTPacket::~UTPacket()
Ports.Clear(); Ports.Clear();
if (AycUptTaskId)Sys.RemoveTask(AycUptTaskId); if (AycUptTaskId)Sys.RemoveTask(AycUptTaskId);
if (CacheA)delete CacheA; if (CacheA)delete CacheA;
Current = nullptr;
} }
bool UTPacket::Set(TokenClient * client) bool UTPacket::Set(TokenClient * client)
@ -57,18 +61,13 @@ bool UTPacket::Send(Buffer &packet)
} }
bool UTPacket::Register(byte id, UTPort* port) bool UTPacket::AndPort(byte id, UTPort* port)
{ {
Ports.Add((uint)id, port); Ports.Add((uint)id, port);
return true; return true;
} }
bool UTPacket::PressTMsg(const BinaryPair& args, Stream& result) bool UTPacket::PressTMsg(const BinaryPair& args, Stream& result)
{ {
Buffer buff = args.Get("Data"); // 引用源数据区,后面使用要小心,不能修改任何值。 Buffer buff = args.Get("Data"); // 引用源数据区,后面使用要小心,不能修改任何值。

View File

@ -26,13 +26,16 @@ public:
UTPacket(TokenClient * client); UTPacket(TokenClient * client);
~UTPacket(); ~UTPacket();
// 设置Client对象引用 顺带注册Invoke
bool Set(TokenClient* client); bool Set(TokenClient* client);
// 发送 带缓冲区 packet>256Byte则直接发送 不进缓冲区
bool Send(Buffer & packet); bool Send(Buffer & packet);
// 异步发送任务
void AsynUpdata(); void AsynUpdata();
bool Register(byte id,UTPort* port); // 添加UTPort成员
bool AndPort(byte id,UTPort* port);
// Invoke回调函数
bool PressTMsg(const BinaryPair& args, Stream& result); bool PressTMsg(const BinaryPair& args, Stream& result);
// Client.Register("UTPacket",&UTPacket::PressTMsg,this);
static UTPacket * Current; static UTPacket * Current;
#if DEBUG #if DEBUG