content: [package]
  name = "socketioxide-mongodb"
  description = "MongoDB adapter for socketioxide"
  version = "0.1.0"
  edition.workspace = true
  rust-version.workspace = true
  authors.workspace = true
  repository.workspace = true
  homepage.workspace = true
  keywords.workspace = true
  categories.workspace = true
  license.workspace = true
  readme = "README.md"
  
  [features]
  mongodb = ["dep:mongodb"]
  ttl-index = ["dep:bson"]
  default = ["mongodb", "ttl-index"]
  
  [dependencies]
  socketioxide-core = { version = "0.17", path = "../socketioxide-core", features = [
      "remote-adapter",
  ] }
  futures-core.workspace = true
  futures-util.workspace = true
  pin-project-lite.workspace = true
  serde.workspace = true
  smallvec = { workspace = true, features = ["serde", "const_new"] }
  tokio = { workspace = true, features = ["time", "rt", "sync"] }
  rmp-serde.workspace = true
  tracing.workspace = true
  thiserror.workspace = true
  
  # BSON implementation for TtlIndex data expiration strategy only
  bson = { version = "3", default-features = false, optional = true, features = [
      "compat-3-0-0",
      "serde",
  ] }
  
  # Mongodb implementation
  mongodb = { version = "3", default-features = false, optional = true, features = [
      "rustls-tls",
      "compat-3-0-0",
  ] }
  
  [dev-dependencies]
  tokio = { workspace = true, features = [
      "macros",
      "parking_lot",
      "rt-multi-thread",
  ] }
  socketioxide = { path = "../socketioxide", features = [
      "tracing",
      "__test_harness",
  ] }
  tracing-subscriber.workspace = true
  bytes.workspace = true
  
  # docs.rs-specific configuration
  [package.metadata.docs.rs]
  all-features = true
  rustdoc-args = ["--cfg", "docsrs"]
  