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>()); }
public IEnumerable <Message> ReadMessages() { try { return(server.ClientMessages(name)); } catch (KeyNotFoundException) { throw new UnknownClientName(name); } }