MCPcopy Create free account
hub / github.com/baldurk/renderdoc / ReceiveMessage

Method ReceiveMessage

renderdoc/core/target_control.cpp:724–952  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

722 }
723
724 TargetControlMessage ReceiveMessage(RENDERDOC_ProgressCallback progress)
725 {
726 TargetControlMessage msg;
727 if(m_Socket == NULL)
728 {
729 msg.type = TargetControlMessageType::Disconnected;
730 return msg;
731 }
732
733 if(!m_Socket->IsRecvDataWaiting() && reader.GetReader()->AtEnd())
734 {
735 if(!m_Socket->Connected())
736 {
737 SAFE_DELETE(m_Socket);
738 msg.type = TargetControlMessageType::Disconnected;
739 }
740 else
741 {
742 Threading::Sleep(2);
743 msg.type = TargetControlMessageType::Noop;
744 }
745
746 return msg;
747 }
748
749 PacketType type = reader.ReadChunk<PacketType>();
750
751 if(reader.IsErrored())
752 {
753 SAFE_DELETE(m_Socket);
754
755 msg.type = TargetControlMessageType::Disconnected;
756 return msg;
757 }
758 else if(type == ePacket_Noop)
759 {
760 msg.type = TargetControlMessageType::Noop;
761 reader.EndChunk();
762 return msg;
763 }
764 else if(type == ePacket_NewChild)
765 {
766 msg.type = TargetControlMessageType::NewChild;
767
768 READ_DATA_SCOPE();
769 SERIALISE_ELEMENT(msg.newChild.processId).Named("PID"_lit);
770 SERIALISE_ELEMENT(msg.newChild.ident).Named("Child ident"_lit);
771
772 RDCLOG("Got a new child process: %u %u", msg.newChild.processId, msg.newChild.ident);
773
774 reader.EndChunk();
775 return msg;
776 }
777 else if(type == ePacket_CaptureProgress)
778 {
779 msg.type = TargetControlMessageType::CaptureProgress;
780
781 READ_DATA_SCOPE();

Callers 3

connectionThreadEntryMethod · 0.80
remote_capture.pyFile · 0.80
runMethod · 0.80

Calls 15

ToStrFunction · 0.85
strip_nonbasicFunction · 0.85
AtEndMethod · 0.80
GetReaderMethod · 0.80
EndChunkMethod · 0.80
SleepFunction · 0.50
existsFunction · 0.50
fopenFunction · 0.50
IsRecvDataWaitingMethod · 0.45
ConnectedMethod · 0.45
IsErroredMethod · 0.45

Tested by

no test coverage detected