# SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University
# SPDX-License-Identifier: Apache-2.0

nodes = {
    sig = {
        type = "signal"

        signal = "sine"
    }

    dpsim = {
        enabled = false,
        type = "shmem",
        in = {
            name = "/dpsim-villas",	# Name of shared memory segment for sending side
            hooks = (
                { type = "stats" }
            ),
            signals = {
                # count = 2,
                # type = "float"
                count = 1,
                type = "complex"
            }
        },
        out = {
            name = "/villas-dpsim"	# Name of shared memory segment for receiving side
            signals = {
                count = 1,
                type = "complex"
            }

        },
        queuelen = 1024,	# Length of the queues
        polling = true,		# We can busy-wait or use pthread condition variables for synchronizations
    },

    broker = {
        type = "mqtt",
        format = "json",
        #host = "localhost",
        host = "137.226.133.157"
        port = 1883,
        retain = false,

        out = {
            publish = "dpsim->dist"
        }

        in = {
            subscribe = "dist->dpsim",

            signals = {
                count = 1,
                type = "complex"
            }
        }
    }
}

paths = (
    {
        enabled = false
        in = "sig",
        out = "broker",

        # mode: any/all
        # Condition of which/how many source nodes have to receive
        # at least one sample for the path to be triggered
        mode = "any",
#		reverse = true
    }
    # ,{
    # 	in = "nano";
    # 	out = "dpsim";
    # 	mode = "any"
    # }

)
