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();
Client = nullptr;
Current = this;
}
UTPacket::UTPacket(TokenClient * client)
{
Ports.Clear();
if(client)Client = client;
Set(client);
Current = this;
}
UTPacket::~UTPacket()
@ -20,6 +22,8 @@ UTPacket::~UTPacket()
Ports.Clear();
if (AycUptTaskId)Sys.RemoveTask(AycUptTaskId);
if (CacheA)delete CacheA;
Current = nullptr;
}
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);
return true;
}
bool UTPacket::PressTMsg(const BinaryPair& args, Stream& result)
{
Buffer buff = args.Get("Data"); // 引用源数据区,后面使用要小心,不能修改任何值。

View File

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