思路比较简单,就是建立一个链表list,和一个domain socket, 将socket fd加入poll。
1. 当send message queue时,将message加入到list,而后向socket发送一个固定的短内容,这样poll就知道message queue可读了。
2. 如何实现poll可写呢?当queue最长为len, 当小于len时是可写的,如何通知可写呢?
实现方法:当可读时,读完data后,用另外一个socket2通知可写了,这个socket2也放到poll中去,当是socket2时可读时,就意味着message queue可写了
但这样设计的message queue可写,感觉不是特别完美,当没有数据可读时,如何通知可写呢?
如果当读完data后,判断queue 长度,然后发多个可写message, 这样也是有问题的,socket又不是必须write一次就发送一次!!
不好设计呀
2014.7.4