public static GossipConnectionSession FromOpenConnection(GossipConnection connection, Action <GossipConnection> disposeAction = null) { var session = new GossipConnectionSession(connection); session._disposeAction = disposeAction; return(session); }
public GossipConnectionSession CreateSession() { GossipConnection connection; if (_allConnections.IsEmpty) { connection = OpenNewConnection(); } else { if (!_availableConnections.TryTake(out connection, ConnectionTimeout)) { connection = OpenNewConnection(); } else { connection.RecordActivity(); } } return(GossipConnectionSession.FromOpenConnection(connection, CloseSession)); }
public static GossipConnectionSession FromOpenConnection(GossipConnection connection, Action<GossipConnection> disposeAction = null) { var session = new GossipConnectionSession(connection); session._disposeAction = disposeAction; return session; }