ICE Manual(Documentation for Ice 3.5)---The Ice Run Time in Detail(ICE Stats)

Ice run time 通过Ice::Stats 接口报告,所有的操作调用在线路上发送和接收的字节数:
module Ice {
local interface Stats {
void bytesSent(string protocol, int num);
void bytesReceived(string protocol, int num);
};
local interface Communicator {
setStats(Stats st);
// ...
};
};
当Ice run time 从网络读取数据时,它会调用bytesReceived ;当它把数据写往网络时,它会调用bytesSent。下面是Stats 接口的一种非常简单的实现:
class MyStats : public virtual Ice::Stats {
public:
virtual void bytesSent(const string &prot, Ice::Int num)
{
cerr << prot << ": sent " << num << "bytes" << endl;
}
virtual void bytesReceived(const string &prot, Ice::Int)
{
cerr << prot << ": received " << num << "bytes" << endl;
}

};

你可以在客户端、也可以在服务器端(或两端)安装Stats 对象。在实践中,你的Stats 实现可能会更加复杂一点:例如,这个对象可以在成员变量中累计统计信息,并且提供成员函数,用于让你访问累计的统计信息,而不是把所有信息都简单地打印到标准错误输出。


在3.5中,Stats 已经作为 类 InitializationData的一个公开属性,可直接在初始化Communicator 时,做赋值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值