public Connection(Uri connectionUri, ITransport transport, IdGenerator clientIdGenerator)
{
this.brokerUri = connectionUri;
this.clientIdGenerator = clientIdGenerator;
this.transport = transport;
this.transport.Command = new CommandHandler(OnCommand);
this.transport.Exception = new ExceptionHandler(OnTransportException);
this.transport.Interrupted = new InterruptedHandler(OnTransportInterrupted);
this.transport.Resumed = new ResumedHandler(OnTransportResumed);
ConnectionId id = new ConnectionId();
id.Value = CONNECTION_ID_GENERATOR.GenerateId();
this.info = new ConnectionInfo();
this.info.ConnectionId = id;
this.info.FaultTolerant = transport.IsFaultTolerant;
this.messageTransformation = new ActiveMQMessageTransformation(this);
}