# Copyright 2024 RustFS Team # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. [package] name = "rustfs-notify" edition.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true version.workspace = true homepage.workspace = true description = "File system notification service for RustFS, providing real-time updates on file changes and events." keywords = ["file-system", "notification", "real-time", "rustfs", "Minio"] categories = ["web-programming", "development-tools", "filesystem"] documentation = "https://docs.rs/rustfs-notify/latest/rustfs_notify/" [dependencies] rustfs-config = { workspace = true, features = ["notify", "constants", "server-config-model"] } rustfs-ecstore = { workspace = true } rustfs-s3-types = { workspace = true } rustfs-s3-ops = { workspace = true } rustfs-targets = { workspace = true } rustfs-utils = { workspace = true } arc-swap = { workspace = true } async-trait = { workspace = true } chrono = { workspace = true, features = ["serde"] } form_urlencoded = { workspace = true } hashbrown = { workspace = true } percent-encoding = { workspace = true } rayon = { workspace = true } rustc-hash = { workspace = true } serde = { workspace = true } starshard = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true, features = ["rt-multi-thread", "sync", "time"] } tracing = { workspace = true } url = { workspace = true } metrics = { workspace = true } # quick-xml dependencies for custom S3KeyFilter XML deserialization # Custom deserializer implemented for S3KeyFilter to handle both XML structures: # - Direct FilterRule elements under S3Key (AWS S3 format) # - FilterRuleList wrapper format # This makes quick-xml 0.39.2 work correctly with Filter elements quick-xml = { workspace = true, features = ["serialize", "serde-types", "encoding"] } [dev-dependencies] tokio = { workspace = true, features = ["test-util"] } tracing-subscriber = { workspace = true, features = ["env-filter"] } axum = { workspace = true } rustfs-utils = { workspace = true, features = ["path"] } serde_json = { workspace = true } criterion = { workspace = true } [lints] workspace = true [lib] doctest = false [[bench]] name = "snapshot_mode_scan" harness = false