void InboundChanThread::heartbeat(esl_handle_t& handle) { uint32_t inbound_chan_num_cp = 0; uint32_t cpu = CpuManager::get_instance()->get_cpu_occupy(); std::string err; char resp[20] = {0}; bzero(resp, 20); { rw_lock_t lock(g_inbound_chan_rwlock); if (lock.locked()) { inbound_chan_num_cp = g_inbound_chan_num; } else { err = "lock inbound num failed"; } } if (err.length()) { IVR_WARN("%s", err.c_str()); } snprintf(resp, 20, "cpu=%02u,chan=%05u", cpu, inbound_chan_num_cp); esl_send(&handle, resp); IVR_TRACE("ivr-loadbalance-resp = %s", resp); }
int ESLconnection::send(const char *cmd) { return esl_send(&handle, cmd); }