コード例 #1
0
		private static void InitializeBuffers( ServerRequestContext target )
		{
			target.ArgumentsBuffer.WriteByte( 1 );
			target.ArgumentsBufferPacker = Packer.Create( target.ArgumentsBuffer, false );
			target.ArgumentsBufferUnpacker = Unpacker.Create( target.ArgumentsBuffer, false );
			target.ArgumentsCount = 2;
			target.UnpackingBuffer = new ByteArraySegmentStream( target.ReceivedData );
			target.UnpackedArgumentsCount = 3;
			target.RootUnpacker = Unpacker.Create( target.UnpackingBuffer, false );
			target.HeaderUnpacker = Unpacker.Create( target.UnpackingBuffer, false );
			target.ArgumentsUnpacker = Unpacker.Create( target.UnpackingBuffer, false );
			target.SetCompletedSynchronously();
			target.MessageId = 123;
			target.MessageType = MessageType.Request;
			target.MethodName = "Method";
			target.NextProcess = _ => true;
		}
コード例 #2
0
 private static void InitializeBuffers(ServerRequestContext target)
 {
     target.ArgumentsBuffer.WriteByte(1);
     target.ArgumentsBufferPacker   = Packer.Create(target.ArgumentsBuffer, false);
     target.ArgumentsBufferUnpacker = Unpacker.Create(target.ArgumentsBuffer, false);
     target.ArgumentsCount          = 2;
     target.UnpackingBuffer         = new ByteArraySegmentStream(target.ReceivedData);
     target.UnpackedArgumentsCount  = 3;
     target.RootUnpacker            = Unpacker.Create(target.UnpackingBuffer, false);
     target.HeaderUnpacker          = Unpacker.Create(target.UnpackingBuffer, false);
     target.ArgumentsUnpacker       = Unpacker.Create(target.UnpackingBuffer, false);
     target.SetCompletedSynchronously();
     target.MessageId   = 123;
     target.MessageType = MessageType.Request;
     target.MethodName  = "Method";
     target.NextProcess = _ => true;
 }
コード例 #3
0
        /// <summary>
        ///		Performs protocol specific asynchronous 'Receive' operation.
        /// </summary>
        /// <param name="context">Context information.</param>
        protected sealed override void ReceiveCore(ServerRequestContext context)
        {
            bool isAsyncOperationStarted;

            try
            {
                isAsyncOperationStarted = this.BoundSocket.ReceiveAsync(context.SocketContext);
            }
            catch (ObjectDisposedException)
            {
                // Canceled.
                return;
            }

            if (!isAsyncOperationStarted)
            {
                context.SetCompletedSynchronously();
                this.OnReceived(context);
            }
        }
コード例 #4
0
        /// <summary>
        ///		Performs protocol specific asynchronous 'Receive' operation.
        /// </summary>
        /// <param name="context">Context information.</param>
        protected sealed override void ReceiveCore(ServerRequestContext context)
        {
            // Manager stores the socket which is dedicated socket to this transport in the AcceptSocket property.
            bool isAsyncOperationStarted;

            try
            {
                isAsyncOperationStarted = this.BoundSocket.ReceiveFromAsync(context.SocketContext);
            }
            catch (ObjectDisposedException)
            {
                // Canceled.
                return;
            }

            if (!isAsyncOperationStarted)
            {
                context.SetCompletedSynchronously();
                this.OnReceived(context);
            }
        }
コード例 #5
0
ファイル: UdpServerTransport.cs プロジェクト: Indifer/Test
		/// <summary>
		///		Performs protocol specific asynchronous 'Receive' operation.
		/// </summary>
		/// <param name="context">Context information.</param>
		protected sealed override void ReceiveCore( ServerRequestContext context )
		{
			// Manager stores the socket which is dedicated socket to this transport in the AcceptSocket property.
			bool isAsyncOperationStarted;
			try
			{
				isAsyncOperationStarted = this.BoundSocket.ReceiveFromAsync( context.SocketContext );
			}
			catch( ObjectDisposedException )
			{
				// Canceled.
				return;
			}

			if ( !isAsyncOperationStarted )
			{
				context.SetCompletedSynchronously();
				this.OnReceived( context );
			}
		}
コード例 #6
0
ファイル: TcpServerTransport.cs プロジェクト: Indifer/Test
		/// <summary>
		///		Performs protocol specific asynchronous 'Receive' operation.
		/// </summary>
		/// <param name="context">Context information.</param>
		protected sealed override void ReceiveCore( ServerRequestContext context )
		{
			bool isAsyncOperationStarted;
			try
			{
				isAsyncOperationStarted = this.BoundSocket.ReceiveAsync( context.SocketContext );
			}
			catch( ObjectDisposedException )
			{
				// Canceled.
				return;
			}

			if ( !isAsyncOperationStarted )
			{
				context.SetCompletedSynchronously();
				this.OnReceived( context );
			}
		}