提交 191c9d56 编写于 作者: Y youngwolf

Make the link status available via tcp::socket_base::get_link_status().

send_msg (series) support char[] as the input source.
上级 d1a0b47d
......@@ -587,6 +587,7 @@ template<typename _Predicate> void NAME(const _Predicate& __pred) const {for (au
//TCP msg sending interface
#define TCP_SEND_MSG_CALL_SWITCH(FUNNAME, TYPE) \
TYPE FUNNAME(const char* pstr, size_t len, bool can_overflow = false) {return FUNNAME(&pstr, &len, 1, can_overflow);} \
TYPE FUNNAME(char* pstr, size_t len, bool can_overflow = false) {return FUNNAME(&pstr, &len, 1, can_overflow);} \
template<typename Buffer> TYPE FUNNAME(const Buffer& buffer, bool can_overflow = false) {return FUNNAME(buffer.data(), buffer.size(), can_overflow);}
#define TCP_SEND_MSG(FUNNAME, NATIVE) \
......@@ -662,6 +663,7 @@ TCP_SEND_MSG_CALL_SWITCH(FUNNAME, void)
//TCP sync msg sending interface
#define TCP_SYNC_SEND_MSG_CALL_SWITCH(FUNNAME, TYPE) \
TYPE FUNNAME(const char* pstr, size_t len, unsigned duration = 0, bool can_overflow = false) {return FUNNAME(&pstr, &len, 1, duration, can_overflow);} \
TYPE FUNNAME(char* pstr, size_t len, unsigned duration = 0, bool can_overflow = false) {return FUNNAME(&pstr, &len, 1, duration, can_overflow);} \
template<typename Buffer> TYPE FUNNAME(const Buffer& buffer, unsigned duration = 0, bool can_overflow = false) \
{return FUNNAME(buffer.data(), buffer.size(), duration, can_overflow);}
......@@ -741,8 +743,11 @@ TCP_SYNC_SEND_MSG_CALL_SWITCH(FUNNAME, sync_call_result)
//UDP msg sending interface
#define UDP_SEND_MSG_CALL_SWITCH(FUNNAME, TYPE) \
TYPE FUNNAME(const char* pstr, size_t len, bool can_overflow = false) {return FUNNAME(peer_addr, pstr, len, can_overflow);} \
TYPE FUNNAME(char* pstr, size_t len, bool can_overflow = false) {return FUNNAME(peer_addr, pstr, len, can_overflow);} \
TYPE FUNNAME(const asio::ip::udp::endpoint& peer_addr, const char* pstr, size_t len, bool can_overflow = false) \
{return FUNNAME(peer_addr, &pstr, &len, 1, can_overflow);} \
TYPE FUNNAME(const asio::ip::udp::endpoint& peer_addr, char* pstr, size_t len, bool can_overflow = false) \
{return FUNNAME(peer_addr, &pstr, &len, 1, can_overflow);} \
template<typename Buffer> TYPE FUNNAME(const Buffer& buffer, bool can_overflow = false) {return FUNNAME(peer_addr, buffer, can_overflow);} \
template<typename Buffer> TYPE FUNNAME(const asio::ip::udp::endpoint& peer_addr, const Buffer& buffer, bool can_overflow = false) \
{return FUNNAME(peer_addr, buffer.data(), buffer.size(), can_overflow);}
......@@ -773,8 +778,11 @@ UDP_SEND_MSG_CALL_SWITCH(FUNNAME, bool)
//UDP sync msg sending interface
#define UDP_SYNC_SEND_MSG_CALL_SWITCH(FUNNAME, TYPE) \
TYPE FUNNAME(const char* pstr, size_t len, unsigned duration = 0, bool can_overflow = false) {return FUNNAME(peer_addr, pstr, len, duration, can_overflow);} \
TYPE FUNNAME(char* pstr, size_t len, unsigned duration = 0, bool can_overflow = false) {return FUNNAME(peer_addr, pstr, len, duration, can_overflow);} \
TYPE FUNNAME(const asio::ip::udp::endpoint& peer_addr, const char* pstr, size_t len, unsigned duration = 0, bool can_overflow = false) \
{return FUNNAME(peer_addr, &pstr, &len, 1, duration, can_overflow);} \
TYPE FUNNAME(const asio::ip::udp::endpoint& peer_addr, char* pstr, size_t len, unsigned duration = 0, bool can_overflow = false) \
{return FUNNAME(peer_addr, &pstr, &len, 1, duration, can_overflow);} \
template<typename Buffer> TYPE FUNNAME(const Buffer& buffer, unsigned duration = 0, bool can_overflow = false) {return FUNNAME(peer_addr, buffer, duration, can_overflow);} \
template<typename Buffer> TYPE FUNNAME(const asio::ip::udp::endpoint& peer_addr, const Buffer& buffer, unsigned duration = 0, bool can_overflow = false) \
{return FUNNAME(peer_addr, buffer.data(), buffer.size(), duration, can_overflow);}
......
......@@ -614,6 +614,8 @@
* virtual size_t raw_data_len(msg_ctype& msg) const
* Prefix the socket id (generated by ascs) for all logs.
* Prefix thread id for all logs.
* Make the link status available via tcp::socket_base::get_link_status().
* send_msg (series) support char[] as the input source.
*
* DELETION:
* Delete file mingw-build.bat, use mingw32-make instead.
......
......@@ -59,6 +59,7 @@ public:
virtual void reset() {status = link_status::BROKEN; sending_msgs.clear(); super::reset();}
//SOCKET status
link_status get_link_status() const {return status;}
bool is_broken() const {return link_status::BROKEN == status;}
bool is_connected() const {return link_status::CONNECTED == status;}
bool is_shutting_down() const {return link_status::FORCE_SHUTTING_DOWN == status || link_status::GRACEFUL_SHUTTING_DOWN == status;}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册