]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
msg/async/frames_v2: introduce FrameAssembler
authorIlya Dryomov <idryomov@gmail.com>
Fri, 24 Apr 2020 16:01:46 +0000 (18:01 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 13 Jul 2020 12:45:06 +0000 (14:45 +0200)
commit95dea12a49c018ffa6b36899d35d7cd79fad808d
treeee9f14d99e68ba024814d453d07cc17ad5b6b962
parent5d1eca8ecddec97cb10c7e60d4257e744c4f7e00
msg/async/frames_v2: introduce FrameAssembler

Start separating frame assembly and disassembly code from
frame sending, receiving and handling code, so that assembly
and disassembly pieces can be unit tested and hopefully also
shared between different messengers (e.g. crimson).

This commit factors out the assembly code from Frame.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 872b125a5b817def84ed5d70d204fec5a4fa7c1e)

Conflicts:
src/crimson/CMakeLists.txt [ crimson doesn't support msgr2
  in nautilus
src/crimson/net/ProtocolV2.cc [ ditto ]
src/crimson/net/ProtocolV2.h [ ditto ]
src/msg/async/frames_v2.h [ commits f1cf408412c8
  ("msg/async/frames_v2.h: fix warning"), c70f779d12a2
  ("headers: Make ceph_le member private"), 9908f0e652b9
  ("msg: Add optimizing move") and 1a975fb3a801 ("msg/async:
  fix unnecessary 4 kB allocation in secure mode.") not in
  nautilus; fmt include adjusted as in rgw_lc.cc ]
src/msg/CMakeLists.txt
src/msg/async/ProtocolV2.cc
src/msg/async/ProtocolV2.h
src/msg/async/frames_v2.cc [new file with mode: 0644]
src/msg/async/frames_v2.h