首先理解活动对象的概念。
活动对象中的两个方法:
一个请求函数:需要异步处理的操作
RunL():异步操作结束后,活动调配器调用该函数,更新活动对象的状态。
Socket:
创建一个SocketEngine,来初始化RSocket,并且将对RSocket 的读写分配到另外两个活动对象中去。
他们是SocketReader(负责读取数据)和SocketWriter(负责发送数据)
其中在SocketReader创建IssueRead()方法来一直尝试读取网络数据。当IssueRead方法返回时,系统会自动的通知到RunL()方法。
同理,在SocketWriter中,SocketEngine将需要发送的数据,放在一个队列,或者添加到缓存中。然后依次发送出去。发送一条后,调用RunL(),如果此时还有没有发送完的,则继续调用发送函数。。。否则等待有数据可以发