You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: kafka.rs
    path of file: ./repos/kafka-proxy/src/kafka
    
    the code of the file until where you have to start completion: pub mod config {
    use serde::Deserialize;
    use std::collections::HashMap;

    const DEFAULT_MESSAGE_MAX_BYTES: u32 = 1024 * 1024; // 1 MiB
    const DEFAULT_QUEUE_BUFFERING_MAX_MESSAGES: u32 = 100000;
    const DEFAULT_QUEUE_BUFFERING_MAX_MS: u32 = 10; // librdkafka default value is '5'
    const DEFAULT_RETRIES: u32 = 3; // librdkafka default is 2^32 - 1
    const DEFAULT_MESSAGE_TIMEOUT_MS: u32 = 2000; // librdkafka default is 300000
    const DEFAULT_REQUEST_REQUIRED_ACKS: i32 = 1;
    const DEFAULT_REQUEST_TIMEOUT_MS: u32 = 30000;
    const DEFAULT_QUEUE_
    
        fn default() -> Self {
            return KafkaConfig {
                brokers: vec![],
                user: None,
                password: None,
                message_max_bytes: KafkaConfig::default_message_max_bytes(),
                queue_buffering_max_messages: KafkaConfig::default_queue_buffering_max_messages(),
                queue_buffering_max_ms: KafkaConfig::default_queue_buffering_max_ms(),
                queue_buffering_max_kbytes: KafkaConfig::default_queue_buffering_max_kbytes(),
                retries: KafkaConfig::default_retries(),
                message_timeout_ms: KafkaConfig::default_message_timeout_ms(),
                request_required_acks: KafkaConfig::default_request_required_acks(),
                request_timeout_ms: KafkaConfig::default_request_timeout_ms(),
                statistics_interval_ms: KafkaConfig::default_statistics_interval_ms(),
            };
        }