Invocation: explore variants to pass output connection
There might be one specific output result buffer at top level for each invocation, which must be delivered into a prepared output sink. This amounts to one special case, cross-cutting an otherwise completely generic data flow scheme. After considering several solutions, it seems most straight-forward to configure a specific `OutputBufferProvider` to serve as a proxy for the `OutputSlot` / `DataSink` provided at top-level to the Render-Job. As an asside, this analyis reveals that the result-slot number does not belong into the `FeedManifold`, which is dynamic (on the stack); rather, it's a fixed value configured as part of the `WeavingPattern`
This commit is contained in:
parent
9a23aa773b
commit
a4ff2081b9
3 changed files with 211 additions and 91 deletions
|
|
@ -73,15 +73,6 @@ namespace engine {
|
|||
|
||||
BuffS inBuff;
|
||||
BuffS outBuff;
|
||||
|
||||
uint resultSlot{0};
|
||||
|
||||
BuffHandle
|
||||
result() const
|
||||
{
|
||||
ENSURE (resultSlot < N, "invalid result buffer retrieved.");
|
||||
return outBuff[resultSlot];
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -415,6 +415,8 @@ namespace engine {
|
|||
Several<PortRef> leadPort;
|
||||
Several<BuffDescr> outTypes;
|
||||
|
||||
uint resultSlot{0};
|
||||
|
||||
//////////////////////////////////////////OOO builder must set-up those descriptors
|
||||
SimpleWeavingPattern(Several<PortRef>&& pr, Several<BuffDescr> dr)
|
||||
: CONF{}
|
||||
|
|
@ -456,7 +458,7 @@ namespace engine {
|
|||
feed.invoke();
|
||||
}
|
||||
|
||||
void
|
||||
BuffHandle
|
||||
fix (Feed& feed)
|
||||
{
|
||||
for (uint i=0; i<leadPort.size(); ++i)
|
||||
|
|
@ -469,7 +471,10 @@ namespace engine {
|
|||
if (i != feed.resultSlot)
|
||||
feed.outBuff[i].release();
|
||||
}
|
||||
ENSURE (resultSlot < CONF::MAX_SIZ, "invalid result buffer configured.");
|
||||
return feed.outBuff[resultSlot];
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -503,8 +508,7 @@ namespace engine {
|
|||
PAT::pull(feed, turnoutSys);
|
||||
PAT::shed(feed);
|
||||
PAT::weft(feed);
|
||||
PAT::fix (feed);
|
||||
return feed.result();
|
||||
return PAT::fix (feed);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -5014,9 +5014,7 @@
|
|||
<linktarget COLOR="#b73b74" DESTINATION="ID_1998357180" ENDARROW="Default" ENDINCLINATION="-1444;146;" ID="Arrow_ID_373354654" SOURCE="ID_264004203" STARTARROW="None" STARTINCLINATION="-586;-482;"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1662052083304" ID="ID_1536704401" MODIFIED="1662052109690">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Stock-IDs sind <font color="#e94312" face="Monospaced">@deprecated</font>
|
||||
|
|
@ -5051,9 +5049,7 @@
|
|||
<icon BUILTIN="button_ok"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1477784813895" ID="ID_330280074" MODIFIED="1567875934606">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
<u>Aufgabe</u>: <i><font size="4" color="#821b58">populate timeline</font></i>
|
||||
|
|
@ -5269,9 +5265,7 @@
|
|||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1538938796825" ID="ID_1428561726" MODIFIED="1557498707218">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
»der <b>Viewer</b>«
|
||||
|
|
@ -5459,9 +5453,7 @@
|
|||
<node CREATED="1665800481228" ID="ID_1358268582" MODIFIED="1665800494158" TEXT="Transformationen anwenden">
|
||||
<node CREATED="1665800496063" ID="ID_547172174" MODIFIED="1665801184257" TEXT="Problem: Gruppen und Filter">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Inkscape wendet Transformationen normalerweise nur auf Blatt-Elemente direkt an; sonst fügt es ein "transform"-Element ein; dieses ist eine Matrix für homogene Koordinaten.
|
||||
|
|
@ -5471,9 +5463,7 @@
|
|||
</node>
|
||||
<node CREATED="1665800514028" ID="ID_1925132136" MODIFIED="1665801292480" TEXT="Filter deaktivieren">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
wenn man den Filter entfernt / auf Null dreht (Blur), dann wendet Inkscape die Transformation an
|
||||
|
|
@ -6262,9 +6252,7 @@
|
|||
<node CREATED="1495234865717" ID="ID_1261122199" MODIFIED="1557498707220" TEXT="ist das notwendig?"/>
|
||||
<node CREATED="1538588192126" ID="ID_1032145387" MODIFIED="1576282358136" TEXT="wohl nicht">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
wenn die GTK-Loop angehalten wird,
|
||||
|
|
@ -8014,9 +8002,7 @@
|
|||
</node>
|
||||
<node CREATED="1508540106274" ID="ID_1727085652" MODIFIED="1576282358124" TEXT="ID-Literale existeren dauerhaft">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
der Resolver macht kein Memory-Management,
|
||||
|
|
@ -10882,9 +10868,7 @@
|
|||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1513206594428" ID="ID_678047423" MODIFIED="1513206615387">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
vorgegebene Zahlenfolge<br />in untendlichem Zufalls-Baum finden
|
||||
|
|
@ -15046,9 +15030,7 @@
|
|||
<node CREATED="1529073503466" ID="ID_1047392798" MODIFIED="1529073510052" TEXT="darf niemals neu erzeugen"/>
|
||||
<node CREATED="1529073510904" ID="ID_403151375" MODIFIED="1529073549243" TEXT="navigiert den vorbereiten Pfad nochmal hinunter">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
....jaaaaa, das ist verschwenderisch
|
||||
|
|
@ -22258,9 +22240,7 @@
|
|||
</node>
|
||||
<node CREATED="1611437583831" HGAP="33" ID="ID_149706819" MODIFIED="1611438463655" TEXT="aber diverse Design-Verbesserungen bleiben" VSHIFT="8">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
....durch den Versuch, "die Hooks" zu einem allgemeinem Gui-Konstruktionsframework mit double-Dispatch auszubauen, habe ich das bestehende Design erheblich geschärft, und für einige Teilaspekte viel sinnigere Lösungen gefunden. Am Ende hat sich gezeigt, daß meine Vision nicht realisierbar ist, und zwar fehlte eigentlich nur "eine ganz kleine Lücke" ― aber ich bin erfahren genug, um zu wissen, daß man eine solche Situation nicht <i>durch Zaubertricks retten</i> kann. Daher habe ich diese Vision in aller Form begraben, aber die Design-Verbesserungen entsprechend heruntergestuft und so erhalten.
|
||||
|
|
@ -52073,9 +52053,7 @@
|
|||
</node>
|
||||
<node CREATED="1492294454001" ID="ID_1498558942" MODIFIED="1492359486258">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
SessionCommandService::<b>bindArg</b>
|
||||
|
|
@ -52087,9 +52065,7 @@
|
|||
</node>
|
||||
<node CREATED="1492294454001" ID="ID_48228210" MODIFIED="1492359489563">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
SessionCommandService::<b>invoke</b>
|
||||
|
|
@ -52121,9 +52097,7 @@
|
|||
<node CREATED="1492095551151" ID="ID_1172833434" MODIFIED="1518487921092" TEXT="verweist auf andere Komponente"/>
|
||||
<node CREATED="1492095590481" ID="ID_842137243" MODIFIED="1518487921092">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
managed diese Komponente <i>nicht</i>
|
||||
|
|
@ -52149,9 +52123,7 @@
|
|||
<node CREATED="1492094305497" ID="ID_1689865131" MODIFIED="1518487921092" TEXT="Zweifel wegen double checked locking"/>
|
||||
<node CREATED="1492094321039" ID="ID_1545149473" MODIFIED="1518487921092">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
aufwendiges <i>Nebenthema</i>
|
||||
|
|
@ -52177,9 +52149,7 @@
|
|||
</node>
|
||||
<node CREATED="1492095433567" FOLDED="true" HGAP="69" ID="ID_1208499974" MODIFIED="1576282357985" TEXT="DSL schaffen" VSHIFT="1">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...das war der erste Entwurf
|
||||
|
|
@ -52219,9 +52189,7 @@
|
|||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1492096992098" ID="ID_495973760" MODIFIED="1492132247519">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Symbol ADD_CLIP = CmdAccess::to (cmd::scope_addClip, INTO_FORK);
|
||||
|
|
@ -52258,9 +52226,7 @@
|
|||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1492099466079" ID="ID_1013112793" MODIFIED="1576282357984" TEXT="gentle degradation">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
die DSL muß so konstruiert werden,
|
||||
|
|
@ -52288,9 +52254,7 @@
|
|||
</node>
|
||||
<node CREATED="1576282357985" HGAP="43" ID="ID_73450627" MODIFIED="1613917052881" TEXT="Thema vorerst vertagt und einfache Lösung implementiert" VSHIFT="3">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
<u><font size="2">(Anmerkung 2/2021)</font></u>
|
||||
|
|
@ -52388,9 +52352,7 @@
|
|||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1489544836757" ID="ID_1364306635" MODIFIED="1576282357984" TEXT="Ausführung abweisen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...stattdessen einen Fehler-Indikator auslösen
|
||||
|
|
@ -52403,9 +52365,7 @@
|
|||
</node>
|
||||
<node CREATED="1489544910395" ID="ID_909938815" MODIFIED="1576282357983" TEXT="enable Action">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...das ist eine Reaktion,
|
||||
|
|
@ -85918,10 +85878,12 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1713821606607" ID="ID_492497884" MODIFIED="1713823536290" TEXT="NodeDevel_test">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1713823362710" ID="ID_66967253" MODIFIED="1719277373397" TEXT="Hilfsmittel zur Entwicklung und zum Aufbau">
|
||||
<node CREATED="1719277267208" HGAP="29" ID="ID_594112005" MODIFIED="1719625152303" TEXT="brauche eine komplette Test-Ontologie" VSHIFT="7">
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1719277267208" HGAP="29" ID="ID_594112005" LINK="https://issues.lumiera.org/ticket/1372" MODIFIED="1722274638084" TEXT="#1372 establish a »Test Domain Ontology«" VSHIFT="7">
|
||||
<linktarget COLOR="#df3950" DESTINATION="ID_594112005" ENDARROW="Default" ENDINCLINATION="666;-662;" ID="Arrow_ID_801625266" SOURCE="ID_973384222" STARTARROW="None" STARTINCLINATION="-1433;133;"/>
|
||||
<linktarget COLOR="#df3950" DESTINATION="ID_594112005" ENDARROW="Default" ENDINCLINATION="524;-512;" ID="Arrow_ID_839086124" SOURCE="ID_605165611" STARTARROW="Default" STARTINCLINATION="-1300;117;"/>
|
||||
<linktarget COLOR="#ff2400" DESTINATION="ID_594112005" ENDARROW="Default" ENDINCLINATION="-136;-44;" ID="Arrow_ID_1657525718" SOURCE="ID_1706482104" STARTARROW="None" STARTINCLINATION="101;9;"/>
|
||||
<linktarget COLOR="#fde0ca" DESTINATION="ID_594112005" ENDARROW="Default" ENDINCLINATION="-1678;88;" ID="Arrow_ID_594112055" SOURCE="ID_854334540" STARTARROW="None" STARTINCLINATION="-1536;97;"/>
|
||||
<icon BUILTIN="flag-pink"/>
|
||||
<node CREATED="1719277376922" ID="ID_420782384" MODIFIED="1719787483524" TEXT="das ist zugleich ein Prüfstein für das angestrebte »generische Design«">
|
||||
<arrowlink COLOR="#a63b5a" DESTINATION="ID_1834369403" ENDARROW="Default" ENDINCLINATION="-507;-32;" ID="Arrow_ID_249989493" STARTARROW="None" STARTINCLINATION="-211;811;"/>
|
||||
<linktarget COLOR="#412dcd" DESTINATION="ID_420782384" ENDARROW="Default" ENDINCLINATION="131;-411;" ID="Arrow_ID_317368901" SOURCE="ID_746946876" STARTARROW="None" STARTINCLINATION="241;1448;"/>
|
||||
|
|
@ -88540,6 +88502,13 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1721842523924" ID="ID_1665424296" MODIFIED="1721842678142" TEXT="zudem: »Service-Kontext« bereitstellen">
|
||||
<arrowlink COLOR="#5d434b" DESTINATION="ID_611993343" ENDARROW="Default" ENDINCLINATION="60;-165;" ID="Arrow_ID_819933510" STARTARROW="None" STARTINCLINATION="-74;5;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1722274451779" ID="ID_1072443707" LINK="https://issues.lumiera.org/ticket/1373" MODIFIED="1722274484633" TEXT="#1373 Default-BufferProvider">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1722274502942" ID="ID_1076067994" LINK="https://issues.lumiera.org/ticket/1374" MODIFIED="1722275936824" TEXT="#1374 Output-BufferProvider">
|
||||
<arrowlink COLOR="#861f49" DESTINATION="ID_80799942" ENDARROW="Default" ENDINCLINATION="-75;-520;" ID="Arrow_ID_1180739231" STARTARROW="None" STARTINCLINATION="1006;82;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -88637,8 +88606,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1721956892200" ID="ID_1451110951" MODIFIED="1721956974355" TEXT="strukturell wäre das Spezial-Tag die beste Lösung">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1721956892200" ID="ID_1451110951" MODIFIED="1722384486637" TEXT="strukturell wäre das Spezial-Tag die beste Lösung">
|
||||
<arrowlink COLOR="#4395d3" DESTINATION="ID_1329080039" ENDARROW="Default" ENDINCLINATION="-105;0;" ID="Arrow_ID_1999279188" STARTARROW="None" STARTINCLINATION="6;-21;"/>
|
||||
<arrowlink COLOR="#414bc3" DESTINATION="ID_603785440" ENDARROW="Default" ENDINCLINATION="-465;-28;" ID="Arrow_ID_1386315858" STARTARROW="None" STARTINCLINATION="-31;500;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node COLOR="#435e98" CREATED="1721957000178" ID="ID_917881726" MODIFIED="1721962405933" TEXT="fragt sich nur: ist das möglich...?">
|
||||
<icon BUILTIN="help"/>
|
||||
|
|
@ -88731,7 +88701,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1722005561810" ID="ID_605283552" MODIFIED="1722005604557" TEXT="zu dem Zeitpunkt haben wir einen Buffer-Descriptor vorliegen">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1722006966966" ID="ID_80799942" MODIFIED="1722007044652" TEXT="neues API benötigt">
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1722006966966" ID="ID_80799942" MODIFIED="1722275926136" TEXT="neues API benötigt">
|
||||
<linktarget COLOR="#861f49" DESTINATION="ID_80799942" ENDARROW="Default" ENDINCLINATION="-75;-520;" ID="Arrow_ID_1180739231" SOURCE="ID_1076067994" STARTARROW="None" STARTINCLINATION="1006;82;"/>
|
||||
<icon BUILTIN="flag-pink"/>
|
||||
<node CREATED="1722006974253" ID="ID_1472014079" MODIFIED="1722006984025" TEXT="aufrufbar auf/mit einem BufferDescriptor"/>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1722006984755" ID="ID_1802025811" MODIFIED="1722092863044" TEXT="kann ein LocalTag setzen">
|
||||
|
|
@ -88739,9 +88710,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1722092776817" ID="ID_1178263086" MODIFIED="1722092793427" TEXT="Bezugspunkt: BufferMetadata::lock()">
|
||||
<node CREATED="1722092795833" ID="ID_444477764" MODIFIED="1722092803241" TEXT="konstruiert einen abgeleiteten Entry"/>
|
||||
<node CREATED="1722092804037" ID="ID_696205920" MODIFIED="1722092813545" TEXT="konstruiert dabei einen abgeleiteten Key"/>
|
||||
<node CREATED="1722092814539" ID="ID_32890513" MODIFIED="1722092832617" TEXT="speichert diesen abgeleiteten Entriy in die Metadaten-Tabelle"/>
|
||||
<node CREATED="1722092814539" ID="ID_32890513" MODIFIED="1722092832617" TEXT="speichert diesen abgeleiteten Entry in die Metadaten-Tabelle"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1722092834937" ID="ID_1568128579" MODIFIED="1722092977474" TEXT="prüfen: Hash-Behandlung konsistent">
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#a50125" CREATED="1722092834937" ID="ID_1568128579" MODIFIED="1722218607040" TEXT="prüfen: Hash-Behandlung konsistent">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -88751,15 +88722,20 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1722129822146" ID="ID_768909598" MODIFIED="1722129849880" TEXT="hilft eine feste Reihenfolge?">
|
||||
<node COLOR="#435e98" CREATED="1722129822146" ID="ID_768909598" MODIFIED="1722218577161" TEXT="hilft eine feste Reihenfolge?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1722129884245" ID="ID_732292850" MODIFIED="1722129899976" TEXT="Ausgangspunkt: gegebener (parent)Type-hash"/>
|
||||
<node CREATED="1722129857702" ID="ID_114268361" MODIFIED="1722129879231" TEXT="sinnvollerweise: LocalKey stets zuerst, dann die Adresse"/>
|
||||
<node COLOR="#338800" CREATED="1722129857702" ID="ID_114268361" MODIFIED="1722218587632" TEXT="sinnvollerweise: LocalKey stets zuerst, dann die Adresse">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#5b280f" CREATED="1722218590047" ID="ID_203381512" MODIFIED="1722218598390" TEXT="löst aber das Problem nicht">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#980e5e" CREATED="1722129450311" ID="ID_584023703" MODIFIED="1722129479340" TEXT="hab ein ganz ungutes Gefühl hier">
|
||||
<icon BUILTIN="smily_bad"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fafe99" COLOR="#fa002a" CREATED="1722129503142" ID="ID_791304404" MODIFIED="1722129798643" TEXT="Gefahr, einen bereits bestehenden Eintrag nicht mehr zu finden">
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1722129503142" ID="ID_791304404" MODIFIED="1722210017088" TEXT="Gefahr, einen bereits bestehenden Eintrag nicht mehr zu finden">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -88769,13 +88745,14 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1722174380744" ID="ID_267908880" MODIFIED="1722174427410" TEXT="Zielkonflikt im Rahmen des bestehenden Systems">
|
||||
<node BACKGROUND_COLOR="#d5c08e" COLOR="#a50125" CREATED="1722174380744" ID="ID_267908880" MODIFIED="1722210051783" TEXT="Zielkonflikt im Rahmen des bestehenden Systems">
|
||||
<icon BUILTIN="clanbomber"/>
|
||||
<node CREATED="1722174447615" ID="ID_1522763793" MODIFIED="1722174491095" TEXT="Anforderung-1 : für eine Buffer-Addresse darf es höchstens einen Eintrag geben"/>
|
||||
<node CREATED="1722174500520" ID="ID_1587953083" MODIFIED="1722174647262" TEXT="Anforderung-2 : (abstrakter)Typ-Eintrag wird durch LocalTag differenziert"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1722183960753" ID="ID_1728122357" MODIFIED="1722187113886" TEXT="mögliche Lösung: LocalTag nur für abstrakte Einträge in den Hash aufnehmen">
|
||||
<node COLOR="#5b280f" CREATED="1722183960753" ID="ID_1728122357" MODIFIED="1722210025903" TEXT="mögliche Lösung: LocalTag nur für abstrakte Einträge in den Hash aufnehmen">
|
||||
<icon BUILTIN="idea"/>
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1722174881847" ID="ID_1281056403" MODIFIED="1722174898085" TEXT="die Bedeutung der abstrakten Typ-Einträge ist unklar">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
|
|
@ -88788,8 +88765,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
...da mit jedem Buffer-Typ auch eine bestimmte Memory-Block-Größe verbunden ist, könnte man dahinter mehrere kachelnde Basis-Allokatoren anordnen — und in einer solchen Struktur wäre es sinnvoll, zu erwartende Buffer-Allokationen <b>im Voraus anzukündigen</b>. Die Steuerung der Pool-Größe könnte dann im Hintergrund erfolgen, was <i>möglicherweise eine relevante Optimierung auf Durchsatz</i> ermöglicht
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1722175400457" ID="ID_299028104" MODIFIED="1722175484518" TEXT="hierzu wäre eine Betrachtung des Buffer-Lebenszyklus notwengig">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
|
|
@ -88804,8 +88780,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
anhand der Hash-ID, die zum Entry gehört, welcher beim Erzeugen des Handles gespeichert wurde
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1722178787002" ID="ID_1918650261" MODIFIED="1722178803804" TEXT="überführt ihn ⟼ FREE">
|
||||
<node CREATED="1722178807616" ID="ID_66134104" MODIFIED="1722178819618" TEXT="attached-dtor">
|
||||
|
|
@ -88822,8 +88797,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
der Entry wird aus der Metadaten-Tabelle <b>gelöscht</b>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -88843,23 +88817,136 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1722187190971" ID="ID_1915656776" MODIFIED="1722187217883" TEXT="damit bekäme man jeweils einen separaten Hash und Entry"/>
|
||||
<node CREATED="1722187254401" ID="ID_1600797508" MODIFIED="1722187297320" TEXT="man könnte nun jedem die jeweils gleiche Adresse zuordnen"/>
|
||||
<node CREATED="1722187298244" ID="ID_1405182769" MODIFIED="1722187322085" TEXT="und dann jeden Eintrag locken, ohne daß die Metadatenverlwaltung Alarm schlägt"/>
|
||||
<node CREATED="1722187373789" ID="ID_1380501144" MODIFIED="1722187434046" TEXT="wenn sich aber die Implementierung an das implizierte Protokoll hält ⟹ keine Gefahr">
|
||||
<node CREATED="1722187373789" ID="ID_1380501144" MODIFIED="1722218544048" TEXT="wenn sich aber die Implementierung an das implizierte Protokoll hält ⟹ keine Gefahr">
|
||||
<linktarget COLOR="#b4fbb3" DESTINATION="ID_1380501144" ENDARROW="Default" ENDINCLINATION="-5;51;" ID="Arrow_ID_1590595594" SOURCE="ID_120157543" STARTARROW="None" STARTINCLINATION="117;5;"/>
|
||||
<node CREATED="1722187437073" ID="ID_967644037" MODIFIED="1722187460993" TEXT="die Impl. kann den State zu einer Adresse nicht wissen"/>
|
||||
<node CREATED="1722187463676" ID="ID_1266347109" MODIFIED="1722187482519" TEXT="erwartet wird, daß sie für jede Anfrage eine neue Adresse belegt"/>
|
||||
<node CREATED="1722187483627" ID="ID_1498778966" MODIFIED="1722187504963" TEXT="und nur Adressen wiederverwendet, die per detachBuffer() zurückgegeben wurden"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1722187531132" ID="ID_849426679" MODIFIED="1722187575744" TEXT="Fazit">
|
||||
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
|
||||
<icon BUILTIN="forward"/>
|
||||
<node CREATED="1722187535395" ID="ID_9598554" MODIFIED="1722187568052" TEXT="Gefahr besteht — ist aber aktuell nicht virulent"/>
|
||||
<node CREATED="1722187540798" ID="ID_120157543" MODIFIED="1722187552833" TEXT="es gibt aber ein implizites Implementierungs-Protokoll"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1722187577286" ID="ID_439948385" MODIFIED="1722187586617" TEXT="Ticket aufmachen">
|
||||
<node COLOR="#166760" CREATED="1722187540798" ID="ID_120157543" MODIFIED="1722218550296" TEXT="es gilt ein implizites Implementierungs-Protokoll einzuhalten">
|
||||
<arrowlink COLOR="#b4fbb3" DESTINATION="ID_1380501144" ENDARROW="Default" ENDINCLINATION="-5;51;" ID="Arrow_ID_1590595594" STARTARROW="None" STARTINCLINATION="117;5;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1722187577286" ID="ID_439948385" MODIFIED="1722209964728" TEXT="später nochmal überprüfen">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1722209967992" HGAP="33" ID="ID_1744793928" LINK="https://issues.lumiera.org/ticket/1369" MODIFIED="1722275517215" TEXT="#1369 Buffer metadata lifecycle correctness" VSHIFT="5">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1722378833398" ID="ID_1845392822" MODIFIED="1722384739956" TEXT="Einbindung">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1722277680964" ID="ID_418005647" MODIFIED="1722277690328" TEXT="es müßte in/vor dem shed() passieren"/>
|
||||
<node COLOR="#435e98" CREATED="1722277574522" ID="ID_542393351" MODIFIED="1722380123392" TEXT="konkrete Möglichkeiten">
|
||||
<icon BUILTIN="list"/>
|
||||
<node CREATED="1722277699469" ID="ID_810622390" MODIFIED="1722277710651" TEXT="Möglichkeit-1 : fest im Handle speichern">
|
||||
<node CREATED="1722277712095" ID="ID_1947161112" MODIFIED="1722277763412" TEXT="Jobs sind concurrent ⟹ muß fester Teil der Connectivity sein"/>
|
||||
<node CREATED="1722277769615" ID="ID_1968075327" MODIFIED="1722277776139" TEXT="Konsequenzen">
|
||||
<node CREATED="1722277777404" ID="ID_1281609321" MODIFIED="1722277786489" TEXT="brauche eine globale Nummern-Vergabe"/>
|
||||
<node CREATED="1722277790941" ID="ID_1358954671" MODIFIED="1722277802503" TEXT="OutputBufferProvider braucht eine Registry-Table"/>
|
||||
</node>
|
||||
<node CREATED="1722277836902" ID="ID_1827442412" MODIFIED="1722277841014" TEXT="Buffer assoziieren">
|
||||
<node CREATED="1722277842182" ID="ID_1041796529" MODIFIED="1722277874731" TEXT="entweder das Turnout-System macht das"/>
|
||||
<node CREATED="1722277876041" ID="ID_992570327" MODIFIED="1722277893954" TEXT="oder es gibt ein API um das gesetzte LocalTag abzufragen"/>
|
||||
<node CREATED="1722277903327" ID="ID_1204530708" MODIFIED="1722277914664" TEXT="in jedem Fall muß das LocalTag sonst noch irgendwo gespeichert werden"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1722277919491" ID="ID_1414769577" MODIFIED="1722277932789" TEXT="Möglichkeit-2 : Buffer-Addresse ins LocalTag">
|
||||
<node CREATED="1722277946714" ID="ID_703701312" MODIFIED="1722277969696" TEXT="die Qualifikation muß dann aber transient erfolgen"/>
|
||||
<node CREATED="1722278042546" ID="ID_1858307352" MODIFIED="1722278071034" TEXT="der OutputBufferProvider reicht dann »blind« diese Addresse als Buffer durch"/>
|
||||
<node CREATED="1722278083046" ID="ID_812113855" MODIFIED="1722278099351" TEXT="unklar: wie kann dieser Buffer dann später committed werden?"/>
|
||||
<node CREATED="1722278120742" ID="ID_1502307588" MODIFIED="1722278124654" TEXT="Aufruf">
|
||||
<node CREATED="1722278128759" ID="ID_1963148702" MODIFIED="1722278140777" TEXT="Buffer wird direkt gegeben oder irgendwo im TurnoutSystem gespeichert"/>
|
||||
<node CREATED="1722278192870" ID="ID_1432121845" MODIFIED="1722278242224" TEXT="der shed()-Aufruf bekommt einen zusätzlichen Parameter"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1722279534669" ID="ID_603785440" MODIFIED="1722384486637" TEXT="Möglichkeit-3 : Referenz auf eine DataSink">
|
||||
<linktarget COLOR="#414bc3" DESTINATION="ID_603785440" ENDARROW="Default" ENDINCLINATION="-465;-28;" ID="Arrow_ID_1386315858" SOURCE="ID_1451110951" STARTARROW="None" STARTINCLINATION="-31;500;"/>
|
||||
<node CREATED="1722279679206" ID="ID_1000159706" MODIFIED="1722279712944" TEXT="der RenderJob belegt einen OutputSlot ⟼ DataSink (≙ smart handle)"/>
|
||||
<node CREATED="1722279715269" ID="ID_1138507577" MODIFIED="1722279734809" TEXT="in das LocalTag wird eine Referenz auf diese DataSink gepackt"/>
|
||||
<node CREATED="1722279759031" ID="ID_1688274556" MODIFIED="1722279780323" TEXT="das LocalTag wird im TurnoutSystem abgelegt"/>
|
||||
<node CREATED="1722279791714" ID="ID_1864321002" MODIFIED="1722279814091" TEXT="effektiv gibt es nur eine Verwendung des OutputBufferProviders"/>
|
||||
<node CREATED="1722279852394" ID="ID_551846138" MODIFIED="1722279866990" TEXT="der shed()-Aufruf gibt an dieser Stelle das LocalTag mit"/>
|
||||
<node CREATED="1722279892408" ID="ID_743923267" MODIFIED="1722380168308" TEXT="der OutputBufferProvider extrahiert die DataSink und verwendet sie">
|
||||
<linktarget COLOR="#a9b4c1" DESTINATION="ID_743923267" ENDARROW="Default" ENDINCLINATION="9;90;" ID="Arrow_ID_674912377" SOURCE="ID_70781847" STARTARROW="None" STARTINCLINATION="189;8;"/>
|
||||
<node CREATED="1722279912483" ID="ID_1933308272" MODIFIED="1722279952169" TEXT="er belegt den Buffer per DataSink::lockBufferFor(Frame)"/>
|
||||
<node CREATED="1722279973483" ID="ID_1607488895" MODIFIED="1722279984643" TEXT="er erstellt daraus das BufferHandle"/>
|
||||
<node CREATED="1722279985641" ID="ID_1333031416" MODIFIED="1722280003882" TEXT="dieses ist so verdrahtet, daß es den emit()-Aufruf weitergibt"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1722280039959" ID="ID_1636377754" MODIFIED="1722280058164" TEXT="Möglichkeit-4 : das Output-Protocol umbauen">
|
||||
<node CREATED="1722280063255" ID="ID_1468920252" MODIFIED="1722280086252" TEXT="das Belegen eines OutputSlot liefert dann eine Reihe von BuffHandles"/>
|
||||
<node CREATED="1722280088155" ID="ID_1667357755" MODIFIED="1722280108564" TEXT="diese sind so verdrahtet, daß sie die gleichen Funktionen erfüllen wie bisher die DataSink"/>
|
||||
<node CREATED="1722280337386" ID="ID_502477777" MODIFIED="1722280416091" TEXT="das Ausgabe BuffHandle wird von außen in den top-Level-Aufruf hineingegeben"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1722378846244" ID="ID_454469150" MODIFIED="1722384760763" TEXT="Diskussion">
|
||||
<icon BUILTIN="forward"/>
|
||||
<node COLOR="#5b280f" CREATED="1722378850954" ID="ID_523544526" MODIFIED="1722380080996" TEXT="Möglichkeit-1 ist zweifelhaft — wohl gar nicht widerspruchsfrei umsetzbar">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
</node>
|
||||
<node COLOR="#5b280f" CREATED="1722378890830" ID="ID_1213273275" MODIFIED="1722380080996" TEXT="Möglichkeit-2 ist offensichtlich besser — läßt aber den commit() ungelöst">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
</node>
|
||||
<node COLOR="#11053f" CREATED="1722378970459" ID="ID_70781847" MODIFIED="1722384610260" TEXT="Möglichkeit-3 als Weiterentwicklung erscheint einfach und plausibel">
|
||||
<arrowlink DESTINATION="ID_743923267" ENDARROW="Default" ENDINCLINATION="9;90;" ID="Arrow_ID_674912377" STARTARROW="None" STARTINCLINATION="189;8;"/>
|
||||
<arrowlink COLOR="#8e30c2" DESTINATION="ID_128884200" ENDARROW="Default" ENDINCLINATION="53;-3;" ID="Arrow_ID_182326182" STARTARROW="None" STARTINCLINATION="-9;58;"/>
|
||||
<icon BUILTIN="forward"/>
|
||||
</node>
|
||||
<node COLOR="#5b280f" CREATED="1722379006311" ID="ID_665293589" MODIFIED="1722380080995" TEXT="Möglichkeit-4 ist oberflächlich clever — aber inhaltlich inkonsequent">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1722379064983" ID="ID_360363502" MODIFIED="1722379260985" TEXT="die Ähnlichkeit zwischen BuffHandle und DataSink ist nur oberflächlich">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...sie entsteht dadurch, daß beide auf bewährten Lösungsmustern aufbauen; das heißt aber noch nicht, daß beide eine gemeinsame Natur haben
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1722379089220" ID="ID_673929506" MODIFIED="1722379877456" TEXT="DataSink ist bewußt mit ref-counting, BuffHandle ist in der Verwendung offen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
In beiden Fällen gibt es das Problem der Freigabe — aber meine Bewertung ist unterschiedlich ausgefallen: für einen Ausgabe-Vorgang gibt es verschiedene kritische Zustände, und die Möglichkeit einer Verklemmung; und <i>genau weil man den Protokoll-Status über ein Timeout bestimmen kann,</i> besteht auch die Gefahr, daß ein verspäteter Rechenprozeß in Verletzung des Protokolls weiterhin in die Ausgabe schreibt. Ganz anders beim BuffHandle, welches eine möglichst leichtgewichtige low-level-Abstraktion darstellt; die Methoden am dem Handle dienen nur dazu, Protokoll-Schritte auf eine höhere Ebene zurückzumelden, aber der Gebrauch des Handles wird nicht selber durch ein Protokoll geregelt. Hinzu kommt, daß ref-counting einen gewissen Performance-Overhead hat, der für ein BuffHandle vielleicht schon kritisch werden könnte; eine DataSink dagegen wird auf top-Level erstellt und wird dann nach unten nur ausgeliehen
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1722379126698" ID="ID_1998092289" MODIFIED="1722380024273" TEXT="Ein Ausgabevorgang und eine Buffer-Verwendung sind zwei verschiedene Dinge">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Das ist das wichtigste Argument: sie finden auf verschiedenen Abstraktionsebenen statt. Der Ausgabevorgang <i>kann möglicherweise</i>  eine Buffer-Verwendung mit einschließen — letztere bekommt aber nur durch den Kontext ihre Bedeutung
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#5b280f" CREATED="1722384533324" ID="ID_128884200" MODIFIED="1722384881672" TEXT="Ergebnis: kein neues API notwendig">
|
||||
<arrowlink COLOR="#8c1444" DESTINATION="ID_450967698" ENDARROW="Default" ENDINCLINATION="-313;-10;" ID="Arrow_ID_414353144" STARTARROW="None" STARTINCLINATION="-367;0;"/>
|
||||
<linktarget COLOR="#8e30c2" DESTINATION="ID_128884200" ENDARROW="Default" ENDINCLINATION="53;-3;" ID="Arrow_ID_182326182" SOURCE="ID_70781847" STARTARROW="None" STARTINCLINATION="-9;58;"/>
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1722006993331" ID="ID_1387727951" MODIFIED="1722091917790" TEXT="muß mehrfach-Spezialisierung unterbinden">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
|
|
@ -88882,6 +88969,16 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</html></richcontent>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1722384768471" ID="ID_537635442" MODIFIED="1722384955366" TEXT="Fazit">
|
||||
<arrowlink COLOR="#3159bc" DESTINATION="ID_1809654586" ENDARROW="Default" ENDINCLINATION="151;-415;" ID="Arrow_ID_946061354" STARTARROW="None" STARTINCLINATION="-305;0;"/>
|
||||
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
|
||||
<node CREATED="1722384774724" ID="ID_231403168" MODIFIED="1722384802636" TEXT="das bestehende API für Output-Management deckt diesen Fall bereits komplett ab"/>
|
||||
<node CREATED="1722384803792" ID="ID_450967698" MODIFIED="1722384876816" TEXT="es genügt, ein zusätzliches LocalTag beim Belegen des speziellen Output-»Slot« mit zugeben">
|
||||
<linktarget COLOR="#8c1444" DESTINATION="ID_450967698" ENDARROW="Default" ENDINCLINATION="-313;-10;" ID="Arrow_ID_414353144" SOURCE="ID_128884200" STARTARROW="None" STARTINCLINATION="-367;0;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1722384890441" ID="ID_438526459" MODIFIED="1722385120612" TEXT="zu klären bleibt: wie wird diese Info genau eingebunden?">
|
||||
<arrowlink COLOR="#932840" DESTINATION="ID_657216791" ENDARROW="Default" ENDINCLINATION="103;-2;" ID="Arrow_ID_1546346335" STARTARROW="None" STARTINCLINATION="-431;18;"/>
|
||||
<icon BUILTIN="help"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -88890,6 +88987,30 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1722384676729" ID="ID_1680039499" MODIFIED="1722384690496" TEXT="Herausführen des Ergebnis-Buffers">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1722384697659" ID="ID_1809654586" MODIFIED="1722385140236" TEXT="Analyse ergab bisher....">
|
||||
<linktarget COLOR="#3159bc" DESTINATION="ID_1809654586" ENDARROW="Default" ENDINCLINATION="151;-415;" ID="Arrow_ID_946061354" SOURCE="ID_537635442" STARTARROW="None" STARTINCLINATION="-305;0;"/>
|
||||
<icon BUILTIN="edit"/>
|
||||
<node CREATED="1722384964234" ID="ID_1078579384" MODIFIED="1722384990515" TEXT="der OutputBufferProvider funktioniert rein als Proxy"/>
|
||||
<node CREATED="1722384991671" ID="ID_74035909" MODIFIED="1722385019119" TEXT="man gibt hierfür die Referenz auf eine OutputSink verpackt in ein LocalTag mit"/>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1722385049647" ID="ID_657216791" MODIFIED="1722385115272" TEXT="zu klären bleibt: wie kommt das LocalTag genau an die richtige Stelle?">
|
||||
<linktarget COLOR="#932840" DESTINATION="ID_657216791" ENDARROW="Default" ENDINCLINATION="103;-2;" ID="Arrow_ID_1546346335" SOURCE="ID_438526459" STARTARROW="None" STARTINCLINATION="-431;18;"/>
|
||||
<icon BUILTIN="help"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1722385152329" ID="ID_1882977627" MODIFIED="1722385161927" TEXT="Problem: Aufrufstruktur">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1722385165975" ID="ID_59108048" MODIFIED="1722385176210" TEXT="die Formulierung ist generisch-rekursiv"/>
|
||||
<node CREATED="1722385177230" ID="ID_795154055" MODIFIED="1722385231890" TEXT="das LocalTag wird aber nur an einer Stelle (top-Level) gebraucht">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1722385605151" ID="ID_519028808" MODIFIED="1722385612920" TEXT="Markieren des Output-Slot">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1721003681836" ID="ID_536010685" MODIFIED="1721061587708" TEXT="erst mal: Bulk-Konfig für alle">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
|
|
@ -137210,6 +137331,10 @@ unsigned int ThreadIdAsInt = *static_cast<unsigned int*>(static_cast<vo
|
|||
<arrowlink COLOR="#fde0ca" DESTINATION="ID_1023195884" ENDARROW="Default" ENDINCLINATION="-1678;88;" ID="Arrow_ID_1892586048" STARTARROW="None" STARTINCLINATION="-1536;97;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1722274730224" ID="ID_854334540" MODIFIED="1722275425903" TEXT="#1372 establish a »Test Domain Ontology«">
|
||||
<arrowlink COLOR="#fde0ca" DESTINATION="ID_594112005" ENDARROW="Default" ENDINCLINATION="-1678;88;" ID="Arrow_ID_594112055" STARTARROW="None" STARTINCLINATION="-1536;97;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1714181432070" ID="ID_1278689110" LINK="https://issues.lumiera.org/ticket/905" MODIFIED="1714181911349" TEXT="#905 build node invocation setup">
|
||||
<arrowlink COLOR="#fde0ca" DESTINATION="ID_943908122" ENDARROW="Default" ENDINCLINATION="-1682;204;" ID="Arrow_ID_1115019309" STARTARROW="None" STARTINCLINATION="-1643;116;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
|
|
|
|||
Loading…
Reference in a new issue