The compartment mapper needs to provide functions for piecemeal sending and receiving of archives. An abstract transport protocol, to be implemented concretely elsewhere, presents as a SHA-512 indexed content-address-store.
The sender generates and sends a bill of materials for an archive. The receiver requests the modules that are locally absent.
To that end, the compartment mapper needs functions to:
load an application with a given compartment map (which must contain the hashes of every module) from a content address store (async read(sha512: string) => Promise<ArrayBuffer>)
list the content addresses in an archive (which should be listed in the archive’s compartment map).
The compartment mapper needs to provide functions for piecemeal sending and receiving of archives. An abstract transport protocol, to be implemented concretely elsewhere, presents as a SHA-512 indexed content-address-store.
The sender generates and sends a bill of materials for an archive. The receiver requests the modules that are locally absent.
To that end, the compartment mapper needs functions to:
async read(sha512: string) => Promise<ArrayBuffer>
)