task_worker.cpp

来自「ACE的通信程序」· C++ 代码 · 共 28 行

CPP
28
字号
#include "ace/OS.h"
#include "ace/Message_Block.h"

#include "Server.h"

namespace ACE_Server
{
	int Task_Worker::svc(void)
	{
		while(1)
		{
			ACE_Message_Block *mb = NULL;
			if(this->getq(mb) == -1)
			{
				continue;
			}
			process_task(mb);
		}
		return 0;
	}
	void Task_Worker::process_task(ACE_Message_Block *mb)
	{
		//进行数据处理,数据的起始地址为mb->rd_ptr(),长度为mb->length()
		ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) Processing task: %s length %d\n"), mb->rd_ptr()+4, mb->length()));	//字符串跳过了四个字节的长度数据
		ACE_OS::sleep(3);  //模拟数据处理过程
		mb->release();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?