Now that we have RLNC's API exposed over a shared memory boundary, there are essentially two things needed for any repo, project or tool to utilize/call RLNC APIs:
- Pull and compile the RLNC proto types via Buf's schema registry (BSR). Ref
- Create a SHM wrapper to execute requests and read responses. Ref
We now have done this twice in both mump2p v1 (optimum-p2p) and mump2p v2 (mump2p-protocol) and we'll need to do it again for DeRAM eventually.
This is a codesmell as we're essentially duplicating the same thing over and over.
Instead, let's define everything in optimum-common (under pkg/shm and pkg/rlncpb) and have upstream tools/repos use a single source for anything related to calling RLNC via SHM.
cc @hpsing @swarna1101
Now that we have RLNC's API exposed over a shared memory boundary, there are essentially two things needed for any repo, project or tool to utilize/call RLNC APIs:
We now have done this twice in both mump2p v1 (optimum-p2p) and mump2p v2 (mump2p-protocol) and we'll need to do it again for DeRAM eventually.
This is a codesmell as we're essentially duplicating the same thing over and over.
Instead, let's define everything in optimum-common (under
pkg/shmandpkg/rlncpb) and have upstream tools/repos use a single source for anything related to calling RLNC via SHM.cc @hpsing @swarna1101