{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "CSP Emulator Visibility Sender Config",
    "description": "Schema for the Configuration of the visibility sender",
    "version": "0.1",
    "type": "object",
    "required": [
        "destination_host",
        "destination_port_start",
        "heap",
        "num_streams",
        "num_workers",
        "start_channel",
        "stream_config"
    ],
    "properties": {
        "destination_host": {
            "description": "hostname or IP of the send target ",
            "type": "string"
        },
        "destination_port_start": {
            "description": "Port of the send target",
            "type": "integer"
        },
        "heap": {
            "description": "TODO",
            "$ref": "#/definitions/heap"
        },
        "num_streams": {
            "description": "TODO",
            "type": "integer"
        },
        "num_workers": {
            "description": "TODO",
            "type": "integer"
        },
        "start_channel": {
            "description": "TODO",
            "type": "integer"
        },
        "stream_config": {
            "description": "TODO",
            "$ref": "#/definitions/stream_config"
        }
    },
    "definitions": {
        "heap": {
            "type": "object",
            "required": [
                "num_stations",
                "num_pols"
            ],
            "properties": {
                "num_stations": {
                    "description": "TODO",
                    "type": "integer"
                },
                "num_pols": {
                    "description": "TODO",
                    "type": "integer"
                }
            }
        },
        "stream_config": {
            "type": "object",
            "required": [
                "max_packet_size",
                "rate",
                "burst_size",
                "max_heaps"
            ],
            "properties": {
                "max_packet_size": {
                    "description": "TODO",
                    "type": "integer"
                },
                "rate": {
                    "description": "TODO",
                    "type": "number",
                    "minimum": 0.0
                },
                "burst_size": {
                    "description": "TODO",
                    "type": "integer"
                },
                "max_heaps": {
                    "description": "TODO",
                    "type": "integer"
                }
            }
        }
    }
}