所有的Active Object都继承于CActive类,CActive有两个纯虚方法需要被实现 RunL() and DoCancel().
在构造函数中需要给定Active Object的优先值
提出request的函数有三件事情要做:
1.判断是否有request被提出但是还没有解决
2.提交request
3.设置Active状态
RunL会根据TRequestStatus去判断执行下一步,是否正确执行完毕
Clinet:
RSessionBase
创建连接 send要求
Sever:
CSever2(CActive),当他收到RMessage2的时候,会调用RunL
如果是个Connect的命令就会create new CSession2 的子类调用它的纯虚方法NewSessionL
如果是个disconnect信息,它就销毁掉CSession2的子类
其他情况,它会发送信息到CSession2的ServiceL方法
CPolicyServer 扩展了基本的server 类,并且增加安全政策,比如一些安全标识符,规定了客户进程只能发送指定的要求
它会检测所有收到的Message
CSession2
被sever创建的,有一个虚方法ServiceL
用于处理Message