public IMessageStream OpenStream()
{
var endpoint = ResolveStreamEndpoint();
var socket = new Socket(endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
Log.InfoFormat("connecting: {0}", endpoint);
try
{
socket.Connect(endpoint);
Log.Info("connected");
return new LiveSocketMessageStream(socket);
}
catch(SocketException exc)
{
((IDisposable)socket).Dispose();
Log.ErrorFormat("unable to connect to {0}: {1}", endpoint, exc.Message);
throw Guard.LiveMessageStreamEndpoint_FailedToOpenStream(exc);
}
}