コード例 #1
0
        public IEnumerable <Message> ReadMessages()
        {
            if (Monitor.TryEnter(thisLock))  // do not block if just trying to connect or otherwise busy
            {
                try
                {
                    if (!connected)
                    {
                        return(new List <Message>());
                    }
                    return(server.ClientMessages(name));
                }
                catch
                {
                    InternalDisconnect(false);
                }
                finally
                {
                    Monitor.Exit(thisLock);
                }
            }

            // return empty list if failed
            return(new List <Message>());
        }
コード例 #2
0
 public IEnumerable <Message> ReadMessages()
 {
     try
     {
         return(server.ClientMessages(name));
     }
     catch (KeyNotFoundException)
     {
         throw new UnknownClientName(name);
     }
 }