예제 #1
0
		public PipeRequestQueue(PipeInstancePool instancePool, int backlog)
		{
			// parameters validation
			if (instancePool == null)
				throw new ArgumentNullException("instancePool");
			if (backlog < 0)
				throw new ArgumentOutOfRangeException("backlog");

			_instancePool = instancePool;
			_backlog = backlog;
		}
예제 #2
0
        public PipeRequestQueue(PipeInstancePool instancePool, int backlog)
        {
            // parameters validation
            if (instancePool == null)
            {
                throw new ArgumentNullException("instancePool");
            }
            if (backlog < 0)
            {
                throw new ArgumentOutOfRangeException("backlog");
            }

            _instancePool = instancePool;
            _backlog      = backlog;
        }
예제 #3
0
        /// <summary>
        /// Creates pipe on the server side to allow client to connect to
        /// </summary>
        public void Bind(PipeName pipeName, SecurityDescriptor securityDescriptor)
        {
            // check object state
            if (_disposed)
            {
                throw new ObjectDisposedException(GetType().FullName);
            }
            if (_instance != null)
            {
                throw new InvalidOperationException("Pipe is already connected");
            }

            // store security descriptor
            _securityDescriptor = securityDescriptor;

            // create pipe
            _instance     = PipeInstance.Create(pipeName, true, _securityDescriptor);
            _instancePool = new PipeInstancePool(this);
        }
예제 #4
0
		/// <summary>
		/// Creates pipe on the server side to allow client to connect to
		/// </summary>
		public void Bind(PipeName pipeName, SecurityDescriptor securityDescriptor)
		{
			// check object state
			if (_disposed)
				throw new ObjectDisposedException(GetType().FullName);
			if (_instance != null)
				throw new InvalidOperationException("Pipe is already connected");

			// store security descriptor
			_securityDescriptor = securityDescriptor;

			// create pipe
			_instance = PipeInstance.Create(pipeName, true, _securityDescriptor);
			_instancePool = new PipeInstancePool(this);
		}