fn update_transaction_support_status(&mut self, server_description: &ServerDescription) {
        if !matches!(
            self.session_support_status,
            SessionSupportStatus::Supported { .. }
        ) {
            self.transaction_support_status = TransactionSupportStatus::Unsupported;
        }
        if let Ok(Some(max_wire_version)) = server_description.max_wire_version() {
            self.transaction_support_status = if max_wire_version < 7
                || (max_wire_version < 8 && self.topology_type == TopologyType::Sharded)
            {
                TransactionSupportStatus::Unsupported
            } else {
                TransactionSupportStatus::Supported
            }
        }
    }
/// Updates the topology's transaction support status based on its session support status and
/// the server description's max wire version.
Updates the topology's transaction support status based on its session support status and
the server description's max wire version.
Updates the topology ' s transaction support status based on its session support status and the server description ' s max wire version .
fn update_transaction_support_status(&mut self, server_description: &ServerDescription) {
        if !matches!(
            self.session_support_status,
            SessionSupportStatus::Supported { .. }
        ) {
            self.transaction_support_status = TransactionSupportStatus::Unsupported;
        }
        if let Ok(Some(max_wire_version)) = server_description.max_wire_version() {
            self.transaction_support_status = if max_wire_version < 7
                || (max_wire_version < 8 && self.topology_type == TopologyType::Sharded)
            {
                TransactionSupportStatus::Unsupported
            } else {
                TransactionSupportStatus::Supported
            }
        }
    }
fn update_transaction_support_status ( & mut self , server_description : & ServerDescription ) { if ! matches ! ( self session_support_status SessionSupportStatus Supported { } ) { self . transaction_support_status = TransactionSupportStatus :: Unsupported ; } if let Ok ( Some ( max_wire_version ) ) = server_description . max_wire_version ( ) { self . transaction_support_status = if max_wire_version < 7 || ( max_wire_version < 8 && self . topology_type == TopologyType :: Sharded ) { TransactionSupportStatus :: Unsupported } else { TransactionSupportStatus :: Supported } } }
Updates the topology's transaction support status based on its session support status and
the server description's max wire version.
Updates the topology ' s transaction support status based on its session support status and the server description ' s max wire version .
&mut self
server_description
&ServerDescription
&mut self
server_description
&ServerDescription