mark method

String mark(
  1. String actorS,
  2. dynamic senderS,
  3. dynamic receiverS,
  4. dynamic comS,
  5. dynamic msgS,
  6. dynamic _inMsg,
)

Usage: opJoin is calling this

Implementation

//String bind(String sProcess, String rProcess, String thing, String msg) {
String mark(String actorS, senderS, receiverS, comS, msgS, _inMsg) {
  _flowC(':bind:-mark-  -->>-->>--  :bind:  C::Chr:  -->>-->>--', true);
  //  Idea: Have some binding-models and types.
  /// Make new bind name,
  /// NOTE opJoin parameters inMsg  and  caller are available here
  bindC++;
  String bindCS = bindC.toString();
  String bindNameS = '$actorS$bindCS';

  /// TODO  :bind: _inMsg string to binding system
  /// GET:   C:PING:all: C:BIND:all  from inMsg to catch :first:all:name:
  /// TODO  Just a throw:  actorS, _inMsg
  bindM.putIfAbsent(actorS, _inMsg);
  //  Map<String, Member>
  //  TODO  should both bind and connector have memberM ?
  bindMembM.putIfAbsent(bindNameS, () => comS);

  //  howTo NULL Map putIfAbsent
  //  The property 'length' can't be unconditionally accessed because the receiver can be 'null'.
  //  Try making the access conditional (using '?.') or adding a null check to the target ('!').
  // hklTry: NULL OK     bindingM['all'].putIfAbsent(senderS, () => receiverS);
  ///  The argument type 'Map<dynamic, dynamic>' can't be assigned to the parameter type 'Map<String, String>'
  bindingM['all']?.putIfAbsent(senderS, () => receiverS);
  // Map<String, Map<String, String>>

  print(rowReport());
  //  or:   report();
  return 'binding: #one to: #second';
}