InvokeController constructor

InvokeController(
  1. RemoteNode node,
  2. Requester requester,
  3. Map params, [
  4. int maxPermission = Permission.CONFIG,
  5. RequestConsumer? fetchRawReq,
])

Implementation

InvokeController(this.node, this.requester, Map params,
    [int maxPermission = Permission.CONFIG, RequestConsumer? fetchRawReq]) {
  _controller = StreamController<RequesterInvokeUpdate>();
  _controller.done.then(_onUnsubscribe);
  _stream = _controller.stream;
  var reqMap = <String, dynamic>{
    'method': 'invoke',
    'path': node.remotePath,
    'params': params
  };

  if (maxPermission != Permission.CONFIG) {
    reqMap['permit'] = Permission.names[maxPermission];
  }
// TODO: update node before invoke to load columns
//    if(!node.isUpdated()) {
//      node._list().listen(_onNodeUpdate)
//    } else {

  _request = requester._sendRequest(reqMap, this);

  if (fetchRawReq != null) {
    fetchRawReq(_request!);
  }
//    }
}