From bb617311f4fc4ece5bf963d3f445e73e09a9cdaa Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sun, 25 Feb 2024 12:00:11 +0100 Subject: lib: Rename CACEP to CEP and set conngmr timeout The Common Application Connection Establishment Protocol (CACEP) is a RINA construct associated with the Common Distributed Application Protocol (CDAP). We dropped CDAP as O7s sees connection establishment as common to all applications (though it can be a nop). The wiki already refers to this as (O7s) Connection Establishment Protocol (CEP). The connection manager will now timeout waiting for CEP messages to avoid hanging forever, configurable at build time via CONNMGR_RCV_TIMEOUT. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- include/ouroboros/cep.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 include/ouroboros/cep.h (limited to 'include/ouroboros/cep.h') diff --git a/include/ouroboros/cep.h b/include/ouroboros/cep.h new file mode 100644 index 00000000..4c1737f0 --- /dev/null +++ b/include/ouroboros/cep.h @@ -0,0 +1,53 @@ +/* + * Ouroboros - Copyright (C) 2016 - 2024 + * + * The Ouroboros Connection Establishment Protocol + * + * Dimitri Staessens + * Sander Vrijders + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., http://www.fsf.org/about/contact/. + */ + +#ifndef OUROBOROS_CEP_H +#define OUROBOROS_CEP_H + +#include +#include + +#include + +#define OCEP_BUF_STRLEN 128 + +struct conn_info { + char comp_name[OCEP_BUF_STRLEN + 1]; + char protocol[OCEP_BUF_STRLEN + 1]; + uint32_t pref_version; + enum proto_concrete_syntax pref_syntax; + struct proto_field fixed_conc_syntax[PROTO_MAX_FIELDS]; + size_t num_fields; + uint64_t addr; +}; + +__BEGIN_DECLS + +int cep_snd(int fd, + const struct conn_info * in); + +int cep_rcv(int fd, + struct conn_info * out); + +__END_DECLS + +#endif /* OUROBOROS_CEP_H */ -- cgit v1.2.3