MCPcopy Create free account
hub / github.com/apache/arrow / ReadFrom

Method ReadFrom

cpp/src/arrow/ipc/message.cc:211–225  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

209}
210
211Result<std::unique_ptr<Message>> Message::ReadFrom(std::shared_ptr<Buffer> metadata,
212 io::InputStream* stream) {
213 std::unique_ptr<Message> result;
214 auto listener = std::make_shared<AssignMessageDecoderListener>(&result);
215 MessageDecoder decoder(listener, MessageDecoder::State::METADATA, metadata->size());
216 ARROW_RETURN_NOT_OK(decoder.Consume(metadata));
217
218 ARROW_ASSIGN_OR_RAISE(auto body, stream->Read(decoder.next_required_size()));
219 if (body->size() < decoder.next_required_size()) {
220 return Status::IOError("Expected to be able to read ", decoder.next_required_size(),
221 " bytes for message body, got ", body->size());
222 }
223 RETURN_NOT_OK(decoder.Consume(body));
224 return result;
225}
226
227Result<std::unique_ptr<Message>> Message::ReadFrom(const int64_t offset,
228 std::shared_ptr<Buffer> metadata,

Callers

nothing calls this directly

Calls 4

IOErrorFunction · 0.85
sizeMethod · 0.45
ConsumeMethod · 0.45
next_required_sizeMethod · 0.45

Tested by

no test coverage detected