polipo代理服务器简介
2015-07-20 21:18
113 查看
polipo代理服务器采用的是事件循环机制。
提供缓存功能,不支持透明代理。
最近的一个产品需要缓存用以减少流量的作用,于是我们就采用了此款缓存服务器,实现了其透明代理的功能。
polipo, 主题架构采用poll监控fd, 针对超时,客户端连接,服务器端的idle,以及缓存的数据分成不同模块,注册了几个回调函数。
印象比较深的是polipo中的内存管理,CHUNK_SIZE根据系统不同,分配不同大小也就罢了。如果分配一个不是一样大小的还会导致double free的错误。够坑人的。
比较难理解的是注册的回调函数,太多的子函数不好跟踪。得对程序的架构有个整体的了解,不然,你会陷进去的。
提供缓存功能,不支持透明代理。
最近的一个产品需要缓存用以减少流量的作用,于是我们就采用了此款缓存服务器,实现了其透明代理的功能。
polipo, 主题架构采用poll监控fd, 针对超时,客户端连接,服务器端的idle,以及缓存的数据分成不同模块,注册了几个回调函数。
印象比较深的是polipo中的内存管理,CHUNK_SIZE根据系统不同,分配不同大小也就罢了。如果分配一个不是一样大小的还会导致double free的错误。够坑人的。
比较难理解的是注册的回调函数,太多的子函数不好跟踪。得对程序的架构有个整体的了解,不然,你会陷进去的。
相关文章推荐
- windows核心编程之sleep
- 2015072004 - 农村的高考生
- HDOJ 2080 Lowest Common Multiple Plus
- 【Spark Core】任务执行机制和Task源码浅析2
- Linux下inotify的基本使用及注意事项
- 字符设备驱动之从用户程序中的系统调用到驱动中的具体实现
- [leedcode 102] Binary Tree Level Order Traversal
- 九度oj 1052
- C#的开始
- (七十八)使用第三方框架INTULocationManager实现定位
- java 设计模式 工厂模式
- Qt中show()与exec()
- POJ2966时区时间转换
- 【Spark Core】任务执行机制和Task源码浅析1
- (七十八)使用第三方框架INTULocationManager实现定位
- 栈
- 转:Redis Geo: Redis新增位置查询功能
- 堆排序
- [DFS] AOJ 0033 Ball
- 类和对象、封装和继承