exonum-derive

Crates.ioexonum-derive
lib.rsexonum-derive
version1.0.0
sourcesrc
created_at2018-12-14 10:10:58.487129
updated_at2020-03-31 15:35:15.948157
descriptionProcedural macros for Exonum framework.
homepagehttps://exonum.com/
repositoryhttps://github.com/exonum/exonum
max_upload_size
id101871
size83,927
formats (github:rustcrypto:formats)

documentation

https://docs.rs/exonum-derive

README

Procedural macros for Exonum

Travis Build Status License: Apache-2.0 rust 1.42.0+ required

This crate provides several procedural macros for Exonum core and Exonum services.

Overview of presented macros:

  • BinaryValue: derive macro for BinaryValue trait of MerkleDB. Depending on codec, the implementation may use ProtobufConvert trait as base (default), or serde traits using bincode.
  • ObjectHash: derive macro for ObjectHash trait of MerkleDB. It can be used for any type that implements BinaryValue trait.
  • FromAccess: derive macro for FromAccess trait for schemas of MerkleDB indexes.
  • ServiceDispatcher: derive macro for generating dispatching mechanisms of Rust Exonum services.
  • ServiceFactory: derive macro for generating factory mechanisms of Rust Exonum services.
  • exonum_interface: attribute macro for transforming trait into interface of Rust Exonum service.
  • ExecutionFail: derive macro similar to failure::Fail, implementing ExecutionFail trait for an enum.
  • RequireArtifact: derive macro for RequireArtifact trait.

Consult the crate docs for more details.

Usage

Include exonum-derive as a dependency in your Cargo.toml:

[dependencies]
exonum-derive = "1.0.0"

License

exonum-derive is licensed under the Apache License (Version 2.0). See LICENSE for details.

Commit count: 5680

cargo fmt