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>

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). | |
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
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.