internal static void ConnectTo(ITransport transport, TransportCallback connectCallback) { if (transport == null) { throw new ArgumentNullException("transport"); } if (transport.Network == null) { throw new ArgumentNullException("transport.Network"); } if (transport.ConnectionType == ConnectionType.NodeConnection) { // XXX: This doesn't belong here. Have LocalNodeConnection set this up // and call me with the proper callback. LocalNodeConnection connection = new LocalNodeConnection(transport); transport.Operation = connection; transport.Network.AddConnection(connection); transportManager.Add(transport, delegate(ITransport bleh) { connection.Start(); if (connectCallback != null) { connectCallback(transport); } }); } else { transportManager.Add(transport, connectCallback); } }