项目作者: actix

项目描述 :
[ARCHIVED] development moved into main actix repo
高级语言: Rust
项目地址: git://github.com/actix/actix-derive.git
创建时间: 2017-11-16T16:13:02Z
项目社区:https://github.com/actix/actix-derive

开源协议:Other

下载


actix-derive Build Status crates.io

Actix is a rust actor framework.


Features

  • actix-derive adds support for Rust Custom Derive / Macros 1.1 to actix

Usage

  1. use actix_derive::{Message, MessageResponse};
  2. #[derive(MessageResponse)]
  3. struct Added(usize);
  4. #[derive(Message)]
  5. #[rtype(result = "Added")]
  6. struct Sum(usize, usize);
  7. fn main() {}

This code expands into following code:

  1. use actix::{Actor, Context, Handler, System};
  2. use actix_derive::{Message, MessageResponse};
  3. #[derive(MessageResponse)]
  4. struct Added(usize);
  5. #[derive(Message)]
  6. #[rtype(result = "Added")]
  7. struct Sum(usize, usize);
  8. #[derive(Default)]
  9. struct Adder;
  10. impl Actor for Adder {
  11. type Context = Context<Self>;
  12. }
  13. impl Handler<Sum> for Adder {
  14. type Result = <Sum as actix::Message>::Result;
  15. fn handle(&mut self, msg: Sum, _: &mut Self::Context) -> Added {
  16. Added(msg.0 + msg.1)
  17. }
  18. }
  19. fn main() {}

License

This project is licensed under either of

at your option.