v2.0.0
Loading...
Searching...
No Matches
mna_port.h File Reference

Typed input or output slot on a graph node — carries an MnaDataKind, an upstream link, an optional real-time stream binding and a cached-result reference. More...

#include "mna_global.h"
#include "mna_types.h"
#include <QString>
#include <QJsonObject>
#include <QCborMap>
#include <QSet>
Include dependency graph for mna_port.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MNALIB::MnaPort
 Named, typed port on an MNA graph node with upstream link and optional real-time stream binding. More...

Namespaces

namespace  MNALIB
 MNE Analysis Container Format (mna/mnx).

Detailed Description

Typed input or output slot on a graph node — carries an MnaDataKind, an upstream link, an optional real-time stream binding and a cached-result reference.

SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors

Author
Christoph Dinh chris.nosp@m.toph.nosp@m..dinh.nosp@m.@mne.nosp@m.-cpp..nosp@m.org
Since
2.2.0
Date
April 2026

MnaPort is the unit of connectivity in an MNA graph: every data hand-off from one MnaNode to another goes through a named, typed port pair, never an anonymous string. Input ports carry an explicit sourceNodeId / sourcePortName pointing at the producing output, which is what MnaGraph::topologicalSort and MnaGraph::validate rely on to detect cycles and reject mismatched MnaDataKind connections at edit time.

When a port participates in a streaming pipeline (e.g. MNE Scan), streamProtocol selects the transport — fiff-rt, lsl, ftbuffer, shm or the in-process default — and streamEndpoint / streamBufferMs configure the live connection. For batch outputs, cachedResultPath plus cachedResultHash let the executor skip re-computation when upstream inputs are unchanged. extras keeps any forward- compatible attributes a newer registry may attach.

Definition in file mna_port.h.