code: func (c *Connection) openComplete() error {
  	// We clear the deadlines and let the heartbeater reset the read deadline if requested.
  	// RabbitMQ uses TCP flow control at this point for pushback so Writes can
  	// intentionally block.
  	if deadliner, ok := c.conn.(interface {
  		SetDeadline(time.Time) error
  	}); ok {
  		_ = deadliner.SetDeadline(time.Time{})
  	}
  
  	c.allocator = newAllocator(1, c.Config.ChannelMax)
  	return nil
  }
docs: // openComplete performs any final Connection initialization dependent on the
  // connection handshake and clears any state needed for TLS and AMQP handshaking.