Exemple #1
0
        public static void Main(string[] args)
        {
            Console.Write("Please enter your userName: "******"Starting...");

            var chat = new ChatClient(userName);

            _chattedEventObserver = new ChattedEventObserver();
            chat.Feed.Subscribe(_chattedEventObserver);
            new Task(chat.Start, _cancellationTokenSource.Token, TaskCreationOptions.LongRunning).Start();

            _talker = new ChatTalker(chat.Queue, _cancellationTokenSource, userName);

            _talker.Send("({0} joined)", userName);

            new Task(_talker.Start, _cancellationTokenSource.Token, TaskCreationOptions.LongRunning).Start();
            while (!_cancellationTokenSource.Token.IsCancellationRequested)
            {
                _cancellationTokenSource.Token.WaitHandle.WaitOne(new TimeSpan(0, 0, 1));
            }

            _talker.Send("({0} left)", userName);

            // TODO: console close/shutdown?
            // http://stackoverflow.com/questions/6591786/graceful-shutdown-of-console-apps-in-win-vista-7-2008
        }
Exemple #2
0
        public override void Dispose()
        {
            base.Dispose();

            // TODO: ChatClient.Stop()?
            ChatClient = null;
            _chattedEventObserver = null;
        }
Exemple #3
0
 public ChatCatchup(MessageRepository messageRepository, LocalHistoryReader historyReader, ChattedEventObserver eventDataPresenter)
 {
     _messageRepository = messageRepository;
     _historyReader = historyReader;
     _eventDataPresenter = eventDataPresenter;
 }