2 * Autogenerated by Thrift Compiler (0.11.0)
4 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
7 #include "TracedService.h"
9 namespace jaegertracing
{ namespace crossdock
{ namespace thrift
{
12 TracedService_startTrace_args::~TracedService_startTrace_args() throw() {
16 uint32_t TracedService_startTrace_args::read(::apache::thrift::protocol::TProtocol
* iprot
) {
18 ::apache::thrift::protocol::TInputRecursionTracker
tracker(*iprot
);
21 ::apache::thrift::protocol::TType ftype
;
24 xfer
+= iprot
->readStructBegin(fname
);
26 using ::apache::thrift::protocol::TProtocolException
;
31 xfer
+= iprot
->readFieldBegin(fname
, ftype
, fid
);
32 if (ftype
== ::apache::thrift::protocol::T_STOP
) {
38 if (ftype
== ::apache::thrift::protocol::T_STRUCT
) {
39 xfer
+= this->request
.read(iprot
);
40 this->__isset
.request
= true;
42 xfer
+= iprot
->skip(ftype
);
46 xfer
+= iprot
->skip(ftype
);
49 xfer
+= iprot
->readFieldEnd();
52 xfer
+= iprot
->readStructEnd();
57 uint32_t TracedService_startTrace_args::write(::apache::thrift::protocol::TProtocol
* oprot
) const {
59 ::apache::thrift::protocol::TOutputRecursionTracker
tracker(*oprot
);
60 xfer
+= oprot
->writeStructBegin("TracedService_startTrace_args");
62 xfer
+= oprot
->writeFieldBegin("request", ::apache::thrift::protocol::T_STRUCT
, 1);
63 xfer
+= this->request
.write(oprot
);
64 xfer
+= oprot
->writeFieldEnd();
66 xfer
+= oprot
->writeFieldStop();
67 xfer
+= oprot
->writeStructEnd();
72 TracedService_startTrace_pargs::~TracedService_startTrace_pargs() throw() {
76 uint32_t TracedService_startTrace_pargs::write(::apache::thrift::protocol::TProtocol
* oprot
) const {
78 ::apache::thrift::protocol::TOutputRecursionTracker
tracker(*oprot
);
79 xfer
+= oprot
->writeStructBegin("TracedService_startTrace_pargs");
81 xfer
+= oprot
->writeFieldBegin("request", ::apache::thrift::protocol::T_STRUCT
, 1);
82 xfer
+= (*(this->request
)).write(oprot
);
83 xfer
+= oprot
->writeFieldEnd();
85 xfer
+= oprot
->writeFieldStop();
86 xfer
+= oprot
->writeStructEnd();
91 TracedService_startTrace_result::~TracedService_startTrace_result() throw() {
95 uint32_t TracedService_startTrace_result::read(::apache::thrift::protocol::TProtocol
* iprot
) {
97 ::apache::thrift::protocol::TInputRecursionTracker
tracker(*iprot
);
100 ::apache::thrift::protocol::TType ftype
;
103 xfer
+= iprot
->readStructBegin(fname
);
105 using ::apache::thrift::protocol::TProtocolException
;
110 xfer
+= iprot
->readFieldBegin(fname
, ftype
, fid
);
111 if (ftype
== ::apache::thrift::protocol::T_STOP
) {
117 if (ftype
== ::apache::thrift::protocol::T_STRUCT
) {
118 xfer
+= this->success
.read(iprot
);
119 this->__isset
.success
= true;
121 xfer
+= iprot
->skip(ftype
);
125 xfer
+= iprot
->skip(ftype
);
128 xfer
+= iprot
->readFieldEnd();
131 xfer
+= iprot
->readStructEnd();
136 uint32_t TracedService_startTrace_result::write(::apache::thrift::protocol::TProtocol
* oprot
) const {
140 xfer
+= oprot
->writeStructBegin("TracedService_startTrace_result");
142 if (this->__isset
.success
) {
143 xfer
+= oprot
->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT
, 0);
144 xfer
+= this->success
.write(oprot
);
145 xfer
+= oprot
->writeFieldEnd();
147 xfer
+= oprot
->writeFieldStop();
148 xfer
+= oprot
->writeStructEnd();
153 TracedService_startTrace_presult::~TracedService_startTrace_presult() throw() {
157 uint32_t TracedService_startTrace_presult::read(::apache::thrift::protocol::TProtocol
* iprot
) {
159 ::apache::thrift::protocol::TInputRecursionTracker
tracker(*iprot
);
162 ::apache::thrift::protocol::TType ftype
;
165 xfer
+= iprot
->readStructBegin(fname
);
167 using ::apache::thrift::protocol::TProtocolException
;
172 xfer
+= iprot
->readFieldBegin(fname
, ftype
, fid
);
173 if (ftype
== ::apache::thrift::protocol::T_STOP
) {
179 if (ftype
== ::apache::thrift::protocol::T_STRUCT
) {
180 xfer
+= (*(this->success
)).read(iprot
);
181 this->__isset
.success
= true;
183 xfer
+= iprot
->skip(ftype
);
187 xfer
+= iprot
->skip(ftype
);
190 xfer
+= iprot
->readFieldEnd();
193 xfer
+= iprot
->readStructEnd();
199 TracedService_joinTrace_args::~TracedService_joinTrace_args() throw() {
203 uint32_t TracedService_joinTrace_args::read(::apache::thrift::protocol::TProtocol
* iprot
) {
205 ::apache::thrift::protocol::TInputRecursionTracker
tracker(*iprot
);
208 ::apache::thrift::protocol::TType ftype
;
211 xfer
+= iprot
->readStructBegin(fname
);
213 using ::apache::thrift::protocol::TProtocolException
;
218 xfer
+= iprot
->readFieldBegin(fname
, ftype
, fid
);
219 if (ftype
== ::apache::thrift::protocol::T_STOP
) {
225 if (ftype
== ::apache::thrift::protocol::T_STRUCT
) {
226 xfer
+= this->request
.read(iprot
);
227 this->__isset
.request
= true;
229 xfer
+= iprot
->skip(ftype
);
233 xfer
+= iprot
->skip(ftype
);
236 xfer
+= iprot
->readFieldEnd();
239 xfer
+= iprot
->readStructEnd();
244 uint32_t TracedService_joinTrace_args::write(::apache::thrift::protocol::TProtocol
* oprot
) const {
246 ::apache::thrift::protocol::TOutputRecursionTracker
tracker(*oprot
);
247 xfer
+= oprot
->writeStructBegin("TracedService_joinTrace_args");
249 xfer
+= oprot
->writeFieldBegin("request", ::apache::thrift::protocol::T_STRUCT
, 1);
250 xfer
+= this->request
.write(oprot
);
251 xfer
+= oprot
->writeFieldEnd();
253 xfer
+= oprot
->writeFieldStop();
254 xfer
+= oprot
->writeStructEnd();
259 TracedService_joinTrace_pargs::~TracedService_joinTrace_pargs() throw() {
263 uint32_t TracedService_joinTrace_pargs::write(::apache::thrift::protocol::TProtocol
* oprot
) const {
265 ::apache::thrift::protocol::TOutputRecursionTracker
tracker(*oprot
);
266 xfer
+= oprot
->writeStructBegin("TracedService_joinTrace_pargs");
268 xfer
+= oprot
->writeFieldBegin("request", ::apache::thrift::protocol::T_STRUCT
, 1);
269 xfer
+= (*(this->request
)).write(oprot
);
270 xfer
+= oprot
->writeFieldEnd();
272 xfer
+= oprot
->writeFieldStop();
273 xfer
+= oprot
->writeStructEnd();
278 TracedService_joinTrace_result::~TracedService_joinTrace_result() throw() {
282 uint32_t TracedService_joinTrace_result::read(::apache::thrift::protocol::TProtocol
* iprot
) {
284 ::apache::thrift::protocol::TInputRecursionTracker
tracker(*iprot
);
287 ::apache::thrift::protocol::TType ftype
;
290 xfer
+= iprot
->readStructBegin(fname
);
292 using ::apache::thrift::protocol::TProtocolException
;
297 xfer
+= iprot
->readFieldBegin(fname
, ftype
, fid
);
298 if (ftype
== ::apache::thrift::protocol::T_STOP
) {
304 if (ftype
== ::apache::thrift::protocol::T_STRUCT
) {
305 xfer
+= this->success
.read(iprot
);
306 this->__isset
.success
= true;
308 xfer
+= iprot
->skip(ftype
);
312 xfer
+= iprot
->skip(ftype
);
315 xfer
+= iprot
->readFieldEnd();
318 xfer
+= iprot
->readStructEnd();
323 uint32_t TracedService_joinTrace_result::write(::apache::thrift::protocol::TProtocol
* oprot
) const {
327 xfer
+= oprot
->writeStructBegin("TracedService_joinTrace_result");
329 if (this->__isset
.success
) {
330 xfer
+= oprot
->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT
, 0);
331 xfer
+= this->success
.write(oprot
);
332 xfer
+= oprot
->writeFieldEnd();
334 xfer
+= oprot
->writeFieldStop();
335 xfer
+= oprot
->writeStructEnd();
340 TracedService_joinTrace_presult::~TracedService_joinTrace_presult() throw() {
344 uint32_t TracedService_joinTrace_presult::read(::apache::thrift::protocol::TProtocol
* iprot
) {
346 ::apache::thrift::protocol::TInputRecursionTracker
tracker(*iprot
);
349 ::apache::thrift::protocol::TType ftype
;
352 xfer
+= iprot
->readStructBegin(fname
);
354 using ::apache::thrift::protocol::TProtocolException
;
359 xfer
+= iprot
->readFieldBegin(fname
, ftype
, fid
);
360 if (ftype
== ::apache::thrift::protocol::T_STOP
) {
366 if (ftype
== ::apache::thrift::protocol::T_STRUCT
) {
367 xfer
+= (*(this->success
)).read(iprot
);
368 this->__isset
.success
= true;
370 xfer
+= iprot
->skip(ftype
);
374 xfer
+= iprot
->skip(ftype
);
377 xfer
+= iprot
->readFieldEnd();
380 xfer
+= iprot
->readStructEnd();
385 void TracedServiceClient::startTrace(TraceResponse
& _return
, const StartTraceRequest
& request
)
387 send_startTrace(request
);
388 recv_startTrace(_return
);
391 void TracedServiceClient::send_startTrace(const StartTraceRequest
& request
)
394 oprot_
->writeMessageBegin("startTrace", ::apache::thrift::protocol::T_CALL
, cseqid
);
396 TracedService_startTrace_pargs args
;
397 args
.request
= &request
;
400 oprot_
->writeMessageEnd();
401 oprot_
->getTransport()->writeEnd();
402 oprot_
->getTransport()->flush();
405 void TracedServiceClient::recv_startTrace(TraceResponse
& _return
)
410 ::apache::thrift::protocol::TMessageType mtype
;
412 iprot_
->readMessageBegin(fname
, mtype
, rseqid
);
413 if (mtype
== ::apache::thrift::protocol::T_EXCEPTION
) {
414 ::apache::thrift::TApplicationException x
;
416 iprot_
->readMessageEnd();
417 iprot_
->getTransport()->readEnd();
420 if (mtype
!= ::apache::thrift::protocol::T_REPLY
) {
421 iprot_
->skip(::apache::thrift::protocol::T_STRUCT
);
422 iprot_
->readMessageEnd();
423 iprot_
->getTransport()->readEnd();
425 if (fname
.compare("startTrace") != 0) {
426 iprot_
->skip(::apache::thrift::protocol::T_STRUCT
);
427 iprot_
->readMessageEnd();
428 iprot_
->getTransport()->readEnd();
430 TracedService_startTrace_presult result
;
431 result
.success
= &_return
;
433 iprot_
->readMessageEnd();
434 iprot_
->getTransport()->readEnd();
436 if (result
.__isset
.success
) {
437 // _return pointer has now been filled
440 throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT
, "startTrace failed: unknown result");
443 void TracedServiceClient::joinTrace(TraceResponse
& _return
, const JoinTraceRequest
& request
)
445 send_joinTrace(request
);
446 recv_joinTrace(_return
);
449 void TracedServiceClient::send_joinTrace(const JoinTraceRequest
& request
)
452 oprot_
->writeMessageBegin("joinTrace", ::apache::thrift::protocol::T_CALL
, cseqid
);
454 TracedService_joinTrace_pargs args
;
455 args
.request
= &request
;
458 oprot_
->writeMessageEnd();
459 oprot_
->getTransport()->writeEnd();
460 oprot_
->getTransport()->flush();
463 void TracedServiceClient::recv_joinTrace(TraceResponse
& _return
)
468 ::apache::thrift::protocol::TMessageType mtype
;
470 iprot_
->readMessageBegin(fname
, mtype
, rseqid
);
471 if (mtype
== ::apache::thrift::protocol::T_EXCEPTION
) {
472 ::apache::thrift::TApplicationException x
;
474 iprot_
->readMessageEnd();
475 iprot_
->getTransport()->readEnd();
478 if (mtype
!= ::apache::thrift::protocol::T_REPLY
) {
479 iprot_
->skip(::apache::thrift::protocol::T_STRUCT
);
480 iprot_
->readMessageEnd();
481 iprot_
->getTransport()->readEnd();
483 if (fname
.compare("joinTrace") != 0) {
484 iprot_
->skip(::apache::thrift::protocol::T_STRUCT
);
485 iprot_
->readMessageEnd();
486 iprot_
->getTransport()->readEnd();
488 TracedService_joinTrace_presult result
;
489 result
.success
= &_return
;
491 iprot_
->readMessageEnd();
492 iprot_
->getTransport()->readEnd();
494 if (result
.__isset
.success
) {
495 // _return pointer has now been filled
498 throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT
, "joinTrace failed: unknown result");
501 bool TracedServiceProcessor::dispatchCall(::apache::thrift::protocol::TProtocol
* iprot
, ::apache::thrift::protocol::TProtocol
* oprot
, const std::string
& fname
, int32_t seqid
, void* callContext
) {
502 ProcessMap::iterator pfn
;
503 pfn
= processMap_
.find(fname
);
504 if (pfn
== processMap_
.end()) {
505 iprot
->skip(::apache::thrift::protocol::T_STRUCT
);
506 iprot
->readMessageEnd();
507 iprot
->getTransport()->readEnd();
508 ::apache::thrift::TApplicationException
x(::apache::thrift::TApplicationException::UNKNOWN_METHOD
, "Invalid method name: '"+fname
+"'");
509 oprot
->writeMessageBegin(fname
, ::apache::thrift::protocol::T_EXCEPTION
, seqid
);
511 oprot
->writeMessageEnd();
512 oprot
->getTransport()->writeEnd();
513 oprot
->getTransport()->flush();
516 (this->*(pfn
->second
))(seqid
, iprot
, oprot
, callContext
);
520 void TracedServiceProcessor::process_startTrace(int32_t seqid
, ::apache::thrift::protocol::TProtocol
* iprot
, ::apache::thrift::protocol::TProtocol
* oprot
, void* callContext
)
523 if (this->eventHandler_
.get() != NULL
) {
524 ctx
= this->eventHandler_
->getContext("TracedService.startTrace", callContext
);
526 ::apache::thrift::TProcessorContextFreer
freer(this->eventHandler_
.get(), ctx
, "TracedService.startTrace");
528 if (this->eventHandler_
.get() != NULL
) {
529 this->eventHandler_
->preRead(ctx
, "TracedService.startTrace");
532 TracedService_startTrace_args args
;
534 iprot
->readMessageEnd();
535 uint32_t bytes
= iprot
->getTransport()->readEnd();
537 if (this->eventHandler_
.get() != NULL
) {
538 this->eventHandler_
->postRead(ctx
, "TracedService.startTrace", bytes
);
541 TracedService_startTrace_result result
;
543 iface_
->startTrace(result
.success
, args
.request
);
544 result
.__isset
.success
= true;
545 } catch (const std::exception
& e
) {
546 if (this->eventHandler_
.get() != NULL
) {
547 this->eventHandler_
->handlerError(ctx
, "TracedService.startTrace");
550 ::apache::thrift::TApplicationException
x(e
.what());
551 oprot
->writeMessageBegin("startTrace", ::apache::thrift::protocol::T_EXCEPTION
, seqid
);
553 oprot
->writeMessageEnd();
554 oprot
->getTransport()->writeEnd();
555 oprot
->getTransport()->flush();
559 if (this->eventHandler_
.get() != NULL
) {
560 this->eventHandler_
->preWrite(ctx
, "TracedService.startTrace");
563 oprot
->writeMessageBegin("startTrace", ::apache::thrift::protocol::T_REPLY
, seqid
);
565 oprot
->writeMessageEnd();
566 bytes
= oprot
->getTransport()->writeEnd();
567 oprot
->getTransport()->flush();
569 if (this->eventHandler_
.get() != NULL
) {
570 this->eventHandler_
->postWrite(ctx
, "TracedService.startTrace", bytes
);
574 void TracedServiceProcessor::process_joinTrace(int32_t seqid
, ::apache::thrift::protocol::TProtocol
* iprot
, ::apache::thrift::protocol::TProtocol
* oprot
, void* callContext
)
577 if (this->eventHandler_
.get() != NULL
) {
578 ctx
= this->eventHandler_
->getContext("TracedService.joinTrace", callContext
);
580 ::apache::thrift::TProcessorContextFreer
freer(this->eventHandler_
.get(), ctx
, "TracedService.joinTrace");
582 if (this->eventHandler_
.get() != NULL
) {
583 this->eventHandler_
->preRead(ctx
, "TracedService.joinTrace");
586 TracedService_joinTrace_args args
;
588 iprot
->readMessageEnd();
589 uint32_t bytes
= iprot
->getTransport()->readEnd();
591 if (this->eventHandler_
.get() != NULL
) {
592 this->eventHandler_
->postRead(ctx
, "TracedService.joinTrace", bytes
);
595 TracedService_joinTrace_result result
;
597 iface_
->joinTrace(result
.success
, args
.request
);
598 result
.__isset
.success
= true;
599 } catch (const std::exception
& e
) {
600 if (this->eventHandler_
.get() != NULL
) {
601 this->eventHandler_
->handlerError(ctx
, "TracedService.joinTrace");
604 ::apache::thrift::TApplicationException
x(e
.what());
605 oprot
->writeMessageBegin("joinTrace", ::apache::thrift::protocol::T_EXCEPTION
, seqid
);
607 oprot
->writeMessageEnd();
608 oprot
->getTransport()->writeEnd();
609 oprot
->getTransport()->flush();
613 if (this->eventHandler_
.get() != NULL
) {
614 this->eventHandler_
->preWrite(ctx
, "TracedService.joinTrace");
617 oprot
->writeMessageBegin("joinTrace", ::apache::thrift::protocol::T_REPLY
, seqid
);
619 oprot
->writeMessageEnd();
620 bytes
= oprot
->getTransport()->writeEnd();
621 oprot
->getTransport()->flush();
623 if (this->eventHandler_
.get() != NULL
) {
624 this->eventHandler_
->postWrite(ctx
, "TracedService.joinTrace", bytes
);
628 ::std::shared_ptr
< ::apache::thrift::TProcessor
> TracedServiceProcessorFactory::getProcessor(const ::apache::thrift::TConnectionInfo
& connInfo
) {
629 ::apache::thrift::ReleaseHandler
< TracedServiceIfFactory
> cleanup(handlerFactory_
);
630 ::std::shared_ptr
< TracedServiceIf
> handler(handlerFactory_
->getHandler(connInfo
), cleanup
);
631 ::std::shared_ptr
< ::apache::thrift::TProcessor
> processor(new TracedServiceProcessor(handler
));
635 void TracedServiceConcurrentClient::startTrace(TraceResponse
& _return
, const StartTraceRequest
& request
)
637 int32_t seqid
= send_startTrace(request
);
638 recv_startTrace(_return
, seqid
);
641 int32_t TracedServiceConcurrentClient::send_startTrace(const StartTraceRequest
& request
)
643 int32_t cseqid
= this->sync_
.generateSeqId();
644 ::apache::thrift::async::TConcurrentSendSentry
sentry(&this->sync_
);
645 oprot_
->writeMessageBegin("startTrace", ::apache::thrift::protocol::T_CALL
, cseqid
);
647 TracedService_startTrace_pargs args
;
648 args
.request
= &request
;
651 oprot_
->writeMessageEnd();
652 oprot_
->getTransport()->writeEnd();
653 oprot_
->getTransport()->flush();
659 void TracedServiceConcurrentClient::recv_startTrace(TraceResponse
& _return
, const int32_t seqid
)
664 ::apache::thrift::protocol::TMessageType mtype
;
666 // the read mutex gets dropped and reacquired as part of waitForWork()
667 // The destructor of this sentry wakes up other clients
668 ::apache::thrift::async::TConcurrentRecvSentry
sentry(&this->sync_
, seqid
);
671 if(!this->sync_
.getPending(fname
, mtype
, rseqid
)) {
672 iprot_
->readMessageBegin(fname
, mtype
, rseqid
);
674 if(seqid
== rseqid
) {
675 if (mtype
== ::apache::thrift::protocol::T_EXCEPTION
) {
676 ::apache::thrift::TApplicationException x
;
678 iprot_
->readMessageEnd();
679 iprot_
->getTransport()->readEnd();
683 if (mtype
!= ::apache::thrift::protocol::T_REPLY
) {
684 iprot_
->skip(::apache::thrift::protocol::T_STRUCT
);
685 iprot_
->readMessageEnd();
686 iprot_
->getTransport()->readEnd();
688 if (fname
.compare("startTrace") != 0) {
689 iprot_
->skip(::apache::thrift::protocol::T_STRUCT
);
690 iprot_
->readMessageEnd();
691 iprot_
->getTransport()->readEnd();
693 // in a bad state, don't commit
694 using ::apache::thrift::protocol::TProtocolException
;
695 throw TProtocolException(TProtocolException::INVALID_DATA
);
697 TracedService_startTrace_presult result
;
698 result
.success
= &_return
;
700 iprot_
->readMessageEnd();
701 iprot_
->getTransport()->readEnd();
703 if (result
.__isset
.success
) {
704 // _return pointer has now been filled
708 // in a bad state, don't commit
709 throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT
, "startTrace failed: unknown result");
712 this->sync_
.updatePending(fname
, mtype
, rseqid
);
714 // this will temporarily unlock the readMutex, and let other clients get work done
715 this->sync_
.waitForWork(seqid
);
719 void TracedServiceConcurrentClient::joinTrace(TraceResponse
& _return
, const JoinTraceRequest
& request
)
721 int32_t seqid
= send_joinTrace(request
);
722 recv_joinTrace(_return
, seqid
);
725 int32_t TracedServiceConcurrentClient::send_joinTrace(const JoinTraceRequest
& request
)
727 int32_t cseqid
= this->sync_
.generateSeqId();
728 ::apache::thrift::async::TConcurrentSendSentry
sentry(&this->sync_
);
729 oprot_
->writeMessageBegin("joinTrace", ::apache::thrift::protocol::T_CALL
, cseqid
);
731 TracedService_joinTrace_pargs args
;
732 args
.request
= &request
;
735 oprot_
->writeMessageEnd();
736 oprot_
->getTransport()->writeEnd();
737 oprot_
->getTransport()->flush();
743 void TracedServiceConcurrentClient::recv_joinTrace(TraceResponse
& _return
, const int32_t seqid
)
748 ::apache::thrift::protocol::TMessageType mtype
;
750 // the read mutex gets dropped and reacquired as part of waitForWork()
751 // The destructor of this sentry wakes up other clients
752 ::apache::thrift::async::TConcurrentRecvSentry
sentry(&this->sync_
, seqid
);
755 if(!this->sync_
.getPending(fname
, mtype
, rseqid
)) {
756 iprot_
->readMessageBegin(fname
, mtype
, rseqid
);
758 if(seqid
== rseqid
) {
759 if (mtype
== ::apache::thrift::protocol::T_EXCEPTION
) {
760 ::apache::thrift::TApplicationException x
;
762 iprot_
->readMessageEnd();
763 iprot_
->getTransport()->readEnd();
767 if (mtype
!= ::apache::thrift::protocol::T_REPLY
) {
768 iprot_
->skip(::apache::thrift::protocol::T_STRUCT
);
769 iprot_
->readMessageEnd();
770 iprot_
->getTransport()->readEnd();
772 if (fname
.compare("joinTrace") != 0) {
773 iprot_
->skip(::apache::thrift::protocol::T_STRUCT
);
774 iprot_
->readMessageEnd();
775 iprot_
->getTransport()->readEnd();
777 // in a bad state, don't commit
778 using ::apache::thrift::protocol::TProtocolException
;
779 throw TProtocolException(TProtocolException::INVALID_DATA
);
781 TracedService_joinTrace_presult result
;
782 result
.success
= &_return
;
784 iprot_
->readMessageEnd();
785 iprot_
->getTransport()->readEnd();
787 if (result
.__isset
.success
) {
788 // _return pointer has now been filled
792 // in a bad state, don't commit
793 throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT
, "joinTrace failed: unknown result");
796 this->sync_
.updatePending(fname
, mtype
, rseqid
);
798 // this will temporarily unlock the readMutex, and let other clients get work done
799 this->sync_
.waitForWork(seqid
);