Esempio n. 1
0
        public WorkerEventLoop(WorkerEventLoopGroup parent) : base(parent, null)
        {
            Contract.Requires(parent != null);

            string name = parent.PipeName;

            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException("Pipe name is required for worker event loop", nameof(parent));
            }

            this.pipeName          = name;
            this.connectCompletion = new TaskCompletionSource();
            this.Start();
        }
Esempio n. 2
0
        public WorkerEventLoop(WorkerEventLoopGroup parent)
            : base(parent, null)
        {
            if (parent is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.parent);
            }

            string name = parent.PipeName;

            if (string.IsNullOrEmpty(name))
            {
                ThrowHelper.ThrowArgumentException_PipeName();
            }

            _pipeName          = name;
            _connectCompletion = NewPromise();
            Start();
        }
Esempio n. 3
0
        internal WorkerEventLoop(WorkerEventLoopGroup parent, IThreadFactory threadFactory, IRejectedExecutionHandler rejectedHandler, TimeSpan breakoutInterval)
            : base(parent, threadFactory, rejectedHandler, breakoutInterval)
        {
            if (parent is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.parent);
            }

            _onReadAction = (p, s) => OnRead(p, s);

            string name = parent.PipeName;

            if (string.IsNullOrEmpty(name))
            {
                ThrowHelper.ThrowArgumentException_PipeName();
            }

            _pipeName          = name;
            _connectCompletion = NewPromise();
            Start();
        }