virtual public ConnectorStorageEvent getAwaitingEvent() { ConnectorStorageEvent result = null; if (finishThread) { return(result); } do { lock (awaitingEvents) { if (awaitingEvents.Count > 0) { result = awaitingEvents.First.Value; awaitingEvents.RemoveFirst(); } } if (result == null) { try { awaitEvent.WaitOne(); } catch (System.Exception ex) { ex = null; } } }while (result == null && !finishThread); return(result); }
public virtual void addDisconnectedTransport(ConnectorTransport transport) { lock (awaitingEvents) { ConnectorStorageEvent ev = new ConnectorStorageEvent(); ev.DisconnectedTransport = transport; awaitingEvents.AddLast(ev); } awaitEvent.Set(); }