Beispiel #1
0
        public OmnibusSession Start()
        {
            Metainfo metainfo;

            byte[] data = Bytes.Random(20000);

            using (FileSandbox temp = new FileSandbox(new EmptyFileLocator()))
            {
                MetainfoBuilder builder = new MetainfoBuilder(temp.Directory);
                string          path    = temp.CreateFile("debian-8.5.0-amd64-CD-1.iso");

                File.WriteAllBytes(path, data);
                builder.AddFile(path);

                metainfo = builder.ToMetainfo();
            }

            OmnibusService service =
                new OmnibusBuilder()
                .WithHash(metainfo.Hash)
                .WithPipeline(new PipelineSimulator())
                .Build();

            return(new OmnibusSession(metainfo, service));
        }
Beispiel #2
0
        private void StartDataMap()
        {
            OmnibusHooks hooks = new OmnibusHooks
            {
                OnBlockReserved    = data => DataGet?.Handle(data),
                OnPieceReady       = data => DataGet?.Handle(data),
                OnPieceCompleted   = OnPieceCompleted,
                OnThresholdReached = data => DataGet?.Handle(data),
                OnDataCompleted    = OnDataCompleted,
                OnDataChanged      = OnDataChanged
            };

            DataMap =
                new OmnibusBuilder()
                .WithHash(Hash)
                .WithPipeline(Pipeline)
                .WithSchedulerThreshold(160)
                .WithPoolSize(512)
                .Build(hooks);

            DataMap.Start();
        }