<commit_before>﻿using System;
using System.Collections.Generic;

namespace Acquaintance.Nets
{

    public class NodeBuilder<TInput> : INodeBuilder
    {
        private Action<TInput> _action;
        private Func<TInput, bool> _predicate;
        private string _channelName;
        private readonly IMessageBus _messageBus;
        private readonly string _key;

        public NodeBuilder(string key, IMessageBus messageBus)
        {<commit_msg>Several TODO notes for Nets<commit_after>﻿using System;
using System.Collections.Generic;

namespace Acquaintance.Nets
{
    public class NodeBuilder<TInput> : INodeBuilder
    {
        private Action<TInput> _action;
        private Func<TInput, bool> _predicate;
        private string _channelName;
        private readonly IMessageBus _messageBus;
        private readonly string _key;

        // TODO: Maybe support some of the features from SubscriptionBuilder such as MaxEvents
        // and thread affinity
        // TODO: Allow multiple instances to be started, on separate dedicated threads
        // TODO: Allow a handler to be an object, with a Handle<TInput>() method, so we can hold
        // state between invocations. We will need some kind of way to attach the object to the
        // bus to avoid being GC'd

        public NodeBuilder(string key, IMessageBus messageBus)
        {
{'fraction_non_alphanumeric': 0.058953574060427415, 'fraction_numerical': 0.0, 'mean_word_length': 2.913544668587896, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '905116', 'n_tokens_mistral': 352, 'n_tokens_neox': 342, 'n_words': 133}