diff options
author | 2021-02-19 03:52:55 +0000 | |
---|---|---|
committer | 2021-04-06 15:58:47 +0900 | |
commit | abb27e7774e3cd12bd3cfe3d4858bbe590e59be0 (patch) | |
tree | 2b676f85323f0297ffd187d3aef2c0b224e2ff99 /common/dlm-protocol.h | |
parent | d196375b8b130e119285fb19984870edc6941a90 (diff) |
Add lease request and release protocol
Explicitly request / release leases instead of implicitly
by opening and closing the connection. This will allow the
lease manager to take different action when a client
shuts down gracefully vs when it crashes, holding a lease.
Bug-AGL: SPEC-3862
Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
Change-Id: Ibc68bee855ce18e56eb6f57e5ad1743248320013
Diffstat (limited to 'common/dlm-protocol.h')
-rw-r--r-- | common/dlm-protocol.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/common/dlm-protocol.h b/common/dlm-protocol.h new file mode 100644 index 0000000..44785e5 --- /dev/null +++ b/common/dlm-protocol.h @@ -0,0 +1,32 @@ +/* Copyright 2020-2021 IGEL Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef DLM_PROTOCOL_H +#define DLM_PROTOCOL_H + +#include <stdbool.h> + +enum dlm_opcode { + DLM_GET_LEASE, + DLM_RELEASE_LEASE, +}; + +struct dlm_client_request { + enum dlm_opcode opcode; +}; + +bool receive_dlm_client_request(int socket, struct dlm_client_request *request); +bool send_dlm_client_request(int socket, struct dlm_client_request *request); +#endif |