### Distribution: `dp`

Field | Mutable | Type | Explanation
--- | --- | --- | ---
`version` | no | string | The distribution version. Only ozengines with the same version can communicate.
`clockTick` | no | integer | The distribution subsystem is activated at least every `clockTick` milliseconds.
`bufferSize` | yes | integer | The size of the output and input buffers in bytes. For throughput-bound applications it should be large enough to keep the network utilized between invocations of the distribution subsystem.
`probeInterval` | yes | integer | How often probes are run in milliseconds.
`probeTimeout` | yes | integer | Time before a non responded ping defines temp in milliseconds.
`openTimeout` | yes | integer | Maximum time to wait for a response when establishing a connection.
`closeTimeout` | yes | integer | Maximum time to wait for a connection to close.
`wfRemoteTimeout` | yes | integer | Maximum time to wait for a remote peer to reopen a connection after being remotely closed due to lack of resources.
`firewallReopenTimeout` | yes | integer | Time to wait before reopening a connection after being remotely closed due to lack of resources when behind a firewall.
`tcpHardLimit` | yes | integer | Maximum number of simultaneous tcp connections.
`tcpWeakLimit` | yes | integer | Number of simultaneous tcp connections when stable. The difference between tcpHardLimit and tcpWeakLimit is used for accepts. If they are set equal, no further accepts will be made until some connection has been closed.
`retryTimeFloor` | yes | integer | Least time to wait before retrying a lost connection.
`retryTimeCeiling` | yes | integer | Longest time to wait before retrying a lost connection.
`retryTimeFactor` | yes | integer | Factor determining actual to wait before retrying a lost connection.
`flowBufferSize` | yes | integer | Experimental property for flowcontrol.
`flowBufferTime` | yes | integer | Experimental property for flowcontrol.

Some of these properties affect running connections and some affect only new ones. Running: tcp*Limit. New: probe*, retryTime*.

#### Default annotations: `dp.annotation`

Field | Mutable | Type | Explanation
--- | --- | --- | ---
`port` | yes | list of atoms | Default annotation for ports.
`cell` | yes | list of atoms | Default annotation for cells.
`'lock'` | yes | list of atoms | Default annotation for locks.
`object` | yes | list of atoms | Default annotation for objects (their immutable part).
`state` | yes | list of atoms | Default annotation for the state of objects (their mutable part).
`array` | yes | list of atoms | Default annotation for arrays.
`dictionary` | yes | list of atoms | Default annotation for dictionaries.
`variable` | yes | list of atoms | Default annotation for variables.
`readonly` | yes | list of atoms | Default annotation for read-only futures.
`unusable` | yes | list of atoms | Default annotation for unusables (sited resources).
`chunk` | yes | list of atoms | Default annotation for chunks.
`'class'` | yes | list of atoms | Default annotation for classes.
`procedure` | yes | list of atoms | Default annotation for procedures.

When setting default annotations, make sure that the annotation you give is complete and consistent with the corresponding type.