提交 0fe92b20 编写于 作者: Y youngwolf

Add ability to change the socket id if it's not managed by object_pool nor single_socket_service.

上级 077fb538
......@@ -126,6 +126,10 @@ public:
uint_fast64_t id() const {return _id;}
bool is_equal_to(uint_fast64_t id) const {return _id == id;}
//the id can not be changed except this socket is not managed by object_pool,
//if this socket is managed by single_socket_service, you can change it freely via function void id(uint_fast64_t),
//otherwise, we have only one chance to change it via this function.
bool try_change_id(uint_fast64_t id) {if ((uint_fast64_t) -1 != _id) return false; _id = id; return true;}
Socket& next_layer() {return next_layer_;}
const Socket& next_layer() const {return next_layer_;}
......
......@@ -109,9 +109,7 @@ protected:
virtual void on_unpack_error() {unified_out::info_out(ASCS_LLF " can not unpack msg.", this->id()); this->unpacker()->dump_left_data(); force_shutdown(this->is_reconnect());}
virtual void after_close()
{
if (this->is_reconnect())
this->reset_next_layer(this->get_context());
this->reset_next_layer(this->get_context());
super::after_close();
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册