Enhance NewClient documentation
@@ -86,7 +86,12 @@ func stddial(ctx context.Context, addr string) (net.Conn, error) {
}
// NewClient returns a new Kafka client with the given options or an error if
-// the options are invalid.
+// the options are invalid. The connection is initiated lazily. Upon the first
+// request sent to the broker the client will initiate a connection to
+// Kafka (if needed).
+// NewClient also launches a goroutine which periodically updates the cached
+// topic metadata. It ensures that the cached metadata won't be older than
+// MetadataMaxAge (5min by default).
func NewClient(opts ...Opt) (*Client, error) {
cfg := defaultCfg()
for _, opt := range opts {
