# File lib/mongo/auth/x509/conversation.rb, line 64 def start(connection = nil) login = LOGIN.merge(mechanism: X509::MECHANISM) login[:user] = user.name if user.name if connection && connection.features.op_msg_enabled? selector = login selector[Protocol::Msg::DATABASE_IDENTIFIER] = user.auth_source cluster_time = connection.mongos? && connection.cluster_time selector[Operation::CLUSTER_TIME] = cluster_time if cluster_time Protocol::Msg.new([], {}, selector) else Protocol::Query.new( Auth::EXTERNAL, Database::COMMAND, login, limit: -1 ) end end