callback

/*
 * 各种回调函数的定义
 */
namespace muduo
{

// 对象指针的向下转换
template<typename To, typename From>
inline ::boost::shared_ptr<To> down_pointer_cast(const ::boost::shared_ptr<From>& f)
{
    if (false)
    {
        implicit_cast<From*, To*>(0);
    }

#ifndef NDEBUG
    assert(f == NULL || dynamic_cast<To*>(get_pointer(f)) != NULL);
#endif
    return ::boost::static_pointer_cast<To>(f);
}

namespace net
{

// All client visible callbacks go here.

class Buffer;

// TcpConnection表示一个TCP的连接
class TcpConnection;

// 定义TcpConnection的指针类型
typedef boost::shared_ptr<TcpConnection> TcpConnectionPtr;

// 计时器回调函数的定义
typedef boost::function<void()> TimerCallback;

// 连接完成回调函数的定义
typedef boost::function<void (const TcpConnectionPtr&)> ConnectionCallback;

// 关闭一个连接的回调函数
typedef boost::function<void (const TcpConnectionPtr&)> CloseCallback;

// 写完成回调函数的定义
typedef boost::function<void (const TcpConnectionPtr&)> WriteCompleteCallback;

// 高水位标记回调函数的定义
typedef boost::function<void (const TcpConnectionPtr&, size_t)> HighWaterMarkCallback;

// the data has been read to (buf, len)
// 当数据到来的时候的回调函数,此时数据已经被存放在buffer中
typedef boost::function<void (const TcpConnectionPtr&,
        Buffer*,
        Timestamp)> MessageCallback;

// 默认的连接完成回调函数
void defaultConnectionCallback(const TcpConnectionPtr& conn);

// 默认的消息到来的回调函数
void defaultMessageCallback(const TcpConnectionPtr& conn,
        Buffer* buffer,
        Timestamp receiveTime);

}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值