[][src]Derive Macro kf_protocol::derive::RequestApi

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

Custom derive for implementating Request trait. This derives requires fluvio_kf

Examples

use kf_protocol::derive::Decode;
use kf_protocol::derive::Encode;
use kf_protocol::api::Request;
use kf_protocol::derive::RequestApi;

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

RequestApi derives respects following attributes in fluvio_kf

  • 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