public IAsyncResult BeginDeclare(TimeSpan timeout, AsyncCallback callback, object state) { Utils.Trace(TraceLevel.Info, "{0}: Begin declare a transaction", this); Declare declare = new Declare(); AmqpMessage message = Controller.CreateCommandMessage(declare); return this.sendLink.BeginSendMessage(message, this.GetDeliveryTag(), AmqpConstants.EmptyBinary, timeout, callback, state); }