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

nodes = {
    shmem_node = {
        type = "shmem",

        in = {
            # Name of shared memory segment for receiving side
            name = "sn1_in"
        },
        out = {
            # Name of shared memory segment for sending side
            name = "sn1_in"
        },

        # Length of the queues
        queuelen = 1024,

        # We can busy-wait or use pthread condition variables for synchronizations
        mode = "pthread",

        # Execute an external process when starting the node which
        # then starts the other side of this shared memory channel
        # Usually we also pass the shmem names as parameters
        exec = [ "villas-shmem", "sn1_in", "sn1_out" ]
    }
}