The idea is the following: all the protocol instances contained by nodes in the network define a protocol vector. This package handles protocol vectors as a whole: for example, by observing one of its fields and reporting aggregation statistics over them (like average, variance, etc.).
Originally, this package was designed to interact with protocols implementing the {@link peersim.vector.SingleValue} interface, containing a getter and a setter method for interacting with a double value. The current implementation is backward-compatible with this design, meaning that it works with {@link peersim.vector.SingleValue} as default, but it has also been extended in order to initialize and observe generic fields and generic primitive types. In this general case, the getter and setter methods that read and write this field have to be explicitly given in the configuration.
Getter methods must have a signature as follows:
Setter methods are characterized as follows:
Although there are other numberic types such as byte and short, they are not supported. They can be represented as an int in a protocol.