int SignalSender::sendFragmentedSignal(Uint16 nodeId, SimpleSignal& sig, Uint16 recBlock, Uint16 gsn, Uint32 len) { sig.set(*this, TestOrd::TraceAPI, recBlock, gsn, len); int ret = raw_sendFragmentedSignal(&sig.header, nodeId, &sig.ptr[0], sig.header.m_noOfSections); if (ret == 0) { do_forceSend(); return SEND_OK; } return SEND_DISCONNECTED; }
inline int NdbImpl::sendFragmentedSignal(NdbApiSignal * signal, Uint32 nodeId, const GenericSectionPtr ptr[3], Uint32 secs) { if (getIsNodeSendable(nodeId)) { if (likely(recordGSN(signal->theVerId_signalNumber))) { incClientStat(Ndb::BytesSentCount, ((signal->getLength() << 2) + ((secs > 2)? ptr[2].sz << 2 : 0) + ((secs > 1)? ptr[1].sz << 2 : 0) + ((secs > 0)? ptr[0].sz << 2 : 0))); } return raw_sendFragmentedSignal(signal, nodeId, ptr, secs); } return -1; }