use bson::{doc, Document}; use crate::context::CommandContext; use crate::error::CommandResult; /// Handle `hello`, `ismaster`, and `isMaster` commands. /// /// Returns server capabilities matching wire protocol expectations. pub async fn handle( _cmd: &Document, _db: &str, _ctx: &CommandContext, ) -> CommandResult { Ok(doc! { "ismaster": true, "isWritablePrimary": true, "maxBsonObjectSize": 16_777_216_i32, "maxMessageSizeBytes": 48_000_000_i32, "maxWriteBatchSize": 100_000_i32, "localTime": bson::DateTime::now(), "logicalSessionTimeoutMinutes": 30_i32, "connectionId": 1_i32, "minWireVersion": 0_i32, "maxWireVersion": 21_i32, "readOnly": false, "ok": 1.0, }) }