Documentation of the different operation primitives that the protocol describes
Common for all operations is that they follow the flow described in Message flow and that all operations are targeted at a specific Collection, the only exception is the GetStatus operation as it regards components.
Operations that regard collections all act on a single file and some also all files. When working with all files in a collection, the protocol supports a paging mechanism to ensure that a large number of results won't cause problems for the various components (pillars, clients, messagebus etc.).
The following sections describe the major functionalities of each operation, for detailed fields in the protocol see Message format.
The descriptions of the various operations here does not cover the exact details about the expected behavior and corner cases, but just the broader conceptual parts. Details are kept in acceptance tests in the reference code for two reasons:
- To ensure documentation and reality (implementation) does not drift apart
- Enable automatic verification of components and their interaction.
Describe that details about expected behaviour in various situations is kept in integration tests to ensure documentation does not drift apart from reality