content: [package]
  name = "dorea"
  version = "0.4.0"
  description = "A key-value stroage system"
  repository = "https://github.com/mrxiaozhuox/dorea/"
  authors = ["YuKun Liu <mrxzx.info@gmail.com>"]
  edition = "2021"
  license = "MIT"
  keywords = ["database","cache","storage"]
  exclude = [
      ".DS_Store",
      ".idea/*",
      ".vscode/*",
      "Dockerfile"
  ]
  
  [[bin]]
  name = "dorea-cli"
  path = "src/bin/cli.rs"
  required-features = ["client"]
  
  
  [[bin]]
  name = "dorea-server"
  path = "src/bin/server.rs"
  required-features = ["server"]
  
  [features]
  
  # default features: all feature.
  default = ["full"]
  
  # include all features
  full = ["server", "client"]
  
  # server features: just run for server.
  server = [
      "processor", 
      "axum", 
      "http", 
      "headers", 
      "hyper", 
      "tower", 
      "jsonwebtoken", 
      "log4rs",
      "ctrlc"
  ]
  
  # client features: client manager tools.
  client = ["processor"]
  
  # processor feature: include [value, network] to io data and fmt it.
  processor = []
  
  [dependencies]
  tokio = { version = "1.6.1", features = ['full'] }
  anyhow = "1.0.42"
  futures = "0.3.16"
  
  # Command
  rustyline = "8.2.0"
  
  # Bytes Tool
  bytes = "1.0.1"
  
  # Parsing Tool
  nom = "7.0.0"
  clap = "2.33.3"
  
  # Lazy Static
  once_cell = "1.8.0"
  
  # Directory Manager
  dirs = "3.0.2"
  walkdir = "2.3.2"
  
  # Time & Date Manager
  chrono = "0.4.19"
  
  # Serialize & Deserialize
  serde = { version = "1.0.126", features = ['derive'] }
  serde_json = "1.0.64"
  toml = "0.5.8"
  
  base64 = "0.13.0"
  md5 = "0.7.0"
  crc = "2.0.0"
  uuid = { version = "0.8", features = ["v4"] }
  
  # Doson Parser
  doson = "0.1.5"
  
  # Tools
  rand = "0.8"
  
  # Logger Library
  log = "0.4.14"
  log4rs = { version = "1.0.0", optional = true }
  
  # Web Service [Dorea-Web tool]
  axum = { version = "0.4.8", optional = true, features = ["multipart", "headers", "ws"] }
  http = { version = "0.2.4", optional = true }
  headers = { version = "0.3.4", optional = true }
  hyper = { version = "0.14.11", optional = true, features = ["full"] }
  tower = { version = "0.4.8", optional = true, features = ["timeout"] }
  jsonwebtoken = { version = "7.2.0", optional = true }
  
  # Ctrl-C signal
  ctrlc = {version = "3.2.1", optional = true}