예제 #1
0
 protected CoreReceiver(IResultReceiver receiver, bool minimizeHostname = false, bool hideOld = false, bool hideSmall = false)
 {
     this._resultReceiver   = receiver;
     this._minimizeHostname = minimizeHostname;
     this._hideOld          = hideOld;
     this.HideSmallPackets  = hideSmall;
 }
예제 #2
0
        public override IEnumerable <object> Run()
        {
            yield return(null);

            this.ResultMessage = (base.Feedback as MessageType);
            if (this.ResultMessage == null)
            {
                base.Result = false;
            }
            IResultReceiver <MessageType> receiver = base.Operation;

            receiver.ResultMessage = this.ResultMessage;
            yield break;
        }
예제 #3
0
    static public IEnumerator Load <ID, R, DSF>(IResultReceiver loader,
                                                string path, Dictionary <ID, R> map, System.Func <R, ID> idgetter)
        where DSF : IDataSourceFactory, new()
        where R : Google.Protobuf.IMessage <R>
    {
        DSF f = new DSF();

        yield return(f.Load <R>(loader, path));

        if (loader.Error != null)
        {
            yield break;
        }
        var s = f.Source;

        f.Source = null; //source should gc'ed after data copied into map.
        R rec = default(R);

        while (s.Read())
        {
            rec = s.GetRecord <R>();
            map[idgetter(rec)] = rec;
        }
    }
예제 #4
0
 public Receiver(IResultReceiver receiver, Dispatcher dispatcher, bool minimizeHostname = false, bool hideOld = false, bool hideSmall = false) : base(receiver, minimizeHostname, hideOld, hideSmall)
 {
     this._receiver   = receiver;
     this._dispatcher = dispatcher;
     this.InvokedAdd  = this.Add;
 }