MCPcopy Create free account
hub / github.com/OriginQ/QPanda-2 / send_data

Method send_data

Extensions/PilotOSMachine/TCPClient.h:203–233  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

201 }
202
203 int send_data(const string& data_str, TCPMsg::TcpMsgType msg_type)
204 {
205 TCPMsg::TcpMsgBuilder msg_builder(data_str, msg_type);
206 while (true)
207 {
208 const auto _send_size = send(m_socket_id, (const char*)msg_builder.m_p_msg.get(), msg_builder.m_msg_len, 0);
209 if (_send_size != msg_builder.m_msg_len)
210 {
211#if defined(_WIN32) || defined(_WIN64)
212 const auto error_num = WSAGetLastError();
213 PTraceError("Error: send data error: " << error_num << ", send return: " << _send_size
214 << ", need send_size=" << msg_builder.m_msg_len);
215 /*if (error_num == 10060) {
216 continue;
217 }*/
218#elif defined(__linux__) || defined(__unix__) || defined(__FreeBSD__) || defined(__APPLE__)
219 PTraceError("Error: send data error: " << errno << ", send return: " << _send_size
220 << ", need send_size=" << m_task_id.size());
221 if (errno == 9) { /* connection closed */
222 break;
223 }
224#endif
225 this_thread::sleep_for(std::chrono::seconds(1));
226 continue;
227 }
228
229 break;
230 }
231
232 return msg_builder.m_msg_len;
233 }
234
235 void run_heart_thread(){
236 m_thread_heart = thread(std::bind(&TCPClient::heart, this));

Callers 3

tcp_recvMethod · 0.80
synchronous_executeMethod · 0.80

Calls 2

getMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected