Ejemplo n.º 1
0
    public override void ShutdownServer(
        Google.ProtocolBuffers.IRpcController controller,
        ShutdownServerRequest request,
        System.Action <ShutdownServerResponse> done)
    {
        PrintRequest(controller, request);

        ShutdownEvent.Set();
        ShutdownServerResponse response = ShutdownServerResponse.CreateBuilder().Build();

        PrintResponse(response);

        done(response);
    }
Ejemplo n.º 2
0
        public async Task ShutdownResponse_WriteRead_RoundtripsProperly()
        {
            // Arrange & Act 1
            var memoryStream = new MemoryStream();
            var response     = new ShutdownServerResponse(42);

            // Assert 1
            Assert.Equal(ServerResponse.ResponseType.Shutdown, response.Type);

            // Act 2
            await response.WriteAsync(memoryStream, CancellationToken.None);

            // Assert 2
            memoryStream.Position = 0;
            var read = await ServerResponse.ReadAsync(memoryStream, CancellationToken.None);

            read.Type.Should().Be(ServerResponse.ResponseType.Shutdown);
            var typed = (ShutdownServerResponse)read;

            typed.ServerProcessId.Should().Be(42);
        }