/**
  * 接收返回消息, 判断发布是否成功
  * @return BigpipePubResult on success or false on failure
  */
 private function _check_ack($receipt_id, &$send_result)
 {
     // 接收CONNECTED
     $res_body = $this->_stomp_adapter->receive();
     if (null === $res_body) {
         return false;
     }
     // parse ACK
     $ack = new BStompAckFrame();
     if (!$ack->load($res_body)) {
         BigpipeLog::warning('[stomp parse ack frame error][cmd_type:%d][err_msg:]', $ack->command_type, $ack->last_error_message());
         return false;
     }
     if ($ack->session_message_id != $this->_session_msg_id) {
         BigpipeLog::warning('[check session message id error][send:%u][ack:%u]', $this->_session_msg_id, $ack->session_message_id);
         return false;
     }
     if ($ack->receipt_id != $receipt_id) {
         BigpipeLog::warning('[check receipt id error][send:%u][ack:%u]', $receipt_id, $ack->receipt_id);
         return false;
     }
     // 填充result
     $send_result = new BigpipePubResult();
     $send_result->error_no = $ack->status;
     $send_result->pipelet_id = $this->_pipelet_id;
     $send_result->pipelet_msg_id = $ack->topic_message_id;
     $send_result->session_msg_id = $ack->session_message_id;
     return $send_result;
 }