Pool
A pool groups a set of devices. It has PoolCapabilities that connect a pool to Capabilities that all devices in the pool have.
If the actual device for an action is not important, it can be scheduled on a pool that has the needed PoolCapability. For example, a “Record” can be scheduled on a pool that contains devices of type “Recorder” and has a PoolCapability of type “Record”. The scheduler selects an available port for recording from the pool automatically.
Properties
Property | Possible Values | Example | Description |
---|---|---|---|
id | string | 0B | External ID of the Pool. |
description | string | All recording devices in Cologne. | A human readable description of what the pool contains. |
name | string | CologneRecordingDevicesPool. | The name of the pool. |
deviceIds | Array of string |
CODE
| A list of the external IDs of the devices being part of the pool. |
poolCapabilities | Array of PoolCapability | see PoolCapability. | Assigns all Capabilities it has to this Pool using PoolCapability-objects. |
Example JSON Snippet
{
"id": "0B",
"description": "Best recording devices",
"name": "Pool1",
"deviceIds": [
"MX",
"2n",
"YQ",
"aN",
"ya"
],
"poolCapabilities": [
{
"id": "0B",
"capability": {
"id": "0B",
"content": "{\"action\":\"Record\",\"input\":{\"targetPath\":{\"type\":\"string\",\"optional\":\"true\"},\"profileName\":{\"type\":\"string\",\"optional\":\"true\"}},\"output\":{\"pathToFile\":{\"type\":\"string\"}},\"properties\":{\"preroll\":{\"type\":\"integer\",\"kind\":\"fix\"}}, \"events\": [ \"RecorderMock.fileCreated\", \"RecorderMock.recordingFailed\", \"RecorderMock.recordingStarted\", \"RecorderMock.recordingFinished\" ]}",
"capabilityType": "Record",
"needsStopCommand": true
},
"config": "{\"preroll\":2}"
},
{
"id": "GD",
"capability": {
"id": "GD",
"content": "{\"action\":\"LoopRecord\",\"input\":{\"targetPath\":{\"type\":\"string\",\"optional\":\"true\"},\"profile\":{\"type\":\"string\",\"optional\":\"true\"},\"output\":{\"pathToFile\":{\"type\":\"string\"}},\"properties\":{\"preroll\":{\"type\":\"integer\",\"kind\":\"fix\"},\"maxLoopTime\":{\"type\":\"integer\",\"kind\":\"dynamic\"}}}}",
"capabilityType": "LoopRecord",
"needsStopCommand": false
},
"config": ""
},
{
"id": "pY",
"capability": {
"id": "pY",
"content": "{\"action\":\"Storage\",\"input\":{\"profile\":{\"type\":\"string\",\"optional\":\"true\"}},\"output\":{\"capacity\":{\"type\":\"TimeSpan\"}}}",
"capabilityType": "Storage",
"needsStopCommand": false
},
"config": "{\"preroll\":3}"
}
]
}