UDT源码剖析(二)之启动与结束
其他
2018-05-04 23:30:06
阅读次数: 9
UDT的启动例程
启动例程顺序:void UDT::startup() -> void CUDT::startup() -> void CUDTUnited::startup() -> void* CUDTUnited::garbageCollect(void* p) -> void CUDTUnited::checkBrokenSockets() -> void CUDTUnited::removeSocket(const UDTSOCKET u) -> void CUDT::close() -> void CUDT::flush()
- 对于一个完整的UDT SOCKET的清理六部曲:
- 将CUDT*的状态设置为BROKEN
- 调用CUDT中的close()
- 更新UDT SOCKET的关闭时间
- 将UDT SOCKET设置为Closed
- 在Closed Array中添加当前UDT SOCKET,在GC线程中进行处理
- 从全局的MAP中删除
转载自www.cnblogs.com/ukernel/p/8993078.html