etcd_rs/lease/
revoke.rs

1use crate::lease::LeaseId;
2use crate::proto::etcdserverpb;
3use crate::ResponseHeader;
4
5#[derive(Debug)]
6pub struct LeaseRevokeRequest {
7    proto: crate::proto::etcdserverpb::LeaseRevokeRequest,
8}
9
10impl LeaseRevokeRequest {
11    /// Creates a new LeaseRevokeRequest which will revoke the specified lease.
12    pub fn new(id: LeaseId) -> Self {
13        Self {
14            proto: etcdserverpb::LeaseRevokeRequest { id: id as LeaseId },
15        }
16    }
17}
18impl From<LeaseRevokeRequest> for crate::proto::etcdserverpb::LeaseRevokeRequest {
19    fn from(x: LeaseRevokeRequest) -> Self {
20        x.proto
21    }
22}
23
24#[derive(Debug, Clone)]
25pub struct LeaseRevokeResponse {
26    pub header: ResponseHeader,
27}
28
29impl From<crate::proto::etcdserverpb::LeaseRevokeResponse> for LeaseRevokeResponse {
30    fn from(proto: crate::proto::etcdserverpb::LeaseRevokeResponse) -> Self {
31        Self {
32            header: From::from(proto.header.expect("must fetch header")),
33        }
34    }
35}