Invocation: now able to implement connecting of buffers
* at least for a simple, prototypical setup * and actually shifting the onerous into the Level-1 builder \\ ''(which is precisely the intention here)''
This commit is contained in:
parent
1955d28087
commit
133dd9e8ce
4 changed files with 184 additions and 49 deletions
|
|
@ -251,6 +251,7 @@ namespace engine {
|
|||
bool
|
||||
BufferDescriptor::verifyValidity() const
|
||||
{
|
||||
ENSURE (provider_);
|
||||
return provider_->verifyValidity(*this);
|
||||
}
|
||||
|
||||
|
|
@ -258,10 +259,27 @@ namespace engine {
|
|||
size_t
|
||||
BufferDescriptor::determineBufferSize() const
|
||||
{
|
||||
ENSURE (provider_);
|
||||
return provider_->getBufferSize (*this);
|
||||
}
|
||||
|
||||
|
||||
uint
|
||||
BufferDescriptor::announce (uint count)
|
||||
{
|
||||
ENSURE (provider_);
|
||||
return provider_->announce(count, *this);
|
||||
}
|
||||
|
||||
|
||||
BuffHandle
|
||||
BufferDescriptor::lockBuffer()
|
||||
{
|
||||
ENSURE (provider_);
|
||||
return provider_->lockBuffer(*this);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
BuffHandle::emit()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -103,6 +103,10 @@ namespace engine {
|
|||
size_t determineBufferSize() const;
|
||||
|
||||
operator HashVal() const { return subClassification_; }
|
||||
|
||||
/** convenience shortcut to start a buffer handling cycle */
|
||||
uint announce (uint count);
|
||||
BuffHandle lockBuffer();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@
|
|||
//#include "lib/itertools.hpp"
|
||||
//#include "lib/util.hpp"
|
||||
|
||||
//#include <utility>
|
||||
#include <utility>
|
||||
#include <array>
|
||||
//#include <stack>
|
||||
|
||||
|
|
@ -84,7 +84,7 @@
|
|||
namespace steam {
|
||||
namespace engine {
|
||||
|
||||
|
||||
using std::forward;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1367 : Rebuild the Node Invocation
|
||||
/**
|
||||
|
|
@ -288,6 +288,7 @@ namespace engine {
|
|||
|
||||
using lib::meta::_Fun;
|
||||
using lib::meta::is_BinaryFun;
|
||||
using std::remove_reference_t;
|
||||
|
||||
/** Helper to pick up the parameter dimensions from the processing function
|
||||
* @remark this is the rather simple yet common case that media processing
|
||||
|
|
@ -303,8 +304,8 @@ namespace engine {
|
|||
static_assert(_Fun<FUN>() , "something funktion-like required");
|
||||
static_assert(is_BinaryFun<FUN>() , "function with two arguments expected");
|
||||
|
||||
using ArgI = typename _Fun<FUN>::Args::List::Head;
|
||||
using ArgO = typename _Fun<FUN>::Args::List::Tail::Head;
|
||||
using ArgI = remove_reference_t<typename _Fun<FUN>::Args::List::Head>;
|
||||
using ArgO = remove_reference_t<typename _Fun<FUN>::Args::List::Tail::Head>;
|
||||
|
||||
template<class ARG>
|
||||
struct MatchBuffArray
|
||||
|
|
@ -361,18 +362,26 @@ namespace engine {
|
|||
ArrayI inParam;
|
||||
ArrayO outParam;
|
||||
|
||||
template<typename...INIT>
|
||||
SimpleFunctionInvocationAdapter (INIT&& ...funSetup)
|
||||
: FUN{forward<INIT> (funSetup)...}
|
||||
{ }
|
||||
|
||||
|
||||
void
|
||||
connect (uint fanIn, uint fanOut)
|
||||
{
|
||||
REQUIRE (fanIn <= N and fanOut <= N);
|
||||
UNIMPLEMENTED ("wire up all input/output buffers");
|
||||
REQUIRE (fanIn >= FAN_I and fanOut >= FAN_O);
|
||||
for (uint i=0; i<FAN_I; ++i)
|
||||
inParam[i] = MAN::inBuff[i].template accessAs<BuffI*>();
|
||||
for (uint i=0; i<FAN_O; ++i)
|
||||
outParam[i] = MAN::outBuff[i].template accessAs<BuffO*>();
|
||||
}
|
||||
|
||||
void
|
||||
invoke()
|
||||
{
|
||||
process();
|
||||
process (inParam, outParam);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -430,19 +439,24 @@ namespace engine {
|
|||
}
|
||||
|
||||
void
|
||||
shed (Feed&)
|
||||
shed (Feed& feed)
|
||||
{
|
||||
for (uint i=0; i<fanOut; ++i)
|
||||
{
|
||||
BuffHandle resultData = outDescr[i].lockBuffer();
|
||||
feed.outBuff.createAt(i, move(resultData));
|
||||
}
|
||||
feed.connect (fanIn,fanOut);
|
||||
}
|
||||
|
||||
void
|
||||
weft (Feed& feed)
|
||||
{
|
||||
/* NOP */
|
||||
}
|
||||
|
||||
void
|
||||
weft (Feed&)
|
||||
{
|
||||
/* NOP */
|
||||
}
|
||||
|
||||
void
|
||||
fix (Feed&)
|
||||
fix (Feed& feed)
|
||||
{
|
||||
/* NOP */
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1376,9 +1376,7 @@
|
|||
</node>
|
||||
<node CREATED="1501850967855" ID="ID_859055846" MODIFIED="1538263469665">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Argument-Storage
|
||||
|
|
@ -1394,9 +1392,7 @@
|
|||
</node>
|
||||
<node COLOR="#435e98" CREATED="1501867225983" FOLDED="true" ID="ID_1121867075" MODIFIED="1538263469665">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
brauche dedizierten <b>Dispatcher</b>
|
||||
|
|
@ -1430,9 +1426,7 @@
|
|||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1522935881957" HGAP="23" ID="ID_564244010" MODIFIED="1576282358155" TEXT="4/2018 was ist hier der Stand?" VSHIFT="16">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
kann mich so vague erinnern
|
||||
|
|
@ -1528,9 +1522,7 @@
|
|||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1502390353887" ID="ID_1015749080" MODIFIED="1518487921054">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
wenn die Queue voll ist
|
||||
|
|
@ -1613,9 +1605,7 @@
|
|||
<node CREATED="1533688905326" ID="ID_709974587" MODIFIED="1538263469667" TEXT="gehört dem NotificationController"/>
|
||||
<node CREATED="1533688913996" ID="ID_33570780" MODIFIED="1538263469667">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
<i>das</i> ist schon die endgültige Lösung
|
||||
|
|
@ -2312,9 +2302,7 @@
|
|||
<node CREATED="1538618179734" ID="ID_1693288014" MODIFIED="1538618198551" TEXT="das Lumiera-eigene Stylesheet funktioniert praktisch gar nicht mehr"/>
|
||||
<node CREATED="1538618201035" ID="ID_1034140537" MODIFIED="1538618349191" TEXT="...seitdem die Engine 'Adwaitha' nicht mehr gefunden wird">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
ca 2014 finde ich einige Blog-Einträge, daß jetzt keine Theming-Engine mehr notwendig ist,
|
||||
|
|
@ -3254,9 +3242,7 @@
|
|||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1538317176347" ID="ID_1919150970" MODIFIED="1538317201070" TEXT="wat soll der jeiz">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
das System ist ohnehin schon angetötet
|
||||
|
|
@ -4623,9 +4609,7 @@
|
|||
</node>
|
||||
<node CREATED="1481687005813" ID="ID_1108477992" MODIFIED="1576282358146" TEXT="Entscheidung: Sesion-lifecycle und Dispatcher sind unabhängig">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
grundlegende Design-Enscheidung
|
||||
|
|
@ -6050,9 +6034,7 @@
|
|||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1538588393995" ID="ID_1149076483" MODIFIED="1678573209829">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
#1168 : find a way to manage style of
|
||||
|
|
@ -7800,9 +7782,7 @@
|
|||
<node CREATED="1508020489583" ID="ID_1140824323" MODIFIED="1518487921064" TEXT="oder ein Element (bekannten Typs) bekommen"/>
|
||||
<node CREATED="1508020551095" ID="ID_798942495" MODIFIED="1518487921064">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
oder den <b>Spot</b> verschieben
|
||||
|
|
@ -86693,8 +86673,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1719785497372" ID="ID_1423892267" MODIFIED="1719785553298" TEXT="braucht einen Parent-Verweis">
|
||||
<arrowlink COLOR="#474375" DESTINATION="ID_639065262" ENDARROW="Default" ENDINCLINATION="22;-144;" ID="Arrow_ID_253090075" STARTARROW="None" STARTINCLINATION="125;12;"/>
|
||||
</node>
|
||||
<node CREATED="1719161926326" ID="ID_639065262" MODIFIED="1719785553298" TEXT="bezieht von diesem die Dependency-Injection">
|
||||
<node CREATED="1719161926326" ID="ID_639065262" MODIFIED="1720738741563" TEXT="bezieht von diesem die Dependency-Injection">
|
||||
<linktarget COLOR="#474375" DESTINATION="ID_639065262" ENDARROW="Default" ENDINCLINATION="22;-144;" ID="Arrow_ID_253090075" SOURCE="ID_1423892267" STARTARROW="None" STARTINCLINATION="125;12;"/>
|
||||
<linktarget COLOR="#799399" DESTINATION="ID_639065262" ENDARROW="Default" ENDINCLINATION="-236;978;" ID="Arrow_ID_1822706622" SOURCE="ID_955738037" STARTARROW="None" STARTINCLINATION="-560;-40;"/>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1719162633670" ID="ID_460645690" MODIFIED="1719162641407" TEXT="Klärungsbedarf hier">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1719162643254" ID="ID_1096257345" MODIFIED="1719192592768" TEXT="BufferProvider oder Buffer Handles?">
|
||||
|
|
@ -86804,6 +86785,17 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node CREATED="1720485439372" ID="ID_1855482752" MODIFIED="1720485460702" TEXT="wird in die Berechnung hinein als spezieller BufferProvider »verpackt«"/>
|
||||
</node>
|
||||
<node CREATED="1720740077119" ID="ID_1336461753" MODIFIED="1720740114947">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
diese Infos müssen bereitstehen ⟶ jeweils zum <b>Aufbau</b>  einer neuen <b>Invocation</b>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720485164922" ID="ID_946422034" MODIFIED="1720537661229" TEXT="Zusammenfassung: gebraucht wird...">
|
||||
<linktarget COLOR="#5a6072" DESTINATION="ID_946422034" ENDARROW="Default" ENDINCLINATION="-44;119;" ID="Arrow_ID_1415360970" SOURCE="ID_1545807598" STARTARROW="Default" STARTINCLINATION="-103;-6;"/>
|
||||
<icon BUILTIN="forward"/>
|
||||
|
|
@ -86954,7 +86946,12 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1719790776594" ID="ID_544743149" MODIFIED="1719790788364" TEXT="brauche also einen Funktor / lazyVal hier"/>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1719790776594" ID="ID_544743149" MODIFIED="1720738214985" TEXT="Erweiterung: also einen Funktor / lazyVal verwenden">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#630f69" CREATED="1720738217256" HGAP="22" ID="ID_1819206244" MODIFIED="1720738248310" TEXT="ungeklärt: auf was für einem Kontext läuft der?" VSHIFT="12">
|
||||
<icon BUILTIN="help"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1719791285941" ID="ID_320104526" MODIFIED="1719791288952" TEXT="Verschaltung">
|
||||
|
|
@ -87773,8 +87770,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1720569454461" ID="ID_1379190851" MODIFIED="1720569494189" TEXT="fange mit der KISS-Lösung an">
|
||||
<node CREATED="1720569454461" ID="ID_1379190851" MODIFIED="1720740569295" TEXT="fange mit der KISS-Lösung an">
|
||||
<arrowlink COLOR="#504a80" DESTINATION="ID_1917701948" ENDARROW="Default" ENDINCLINATION="-196;10;" ID="Arrow_ID_1275152336" STARTARROW="None" STARTINCLINATION="208;0;"/>
|
||||
<linktarget COLOR="#6473a5" DESTINATION="ID_1379190851" ENDARROW="Default" ENDINCLINATION="-80;478;" ID="Arrow_ID_1920043919" SOURCE="ID_671960069" STARTARROW="None" STARTINCLINATION="-171;-198;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1720574429481" HGAP="25" ID="ID_558040709" MODIFIED="1720574974389" VSHIFT="12">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
|
|
@ -87813,7 +87811,16 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node CREATED="1720572417472" ID="ID_1892978300" MODIFIED="1720572435945" TEXT="wenn das wirklich nötig wird (YAGNI)..."/>
|
||||
<node CREATED="1720572436630" ID="ID_60200424" MODIFIED="1720572460182" TEXT="dann kann man immer noch ein spezielles Weaving-Pattern dafür aufbauen"/>
|
||||
<node CREATED="1720572464914" ID="ID_1119846327" MODIFIED="1720572540180" TEXT="fange also nur mit einem BufferDescriptor-Array an">
|
||||
<node COLOR="#435e98" CREATED="1720572464914" ID="ID_1119846327" MODIFIED="1720737130419">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
fange also nur mit einem <b>BufferDescriptor-Array</b> an
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1720573045524" ID="ID_1644013527" MODIFIED="1720573072547" TEXT="BufferDescriptor sind beliebig duplizierbar"/>
|
||||
<node CREATED="1720573073663" ID="ID_1122948575" MODIFIED="1720573088876" TEXT="es wird ein unique-Key erzeugt und in einer Map registriert"/>
|
||||
<node CREATED="1720573089822" ID="ID_247390072" MODIFIED="1720573104936" TEXT="abgesehen davon sind es Value-Objekte ohne Identität"/>
|
||||
|
|
@ -88016,6 +88023,98 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1720737059413" ID="ID_1692112198" MODIFIED="1720737074379" TEXT="muß Konstruktor für die Processing-Function vorsehen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1720737076939" ID="ID_1080188184" MODIFIED="1720737084016" TEXT="...dabei aber alles offen lassen"/>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1720737084498" ID="ID_1428858121" MODIFIED="1720737103552" TEXT="kann eigentlich erst durch die Konfiguration geklärt werden">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720737539292" ID="ID_661102788" MODIFIED="1720737558698" TEXT="muß (Output)-Buffer belegen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1720737563409" ID="ID_1032521139" MODIFIED="1720737580530" TEXT="brauche dazu Zugang zu den BufferProvider(n)"/>
|
||||
<node CREATED="1720738071716" ID="ID_955738037" MODIFIED="1720738741563" TEXT="⟶ das führt in das Thema »Dependency Injection«">
|
||||
<arrowlink COLOR="#799399" DESTINATION="ID_639065262" ENDARROW="Default" ENDINCLINATION="-236;978;" ID="Arrow_ID_1822706622" STARTARROW="None" STARTINCLINATION="-560;-40;"/>
|
||||
<node CREATED="1720740188800" ID="ID_1355509523" MODIFIED="1720740198332" TEXT="läuft auf einen mehrstufigen Aufbau hinaus">
|
||||
<node CREATED="1720740199022" ID="ID_804276765" MODIFIED="1720740224343" TEXT="zunächst einmal brauchen wir: ein Array von BufferProvider(n)"/>
|
||||
<node CREATED="1720740227922" ID="ID_212393359" MODIFIED="1720740239065" TEXT="und zwar stets nur für den Output">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node CREATED="1720740386677" ID="ID_1612599283" MODIFIED="1720740403146" TEXT="die stecken aber bereits in den BufferDescriptoren">
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1720744136468" ID="ID_993267865" MODIFIED="1720744150638" TEXT="nur dreht das jetzt irgendwie das Buffer-Handling-Protokoll herum, oder?"/>
|
||||
<node CREATED="1720744152986" ID="ID_1912567777" MODIFIED="1720744316536" TEXT="nicht sicher ... ist nämlich insofern nicht ausimplementiert">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
der zentrale Test <font color="#480b64" face="Monospaced">verifyStandardCase()</font> ist <i><font color="#882f0d">auskommentiert</font>,</i>  da er sich auf die <b>BufferTable</b> abstützt — und mit deren Implementierung bin ich seinerzeit irgendwo in genau dem gleichen Wald versumpft, in dem ich jetzt auch wieder stecke ...
|
||||
</p>
|
||||
<p>
|
||||
 <font size="5">☹</font>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<icon BUILTIN="smiley-oh"/>
|
||||
</node>
|
||||
<node CREATED="1720744374507" ID="ID_1809381526" MODIFIED="1720744406234" TEXT="den BufferDescriptor hätte man in einen Builder für die BuffTable geben sollen....">
|
||||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1720744409118" ID="ID_1046942123" MODIFIED="1720744422768" TEXT="also war wohl gemeint, daß BuffHandles in der Table liegen"/>
|
||||
<node CREATED="1720744423426" ID="ID_1649016612" MODIFIED="1720744431487" TEXT="und der Descriptor gehört auf eine Meta-Ebene"/>
|
||||
<node CREATED="1720744432131" ID="ID_567712710" MODIFIED="1720744459709" TEXT="naja — auf dieser befinden wir uns ja">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
der Turnout ist ein Level-1-Builder....
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1720744464053" ID="ID_399616777" MODIFIED="1720745760878" TEXT="man könnte nun das Design etwas »aufbohren«">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...da ja ohnehin im Zusammenhang mit dem BufferProvider überall diverse »conveninence shortcuts« implementiert sind — ehrlich gesagt, <i><font color="#400190">es war und ist noch nicht klar wohin die Reise geht...</font></i>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<arrowlink COLOR="#c985a7" DESTINATION="ID_1166727208" ENDARROW="Default" ENDINCLINATION="22;-40;" ID="Arrow_ID_1352529511" STARTARROW="None" STARTINCLINATION="-89;5;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1720744605651" ID="ID_359076277" MODIFIED="1720744625532" TEXT="und den ersten Teil vom Protokoll auf den Descriptor aufdoppeln"/>
|
||||
<node CREATED="1720744635577" ID="ID_1963665306" MODIFIED="1720744647424" TEXT="bis zu dem Punkt, wo man ein Handle bekommt">
|
||||
<node CREATED="1720744739253" ID="ID_632663606" MODIFIED="1720744746500" TEXT="announce (count)"/>
|
||||
<node CREATED="1720744756734" ID="ID_1183744537" MODIFIED="1720744759345" TEXT="lockBuffer()"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1720744626496" ID="ID_1859201873" MODIFIED="1720745767678">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
mit der offensichtlichen <i>forwarding-Impl</i>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720745690535" ID="ID_1166727208" MODIFIED="1720745750241" TEXT="damit ist das Problem in die Build-Phase verschoben">
|
||||
<linktarget COLOR="#c985a7" DESTINATION="ID_1166727208" ENDARROW="Default" ENDINCLINATION="22;-40;" ID="Arrow_ID_1352529511" SOURCE="ID_399616777" STARTARROW="None" STARTINCLINATION="-89;5;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1720740474467" ID="ID_671960069" MODIFIED="1720740569295" TEXT="zweite Stufe: sollte dieses Array aus einer kompakteren Darstellung aufbauen">
|
||||
<arrowlink COLOR="#6473a5" DESTINATION="ID_1379190851" ENDARROW="Default" ENDINCLINATION="-80;478;" ID="Arrow_ID_1920043919" STARTARROW="None" STARTINCLINATION="-171;-198;"/>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
|
|||
Loading…
Reference in a new issue