MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / from_encoding

Function from_encoding

dds/DCPS/EncapsulationHeader.cpp:113–155  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

111}
112
113bool
114from_encoding(EncapsulationHeader& header,
115 const Encoding& encoding,
116 Extensibility extensibility)
117{
118 const bool big = encoding.endianness() == ENDIAN_BIG;
119 switch (encoding.kind()) {
120 case Encoding::KIND_XCDR1:
121 switch (extensibility) {
122 case FINAL:
123 case APPENDABLE:
124 header.kind(big ? EncapsulationHeader::KIND_CDR_BE : EncapsulationHeader::KIND_CDR_LE);
125 break;
126 case MUTABLE:
127 header.kind(big ? EncapsulationHeader::KIND_PL_CDR_BE : EncapsulationHeader::KIND_PL_CDR_LE);
128 break;
129 }
130 break;
131 case Encoding::KIND_XCDR2:
132 switch (extensibility) {
133 case FINAL:
134 header.kind(big ? EncapsulationHeader::KIND_CDR2_BE : EncapsulationHeader::KIND_CDR2_LE);
135 break;
136 case APPENDABLE:
137 header.kind(big ? EncapsulationHeader::KIND_D_CDR2_BE : EncapsulationHeader::KIND_D_CDR2_LE);
138 break;
139 case MUTABLE:
140 header.kind(big ? EncapsulationHeader::KIND_PL_CDR2_BE : EncapsulationHeader::KIND_PL_CDR2_LE);
141 break;
142 }
143 break;
144 default:
145 if (log_level >= LogLevel::Error) {
146 ACE_ERROR((LM_ERROR,
147 "(%P|%t) ERROR: from_encoding: "
148 "got encoding with unsupported kind: %C\n",
149 Encoding::kind_to_string(encoding.kind()).c_str()));
150 }
151 return false;
152 }
153
154 return true;
155}
156
157namespace {
158 bool

Callers 11

serialize_sampleMethod · 0.85
EncapsulationHeaderMethod · 0.85
write_parameter_listMethod · 0.85
TESTFunction · 0.85

Calls

no outgoing calls

Tested by 1