Ejemplo n.º 1
0
        public Args(string[] args)
        {
            ExitParams = Map(args);
            var exit    = ExitParams.Any();
            var init    = !args.Any();
            var port    = 0;
            var connect = args.Length == 1 && int.TryParse(args.First(), out port);

            if (exit)
            {
                State = AppState.Exit;
            }
            else if (init)
            {
                State = AppState.Init;
            }
            else if (connect)
            {
                State     = AppState.Connect;
                PortParam = port;
            }
            else
            {
                throw new InvalidOperationException("Invalid application state");
            }
        }
Ejemplo n.º 2
0
        async Task <Unit> IRequestHandler <ExitParams, Unit> .Handle(ExitParams request, CancellationToken token)
        {
            await Task.Yield();

            var result = _shutdownRequested ? 0 : 1;

            _exitSubject.OnNext(result);
            _exitSubject.OnCompleted();
            await _connection.StopAsync().ConfigureAwait(false);

            return(Unit.Value);
        }
Ejemplo n.º 3
0
 public ExitCommand(string args)
 {
     _exitParams = ParamDeserializer.Deserialize <ExitParams>(args);
 }
        public virtual async Task <Unit> Handle(ExitParams request, CancellationToken cancellationToken)
        {
            await Handle(cancellationToken).ConfigureAwait(false);

            return(Unit.Value);
        }