Adding a hook (wrapper) for non-std stream reader in PyTorchStreamReader (#15551)
authorLu Fang <lufang@fb.com>
Sat, 5 Jan 2019 06:47:35 +0000 (22:47 -0800)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Sat, 5 Jan 2019 06:50:07 +0000 (22:50 -0800)
commita918f1d9af8a0a405d84dff5fae64e269770bf49
treeb25efb0baab21ac89d210ce4b718c844bfe60859
parent1488c5dd03a7a619b2f955ddd6997751b1149784
Adding a hook (wrapper) for non-std stream reader in PyTorchStreamReader (#15551)

Summary:
To implement a stream is very annoying, since it is closely defined with the underlying storage streambuffer.

So in this PR, we add ReadAdapterInterface and PyTorchStreamReader will use it. We implement IStreamAdapter as a wrapper of std::istream. And keep the user interface unchanged.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/15551

Reviewed By: zrphercule

Differential Revision: D13568907

Pulled By: houseroad

fbshipit-source-id: 93708cb801248a6c101f35cb14d1631029365c3c
13 files changed:
caffe2/serialize/CMakeLists.txt
caffe2/serialize/file_adapter.cc [new file with mode: 0644]
caffe2/serialize/file_adapter.h [new file with mode: 0644]
caffe2/serialize/inline_container.cc
caffe2/serialize/inline_container.h
caffe2/serialize/inline_container_test.cc
caffe2/serialize/istream_adapter.cc [new file with mode: 0644]
caffe2/serialize/istream_adapter.h [new file with mode: 0644]
caffe2/serialize/read_adapter_interface.cc [new file with mode: 0644]
caffe2/serialize/read_adapter_interface.h [new file with mode: 0644]
torch/csrc/jit/export.cpp
torch/csrc/jit/import.cpp
torch/csrc/jit/init.cpp