Cindy 3.0a5计划加入Qos控制

 


本来打算下一个版本就b1了,不过这两天发现一个非常值得改进的地方:发送的Qos控制,而且该改动会影响一些现有的API,如send(Object, int)/flush(Object,int)等等,所以还是下一个版本还会是alpha版本。

 

在a4的实现中,Qos控制是由一个PriorityQueue来完成的,根据不同的优先级权重来调整发送顺序。但是该实现只是一种特定的Qos控制,我的计划是把Qos控制这部分分离出来,可以由用户来进行设置。

比如Concurrent包中有Delayed接口和DelayQueue实现,DelayQueue能够让添加进去的Delayed对象在指定时 间后才能被取出,这种Qos控制可以用于控制包发送间隔时间。对于类似WEB、FTP这类应用,发送速度是越快越好,Qos要求可能不明显;但对于流媒体 这类应用,并不是发送速度越快越好,只要保证流媒体能够流畅观看即可,发送速度过快反而可能导致其他人无法流畅观看,这种Qos控制就非常有用。

 

但是Concurrent包的Queue/BlockingQueue接口并不能直接用于Cindy的Qos控制,因为它们只提供了阻塞和轮询两种 处理方式,这种开销对Cindy来说是不可接受的,所以需要实现队列的回调方法。另外可配置性的Qos控制怎么与现有的发送API、 SessionFilter、Packet接口等结合起来,仍在考虑之中,希望能想出一个比较可行的解决方法来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值