Derive Macro fluvio_protocol_derive::RequestApi[][src]

#[derive(RequestApi)]
{
    // Attributes available to this derive:
    #[varint]
    #[fluvio]
}
Expand description

Custom derive for implementing Request trait. This derives requires fluvio

Examples

use fluvio_protocol::derive::Decode;
use fluvio_protocol::derive::Encode;
use fluvio_protocol::api::Request;
use fluvio_protocol::derive::RequestApi as Request;

#[fluvio(default,api_min_version = 5, api_max_version = 6, api_key = 10, response = "SimpleResponse")]
#[derive(Debug, Default, Encode, Decode, Request)]
pub struct SimpleRequest {
    val: u8
}

#[derive(Debug, Default, Encode, Decode)]
#[fluvio(default)]
pub struct SimpleResponse {
    pub value: i8,
}

RequestApi derives respects following attributes in fluvio

  • api_min_version: min version that API supports. This is required
  • api_max_version: max version that API supports. This is optional.
  • api_key: API number. This is required
  • response: Response struct. This is required