diff --git a/.cproject b/.cproject index 5f955a8..8efc8e2 100644 --- a/.cproject +++ b/.cproject @@ -109,6 +109,14 @@ - + + + + + + + + - + + \ No newline at end of file diff --git a/.nedfolders b/.nedfolders index bbccc94..bb3ee37 100644 --- a/.nedfolders +++ b/.nedfolders @@ -1,2 +1,5 @@ -simulations/veins +simulations/grid +simulations/multi_model +simulations/simple_example +simulations/small_lust src diff --git a/.project b/.project index 1ba2b98..bded821 100644 --- a/.project +++ b/.project @@ -6,6 +6,11 @@ veins + + org.python.pydev.PyDevBuilder + + + org.omnetpp.cdt.MakefileBuilder @@ -35,5 +40,6 @@ org.eclipse.cdt.managedbuilder.core.managedBuildNature org.eclipse.cdt.managedbuilder.core.ScannerConfigNature org.omnetpp.main.omnetppnature + org.python.pydev.pythonNature diff --git a/.pydevproject b/.pydevproject new file mode 100644 index 0000000..2b04565 --- /dev/null +++ b/.pydevproject @@ -0,0 +1,5 @@ + + + Default + python interpreter + diff --git a/README.md b/README.md index 00e60cc..aa28b14 100644 --- a/README.md +++ b/README.md @@ -1,98 +1,106 @@ -

- -

+# FLEXE: Federated Learning Extension for Veins -# Flexe -Flexe is a new framework for simulation of Federated Learning (FL) in Connected and Autonomous Vehicle (CAVs). Its adaptable design allows for the implementation of a variety of FL schemes, including horizontal, vertical, and Federated Transfer Learning. Flexe and PyFlexe are free to download and use, built for customization, and allows for the realistic simulation of wireless networking and vehicle dynamics. The project was partitioned into two, one of which is responsible for vehicle-to-vehicle communication ([Flexe](https://github.com/WellingtonLobato/flexe)) and the other for the construction and training of models ([PyFlexe](https://github.com/WellingtonLobato/PyFlexe)). +FLEXE is a new framework for simulation of Federated Learning (FL) in Connected and Autonomous Vehicle (CAVs). Its adaptable design allows for the implementation of a variety of FL schemes, including horizontal, vertical, and Federated Transfer Learning. FLEXE is free to download and use, built for customization, and allows for the realistic simulation of wireless networking and vehicle dynamics. ## Getting Started -We developed FLEXE to make it possible to implement and develop vehicular FL applications within the context of CAVs. It further simplifies the process of modeling specific Machine Learning (ML) and FL applications into environments suitable for CAVs. Specifically, we developed Flexe on top of the Veins network simulator to simulate the dynamics of communication between vehicles. +These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system. ### Prerequisites -PyFlexe requires the following software to be installed -- OMNeT++ -- conan -- grpc -- TensorFlow -- PyTorch +OMNeT++: +-6.0 +SUMO: +- +Veins: +-5.2 -### OMNeT++ (6 >=) installation -Please do follow the instructions from the official [OMNeT documentation](https://doc.omnetpp.org/omnetpp/InstallGuide.pdf) +``` +Give examples +``` + +### Installing + +A step by step series of examples that tell you how to get a development env running + +Say what the step will be -### Conan installation (1.58.0 >=) -Please do follow the instructions from the official [conan documentation](https://docs.conan.io/en/latest/installation.html) ``` -pip install conan==1.58.0 +Give the example ``` -### GRPC installation (== 1.38.1) -Please do follow the instructions from the official [GRPC documentation](https://grpc.io/docs/languages/python/quickstart/) +And repeat -### Installing +``` +until finished +``` + +End with an example of getting some data out of the system or using it for a little demo + +## Running the tests -In order to install the necessary packages to run Flexe, just run the following command in the root directory. +Explain how to run the automated tests for this system + +### Break down into end to end tests + +Explain what these tests test and why ``` -conan install . --build missing -s compiler.version=10 -s compiler.libcxx=libstdc++11 +Give an example ``` -Import the project into your OMNeT++ IDE workspace by clicking File > Import > General: Existing Projects into Workspace and selecting the directory you unpacked the Flexe module to. +### And coding style tests -Flexe is an extension to the well known and widely used Veins simulation framework. See the Veins website for a tutorial, documentation, and publications. +Explain what these tests test and why +``` +Give an example +``` -## Project structure - main components +## Deployment +Add additional notes about how to deploy this on a live system - ├── simulations - │   ├── grid - │   ├── small_lust - │   └── veins - └── src - ├── flexe - │   ├── application - │   ├── cache - │   ├── messages - │   └── proto - ├── Makefile - └── makefrag +## Built With + +* [Dropwizard](http://www.dropwizard.io/1.0.2/docs/) - The web framework used +* [Maven](https://maven.apache.org/) - Dependency Management +* [ROME](https://rometools.github.io/rome/) - Used to generate RSS Feeds ## Contributing -Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us. +Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us. ## Versioning -We use [SemVer](http://semver.org/) for versioning. +We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags). ## Authors -* **Wellington Lobato** - [WellingtonLobato](https://github.com/WellingtonLobato) -* **Joahannes B. D. da Costa** - [joahannes](https://github.com/joahannes) -* **Allan M. de Souza** - [AllanMSouza](https://github.com/AllanMSouza) -* **Denis Rosario** -* **Christoph Sommer** - [sommer](https://github.com/sommer) -* **Leandro A. Villas** - -# Citation - -PyFlexe and Flexe can reproduce results in the following papers: - -```tex -@INPROCEEDINGS{Lobato2022, - author={Lobato, Wellington and Costa, Joahannes B. D. Da and Souza, Allan M. de and Rosário, Denis and Sommer, Christoph and Villas, Leandro A.}, - booktitle={2022 IEEE 96th Vehicular Technology Conference (VTC2022-Fall)}, - title={FLEXE: Investigating Federated Learning in Connected Autonomous Vehicle Simulations}, - year={2022}, - pages={1-5}, - doi={10.1109/VTC2022-Fall57202.2022.10012905} -} -``` -# Updates -Flexe Version 3.0.0 in the development phase. +* **Wellington Lobato** - *Initial work* - [PurpleBooth](https://github.com/PurpleBooth) +* **Joahannes B. D. da Costa** - *Initial work* - [PurpleBooth](https://github.com/PurpleBooth) +* **Allan M. de Souza** - *Initial work* - [PurpleBooth](https://github.com/PurpleBooth) +* **Denis Rosario** - *Initial work* - [PurpleBooth](https://github.com/PurpleBooth) +* **Christoph Sommer** - *Initial work* - [PurpleBooth](https://github.com/PurpleBooth) +* **Leandro A. Villas** - *Initial work* - [PurpleBooth](https://github.com/PurpleBooth) + + +See also the list of [contributors](https://github.com/your/project/contributors) who participated in this project. ## License -This project is licensed under the GPL-2.0 license - see the [COPYING.md](COPYING.md) file for details +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details + +## Acknowledgments + +* Hat tip to anyone whose code was used +* Inspiration +* etc + + +conan install . --build missing -s compiler.version=10 -s compiler.libcxx=libstdc++11 + +PROTO_IN_PATH=/home/jordan/git/Flexe2.0.0/ +PROTO_FILE=/home/jordan/git/Flexe2.0.0/flexe.proto +PROTO_OUT_PATH=/home/jordan/git/Flexe2.0.0/src/flexe/proto/ + diff --git a/conanbuildinfo.mak b/conanbuildinfo.mak index e18732e..184a456 100644 --- a/conanbuildinfo.mak +++ b/conanbuildinfo.mak @@ -3,25 +3,25 @@ #-------------------------------------------------------------------# CONAN_ROOT_GRPC ?= \ -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c CONAN_SYSROOT_GRPC ?= \ CONAN_INCLUDE_DIRS_GRPC += \ -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/include +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/include CONAN_LIB_DIRS_GRPC += \ -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/lib +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/lib CONAN_BIN_DIRS_GRPC += \ -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/bin +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/bin CONAN_BUILD_DIRS_GRPC += \ -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/ +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/ CONAN_RES_DIRS_GRPC += \ -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/res +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/res CONAN_LIBS_GRPC += \ grpc++_alts \ @@ -56,16 +56,16 @@ CONAN_FRAMEWORKS_GRPC += CONAN_FRAMEWORK_PATHS_GRPC += CONAN_ROOT_ABSEIL ?= \ -/home/jordan/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d +/home/wellington/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d CONAN_SYSROOT_ABSEIL ?= \ CONAN_INCLUDE_DIRS_ABSEIL += \ -/home/jordan/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include +/home/wellington/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include CONAN_LIB_DIRS_ABSEIL += \ -/home/jordan/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib +/home/wellington/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib CONAN_BIN_DIRS_ABSEIL += @@ -161,19 +161,19 @@ CONAN_FRAMEWORKS_ABSEIL += CONAN_FRAMEWORK_PATHS_ABSEIL += CONAN_ROOT_C-ARES ?= \ -/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745 +/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745 CONAN_SYSROOT_C-ARES ?= \ CONAN_INCLUDE_DIRS_C-ARES += \ -/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/include +/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/include CONAN_LIB_DIRS_C-ARES += \ -/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/lib +/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/lib CONAN_BIN_DIRS_C-ARES += \ -/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/bin +/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/bin CONAN_BUILD_DIRS_C-ARES += @@ -201,22 +201,22 @@ CONAN_FRAMEWORKS_C-ARES += CONAN_FRAMEWORK_PATHS_C-ARES += CONAN_ROOT_OPENSSL ?= \ -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1 +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1 CONAN_SYSROOT_OPENSSL ?= \ CONAN_INCLUDE_DIRS_OPENSSL += \ -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include CONAN_LIB_DIRS_OPENSSL += \ -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib CONAN_BIN_DIRS_OPENSSL += \ -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/bin +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/bin CONAN_BUILD_DIRS_OPENSSL += \ -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ CONAN_RES_DIRS_OPENSSL += @@ -244,23 +244,22 @@ CONAN_FRAMEWORKS_OPENSSL += CONAN_FRAMEWORK_PATHS_OPENSSL += CONAN_ROOT_PROTOBUF ?= \ -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131 +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131 CONAN_SYSROOT_PROTOBUF ?= \ CONAN_INCLUDE_DIRS_PROTOBUF += \ -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/include +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/include CONAN_LIB_DIRS_PROTOBUF += \ -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib CONAN_BIN_DIRS_PROTOBUF += \ -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/bin +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/bin CONAN_BUILD_DIRS_PROTOBUF += \ -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/ \ -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib/cmake/protobuf +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib/cmake/protobuf CONAN_RES_DIRS_PROTOBUF += @@ -269,6 +268,7 @@ protoc \ protobuf CONAN_SYSTEM_LIBS_PROTOBUF += \ +m \ pthread CONAN_DEFINES_PROTOBUF += @@ -286,21 +286,21 @@ CONAN_FRAMEWORKS_PROTOBUF += CONAN_FRAMEWORK_PATHS_PROTOBUF += CONAN_ROOT_RE2 ?= \ -/home/jordan/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d +/home/wellington/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d CONAN_SYSROOT_RE2 ?= \ CONAN_INCLUDE_DIRS_RE2 += \ -/home/jordan/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include +/home/wellington/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include CONAN_LIB_DIRS_RE2 += \ -/home/jordan/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib +/home/wellington/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib CONAN_BIN_DIRS_RE2 += CONAN_BUILD_DIRS_RE2 += \ -/home/jordan/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/ +/home/wellington/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/ CONAN_RES_DIRS_RE2 += @@ -326,21 +326,21 @@ CONAN_FRAMEWORKS_RE2 += CONAN_FRAMEWORK_PATHS_RE2 += CONAN_ROOT_ZLIB ?= \ -/home/jordan/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1 +/home/wellington/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1 CONAN_SYSROOT_ZLIB ?= \ CONAN_INCLUDE_DIRS_ZLIB += \ -/home/jordan/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include +/home/wellington/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include CONAN_LIB_DIRS_ZLIB += \ -/home/jordan/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib +/home/wellington/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib CONAN_BIN_DIRS_ZLIB += CONAN_BUILD_DIRS_ZLIB += \ -/home/jordan/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ +/home/wellington/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ CONAN_RES_DIRS_ZLIB += diff --git a/conanbuildinfo.txt b/conanbuildinfo.txt index db70fe0..7358563 100644 --- a/conanbuildinfo.txt +++ b/conanbuildinfo.txt @@ -1,37 +1,36 @@ [includedirs] -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/include -/home/jordan/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include -/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/include -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/include -/home/jordan/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include -/home/jordan/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/include +/home/wellington/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include +/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/include +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/include +/home/wellington/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include +/home/wellington/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include [libdirs] -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/lib -/home/jordan/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib -/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/lib -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib -/home/jordan/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib -/home/jordan/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/lib +/home/wellington/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib +/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/lib +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib +/home/wellington/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib +/home/wellington/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib [bindirs] -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/bin -/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/bin -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/bin -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/bin +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/bin +/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/bin +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/bin +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/bin [resdirs] -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/res +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/res [builddirs] -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/ -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/ -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib/cmake/protobuf -/home/jordan/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/ -/home/jordan/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/ +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib/cmake/protobuf +/home/wellington/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/ +/home/wellington/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ [libs] grpc++_alts @@ -155,19 +154,19 @@ CARES_STATICLIB [includedirs_grpc] -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/include +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/include [libdirs_grpc] -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/lib +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/lib [bindirs_grpc] -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/bin +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/bin [resdirs_grpc] -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/res +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/res [builddirs_grpc] -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/ +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/ [libs_grpc] grpc++_alts @@ -215,7 +214,7 @@ pthread [rootpath_grpc] -/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c +/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c [name_grpc] grpc @@ -232,10 +231,10 @@ cmake_find_package_multi=gRPC [includedirs_abseil] -/home/jordan/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include +/home/wellington/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include [libdirs_abseil] -/home/jordan/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib +/home/wellington/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib [bindirs_abseil] @@ -347,7 +346,7 @@ rt [rootpath_abseil] -/home/jordan/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d +/home/wellington/.conan/data/abseil/20211102.0/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d [name_abseil] abseil @@ -364,13 +363,13 @@ cmake_find_package_multi=absl [includedirs_c-ares] -/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/include +/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/include [libdirs_c-ares] -/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/lib +/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/lib [bindirs_c-ares] -/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/bin +/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/bin [resdirs_c-ares] @@ -412,7 +411,7 @@ CARES_STATICLIB [rootpath_c-ares] -/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745 +/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745 [name_c-ares] c-ares @@ -428,19 +427,19 @@ pkg_config=libcares [includedirs_openssl] -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include [libdirs_openssl] -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib [bindirs_openssl] -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/bin +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/bin [resdirs_openssl] [builddirs_openssl] -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ [libs_openssl] ssl @@ -479,7 +478,7 @@ rt [rootpath_openssl] -/home/jordan/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1 +/home/wellington/.conan/data/openssl/1.1.1n/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1 [name_openssl] openssl @@ -496,26 +495,26 @@ cmake_find_package_multi=OpenSSL [includedirs_protobuf] -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/include +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/include [libdirs_protobuf] -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib [bindirs_protobuf] -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/bin +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/bin [resdirs_protobuf] [builddirs_protobuf] -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/ -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib/cmake/protobuf +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/lib/cmake/protobuf [libs_protobuf] protoc protobuf [system_libs_protobuf] +m pthread [defines_protobuf] @@ -546,7 +545,7 @@ pthread [rootpath_protobuf] -/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131 +/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131 [name_protobuf] protobuf @@ -563,10 +562,10 @@ cmake_find_package_multi=protobuf [includedirs_re2] -/home/jordan/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include +/home/wellington/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/include [libdirs_re2] -/home/jordan/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib +/home/wellington/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/lib [bindirs_re2] @@ -575,7 +574,7 @@ cmake_find_package_multi=protobuf [builddirs_re2] -/home/jordan/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/ +/home/wellington/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d/ [libs_re2] re2 @@ -612,7 +611,7 @@ pthread [rootpath_re2] -/home/jordan/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d +/home/wellington/.conan/data/re2/20220201/_/_/package/b173bbda18164d49a449ffadc1c9e817f49e819d [name_re2] re2 @@ -628,10 +627,10 @@ re2 [includedirs_zlib] -/home/jordan/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include +/home/wellington/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/include [libdirs_zlib] -/home/jordan/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib +/home/wellington/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/lib [bindirs_zlib] @@ -640,7 +639,7 @@ re2 [builddirs_zlib] -/home/jordan/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ +/home/wellington/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1/ [libs_zlib] z @@ -676,7 +675,7 @@ z [rootpath_zlib] -/home/jordan/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1 +/home/wellington/.conan/data/zlib/1.2.12/_/_/package/19729b9559f3ae196cad45cb2b97468ccb75dcd1 [name_zlib] zlib @@ -700,13 +699,13 @@ cmake_find_package_multi=ZLIB [USER_re2] [USER_zlib] [ENV_grpc] -GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/res/grpc/roots.pem -PATH=["/home/jordan/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/bin"] +GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/res/grpc/roots.pem +PATH=["/home/wellington/.conan/data/grpc/1.38.1/_/_/package/44ecaec4536223f790dd5e0a72b2d16b1dfaa76c/bin"] [ENV_abseil] [ENV_c-ares] -PATH=["/home/jordan/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/bin"] +PATH=["/home/wellington/.conan/data/c-ares/1.18.1/_/_/package/29b1a7b6d5a3c9f005e799c80fcc6320c89f9745/bin"] [ENV_openssl] [ENV_protobuf] -PATH=["/home/jordan/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/bin"] +PATH=["/home/wellington/.conan/data/protobuf/3.17.1/_/_/package/53f76f058631e1c3a500008c75af3f37d7786131/bin"] [ENV_re2] [ENV_zlib] \ No newline at end of file diff --git a/flexe.proto b/flexe.proto index 63e4f0a..89b63fb 100644 --- a/flexe.proto +++ b/flexe.proto @@ -2,53 +2,96 @@ syntax = "proto3"; package flexe; -// Defines the service service Flexe { //Client Functions rpc fit (TTRequest) returns (ModelReply) {} - rpc evaluate (TTRequest) returns (EvaluateReply) {} - rpc update_model (TTRequest) returns (GenericResponse) {} + rpc evaluate (TTRequest) returns (ModelReply) {} + rpc update_model (TTRequest) returns (ModelReply) {} + rpc get_information (GenericRequest) returns (ModelReply) {} + rpc set_information (GenericRequest) returns (ModelReply) {} + rpc aggregate_client (TTRequest) returns (ModelReply) {} + rpc fit_all (TTRequest) returns (ModelReply) {} + rpc evaluate_all (TTRequest) returns (ModelReply) {} + rpc update_all (TTRequest) returns (ModelReply) {} //Server Functions - rpc aggregate_evaluate (TTRequest) returns (EvaluateReply) {} - rpc aggregate_fit (ModelRequest) returns (ModelReply) {} - rpc aggregate_sync_fit (GenericRequest) returns (ModelReply) {} - rpc server_evaluate (TTRequest) returns (EvaluateReply) {} - rpc store_model (ModelRequest) returns (GenericResponse) {} - rpc initialize_parameters (TTRequest) returns (ModelReply) {} - rpc end (GenericRequest) returns (GenericResponse) {} -} - -message GenericRequest{ - string msg = 1; -} - -message GenericResponse{ - int32 reply = 1; + rpc initialize_parameters (TTRequest) returns (ModelReply) {} + rpc aggregate_async_fit (AggregationRequest) returns (ModelReply) {} + rpc aggregate_sync_fit (AggregationRequest) returns (ModelReply) {} + rpc aggregate_evaluate (AggregationRequest) returns (ModelReply) {} + rpc set_strategy (GenericRequest) returns (GenericReply) {} + rpc get_strategy (GenericRequest) returns (GenericReply) {} + rpc center_fit (GenericRequest) returns (ModelReply) {} + rpc center_evaluate (GenericRequest) returns (ModelReply) {} + rpc end (GenericRequest) returns (GenericReply) {} } message TTRequest { - int32 idVehicle = 1; - bool trainFlag = 2; - string modelName = 3; - int32 epochs = 4; - int32 batch_size = 5; + int32 idEntity = 1; + string model = 2; + string dataset = 3; + string scenario = 4; + int32 seed = 5; + bool nonIID = 6; + int32 idModel = 7; + bool trainFlag = 8; + int32 epochs = 9; + int32 batch = 10; + int32 numClients = 11; + double percentDataset = 12; + string models = 13; + string msg = 14; } -message EvaluateReply { - double loss = 1; - double accuracy = 2; +message AggregationRequest { + int32 idEntity = 1; + string model = 2; + string dataset = 3; + string scenario = 4; + int32 seed = 5; + bool nonIID = 6; + int32 idModel = 7; + int32 numClients = 8; + string numExamples = 9; + string models = 10; + string strategy = 11; + string msg = 12; } -message ModelReply{ - int32 idVehicle = 1; - repeated bytes tensors = 2; - int32 num_examples = 3; +message GenericRequest { + int32 idEntity = 1; + string model = 2; + string dataset = 3; + string scenario = 4; + int32 seed = 5; + bool nonIID = 6; + int32 idModel = 7; + string msg = 8; } -message ModelRequest{ - int32 idVehicle = 1; - repeated bytes tensors = 2; - int32 number_of_vehicles = 3; - int32 num_examples = 4; +message GenericReply { + int32 idEntity = 1; + string model = 2; + string dataset = 3; + string scenario = 4; + int32 seed = 5; + bool nonIID = 6; + int32 idModel = 7; + int32 reply = 8; + string msg = 9; } + +message ModelReply { + int32 idEntity = 1; + string model = 2; + string dataset = 3; + string scenario = 4; + int32 seed = 5; + bool nonIID = 6; + int32 idModel = 7; + int32 numExamples = 8; + double entropy = 9; + double loss = 10; + double accuracy = 11; + string msg = 12; +} \ No newline at end of file diff --git a/simulations/multi_model/MultiModelScenario.ned b/simulations/multi_model/MultiModelScenario.ned new file mode 100644 index 0000000..c2a77ac --- /dev/null +++ b/simulations/multi_model/MultiModelScenario.ned @@ -0,0 +1,9 @@ +import org.car2x.veins.nodes.RSU; +import org.car2x.veins.nodes.Scenario; + +network MultiModelScenario extends Scenario{ + submodules: + rsu[5]: RSU { + @display("p=200,140;i=veins/sign/yellowdiamond;is=vs"); + } +} diff --git a/simulations/veins/antenna.xml b/simulations/multi_model/antenna.xml similarity index 100% rename from simulations/veins/antenna.xml rename to simulations/multi_model/antenna.xml diff --git a/simulations/multi_model/config.xml b/simulations/multi_model/config.xml new file mode 100644 index 0000000..a059adb --- /dev/null +++ b/simulations/multi_model/config.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/simulations/multi_model/omnetpp.ini b/simulations/multi_model/omnetpp.ini new file mode 100644 index 0000000..39b5305 --- /dev/null +++ b/simulations/multi_model/omnetpp.ini @@ -0,0 +1,140 @@ +[General] +cmdenv-express-mode = true +cmdenv-autoflush = true +cmdenv-status-frequency = 1s +**.cmdenv-log-level = info + +image-path = ../../images + +network = MultiModelScenario + +########################################################## +# Simulation parameters # +########################################################## +debug-on-errors = true +print-undisposed = true + +sim-time-limit = 200s + +**.scalar-recording = true +**.vector-recording = true + +*.playgroundSizeX = 1000m +*.playgroundSizeY = 1000m +*.playgroundSizeZ = 50m + +########################################################## +# Annotation parameters # +########################################################## +*.annotations.draw = true + +########################################################## +# TraCIScenarioManager parameters # +########################################################## +*.manager.updateInterval = 1s +*.manager.host = "localhost" +*.manager.port = 9999 +*.manager.autoShutdown = true +*.manager.launchConfig = xmldoc("simple_100_clients.launchd.xml") +*.manager.allowPedestrians = false +########################################################## +# RSU SETTINGS # +# # +# # +########################################################## +*.rsu[0].mobility.x = 0 +*.rsu[0].mobility.y = 0 +*.rsu[0].mobility.z = 3 + +*.rsu[1].mobility.x = 900 +*.rsu[1].mobility.y = 0 +*.rsu[1].mobility.z = 3 + +*.rsu[2].mobility.x = 450 +*.rsu[2].mobility.y = 450 +*.rsu[2].mobility.z = 3 + +*.rsu[3].mobility.x = 0 +*.rsu[3].mobility.y = 900 +*.rsu[3].mobility.z = 3 + +*.rsu[4].mobility.x = 900 +*.rsu[4].mobility.y = 900 +*.rsu[4].mobility.z = 3 + +*.rsu[*].applType = "FedRANDOMRSU11p" +*.rsu[*].appl.headerLength = 80 bit +*.rsu[*].appl.sendBeacons = false +*.rsu[*].appl.dataOnSch = false +*.rsu[*].appl.beaconUserPriority = 7 +*.rsu[*].appl.dataUserPriority = 5 +*.rsu[*].nic.phy80211p.antennaOffsetZ = 0 m + +*.rsu[*].appl.model = "GENERIC_MODEL GENERIC_MODEL GENERIC_MODEL" +*.rsu[*].appl.dataset = "MNIST FMNIST CIFAR10" +*.rsu[*].appl.scenario = "GRID" +*.rsu[*].appl.seed = 42 +*.rsu[*].appl.nonIID = true +*.rsu[*].appl.trainFlag = true +*.rsu[*].appl.epochs = 1 +*.rsu[*].appl.batch = 1024 +*.rsu[*].appl.numClients = 100 +*.rsu[*].appl.strategy = "FED_AVG" +*.rsu[*].appl.computationRequirement = "700 900 1600" +*.rsu[*].appl.roundDeadline = 1.0 +*.rsu[*].appl.K = 1.0 +*.rsu[*].appl.address = "127.0.0.1:5000" + +########################################################## +# 11p specific parameters # +# # +# NIC-Settings # +########################################################## +*.connectionManager.sendDirect = true +*.connectionManager.maxInterfDist = 2600m +*.connectionManager.drawMaxIntfDist = false + +*.**.nic.mac1609_4.useServiceChannel = false + +#300 +*.node[*].nic.mac1609_4.txPower = 15mW +*.node[*].nic.mac1609_4.bitrate = 6Mbps +*.node[*].nic.phy80211p.minPowerLevel = -86dBm + +#510 +*.rsu[*].nic.mac1609_4.txPower = 40mW +*.rsu[*].nic.mac1609_4.bitrate = 6Mbps +*.rsu[*].nic.phy80211p.minPowerLevel = -86dBm + +*.**.nic.phy80211p.useNoiseFloor = true +*.**.nic.phy80211p.noiseFloor = -98dBm + +*.**.nic.phy80211p.decider = xmldoc("config.xml") +*.**.nic.phy80211p.analogueModels = xmldoc("config.xml") +*.**.nic.phy80211p.usePropagationDelay = true + +*.**.nic.phy80211p.antenna = xmldoc("antenna.xml", "/root/Antenna[@id='monopole']") +*.node[*].nic.phy80211p.antennaOffsetY = 0 m +*.node[*].nic.phy80211p.antennaOffsetZ = 1.895 m + +########################################################## +# App Layer # +########################################################## +*.node[*].applType = "MLApp" +*.node[*].appl.headerLength = 80 bit +*.node[*].appl.sendBeacons = true +*.node[*].appl.dataOnSch = false +*.node[*].appl.beaconInterval = 0.1s + +*.node[*].appl.epochs = 5 +*.node[*].appl.batch = 32 +*.node[*].appl.computationCapability = uniform(0.5GHz, 4GHz) +*.node[*].appl.address = "127.0.0.1:5000" +*.node[*].appl.speedZero = false + +########################################################## +# Mobility # +########################################################## +*.node[*].veinsmobility.x = 0 +*.node[*].veinsmobility.y = 0 +*.node[*].veinsmobility.z = 0 \ No newline at end of file diff --git a/simulations/multi_model/simple_100_clients.fcd.xml b/simulations/multi_model/simple_100_clients.fcd.xml new file mode 100644 index 0000000..e0785e5 --- /dev/null +++ b/simulations/multi_model/simple_100_clients.fcd.xml @@ -0,0 +1,7632 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/simulations/multi_model/simple_100_clients.launchd.xml b/simulations/multi_model/simple_100_clients.launchd.xml new file mode 100644 index 0000000..addcd9a --- /dev/null +++ b/simulations/multi_model/simple_100_clients.launchd.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/simulations/multi_model/simple_100_clients.rou.xml b/simulations/multi_model/simple_100_clients.rou.xml new file mode 100644 index 0000000..26f8f92 --- /dev/null +++ b/simulations/multi_model/simple_100_clients.rou.xml @@ -0,0 +1,403 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/simulations/multi_model/simple_100_clients.sumo.cfg b/simulations/multi_model/simple_100_clients.sumo.cfg new file mode 100644 index 0000000..a4041c3 --- /dev/null +++ b/simulations/multi_model/simple_100_clients.sumo.cfg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/simulations/multi_model/simple_200_clients.fcd.xml b/simulations/multi_model/simple_200_clients.fcd.xml new file mode 100644 index 0000000..2eac75f --- /dev/null +++ b/simulations/multi_model/simple_200_clients.fcd.xml @@ -0,0 +1,16769 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/simulations/multi_model/simple_200_clients.launchd.xml b/simulations/multi_model/simple_200_clients.launchd.xml new file mode 100644 index 0000000..0353fca --- /dev/null +++ b/simulations/multi_model/simple_200_clients.launchd.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/simulations/multi_model/simple_200_clients.rou.xml b/simulations/multi_model/simple_200_clients.rou.xml new file mode 100644 index 0000000..5c5d42f --- /dev/null +++ b/simulations/multi_model/simple_200_clients.rou.xml @@ -0,0 +1,803 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/simulations/multi_model/simple_200_clients.sumo.cfg b/simulations/multi_model/simple_200_clients.sumo.cfg new file mode 100644 index 0000000..2597414 --- /dev/null +++ b/simulations/multi_model/simple_200_clients.sumo.cfg @@ -0,0 +1,12 @@ + + + + + + + + + \ No newline at end of file diff --git a/simulations/multi_model/simple_50_clients.fcd.xml b/simulations/multi_model/simple_50_clients.fcd.xml new file mode 100644 index 0000000..7ef1fde --- /dev/null +++ b/simulations/multi_model/simple_50_clients.fcd.xml @@ -0,0 +1,4345 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/simulations/multi_model/simple_50_clients.launchd.xml b/simulations/multi_model/simple_50_clients.launchd.xml new file mode 100644 index 0000000..f78a917 --- /dev/null +++ b/simulations/multi_model/simple_50_clients.launchd.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/simulations/multi_model/simple_50_clients.rou.xml b/simulations/multi_model/simple_50_clients.rou.xml new file mode 100644 index 0000000..97581ca --- /dev/null +++ b/simulations/multi_model/simple_50_clients.rou.xml @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/simulations/multi_model/simple_50_clients.sumo.cfg b/simulations/multi_model/simple_50_clients.sumo.cfg new file mode 100644 index 0000000..c4757d1 --- /dev/null +++ b/simulations/multi_model/simple_50_clients.sumo.cfg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/simulations/multi_model/simple_network.net.xml b/simulations/multi_model/simple_network.net.xml new file mode 100644 index 0000000..fe4618e --- /dev/null +++ b/simulations/multi_model/simple_network.net.xml @@ -0,0 +1,7900 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/simulations/simple_example/SimpleScenario.ned b/simulations/simple_example/SimpleScenario.ned new file mode 100644 index 0000000..47a6be8 --- /dev/null +++ b/simulations/simple_example/SimpleScenario.ned @@ -0,0 +1,9 @@ +import org.car2x.veins.nodes.RSU; +import org.car2x.veins.nodes.Scenario; + +network SimpleScenario extends Scenario{ + submodules: + rsu[1]: RSU { + @display("p=150,140;i=veins/sign/yellowdiamond;is=vs"); + } +} diff --git a/simulations/simple_example/antenna.xml b/simulations/simple_example/antenna.xml new file mode 100644 index 0000000..cbced1d --- /dev/null +++ b/simulations/simple_example/antenna.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/simulations/simple_example/config.xml b/simulations/simple_example/config.xml new file mode 100644 index 0000000..a059adb --- /dev/null +++ b/simulations/simple_example/config.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/simulations/veins/omnetpp.ini b/simulations/simple_example/omnetpp.ini similarity index 70% rename from simulations/veins/omnetpp.ini rename to simulations/simple_example/omnetpp.ini index 1db87d5..325647a 100644 --- a/simulations/veins/omnetpp.ini +++ b/simulations/simple_example/omnetpp.ini @@ -6,7 +6,7 @@ cmdenv-status-frequency = 1s image-path = ../../images -network = SimulationScenario +network = SimpleScenario ########################################################## # Simulation parameters # @@ -14,26 +14,20 @@ network = SimulationScenario debug-on-errors = true print-undisposed = true -sim-time-limit = 65s +sim-time-limit = 200s **.scalar-recording = true **.vector-recording = true -*.playgroundSizeX = 2500m -*.playgroundSizeY = 2500m +*.playgroundSizeX = 1000m +*.playgroundSizeY = 1000m *.playgroundSizeZ = 50m - ########################################################## # Annotation parameters # ########################################################## *.annotations.draw = true -########################################################## -# Obstacle parameters # -########################################################## -*.obstacles.obstacles = xmldoc("config.xml", "//AnalogueModel[@type='SimpleObstacleShadowing']/obstacles") - ########################################################## # TraCIScenarioManager parameters # ########################################################## @@ -41,28 +35,42 @@ sim-time-limit = 65s *.manager.host = "localhost" *.manager.port = 9999 *.manager.autoShutdown = true -*.manager.launchConfig = xmldoc("erlangen.launchd.xml") +*.manager.launchConfig = xmldoc("simple_2_clients.launchd.xml") +*.manager.allowPedestrians = false ########################################################## # RSU SETTINGS # # # # # ########################################################## -*.rsu[0].mobility.x = 2000 -*.rsu[0].mobility.y = 2000 +*.rsu[0].mobility.x = 500 +*.rsu[0].mobility.y = 500 *.rsu[0].mobility.z = 3 -*.rsu[*].applType = "MLRSU11p" -*.rsu[*].appl.cloudModuleName = "cloud[0]" -*.rsu[*].appl.modelName = "./results/MNIST/model_" -*.rsu[*].appl.epochs = 1 -*.rsu[*].appl.batchSize = 32 +*.rsu[*].applType = "FedLimRSU11p" *.rsu[*].appl.headerLength = 80 bit *.rsu[*].appl.sendBeacons = false *.rsu[*].appl.dataOnSch = false *.rsu[*].appl.beaconUserPriority = 7 *.rsu[*].appl.dataUserPriority = 5 *.rsu[*].nic.phy80211p.antennaOffsetZ = 0 m + + +*.rsu[*].appl.model = "GENERIC_MODEL" +*.rsu[*].appl.dataset = "MNIST" +*.rsu[*].appl.scenario = "GRID" +*.rsu[*].appl.seed = 42 +*.rsu[*].appl.nonIID = false +*.rsu[*].appl.trainFlag = true +*.rsu[*].appl.epochs = 1 +*.rsu[*].appl.batch = 1024 +*.rsu[*].appl.numClients = 2 +*.rsu[*].appl.strategy = "FED_AVG" +*.rsu[*].appl.computationRequirement = "900" +*.rsu[*].appl.roundDeadline = 1.0 +*.rsu[*].appl.K = 1.0 +*.rsu[*].appl.address = "127.0.0.1:5000" + ########################################################## # 11p specific parameters # # # @@ -74,9 +82,14 @@ sim-time-limit = 65s *.**.nic.mac1609_4.useServiceChannel = false -*.**.nic.mac1609_4.txPower = 20mW -*.**.nic.mac1609_4.bitrate = 6Mbps -*.**.nic.phy80211p.minPowerLevel = -110dBm +#300 +*.node[*].nic.mac1609_4.txPower = 15mW +*.node[*].nic.mac1609_4.bitrate = 6Mbps +*.node[*].nic.phy80211p.minPowerLevel = -86dBm + +*.rsu[*].nic.mac1609_4.txPower = 20mW +*.rsu[*].nic.mac1609_4.bitrate = 6Mbps +*.rsu[*].nic.phy80211p.minPowerLevel = -110dBm *.**.nic.phy80211p.useNoiseFloor = true *.**.nic.phy80211p.noiseFloor = -98dBm @@ -94,28 +107,18 @@ sim-time-limit = 65s ########################################################## *.node[*].applType = "MLApp" *.node[*].appl.headerLength = 80 bit -*.node[*].appl.sendBeacons = false +*.node[*].appl.sendBeacons = true *.node[*].appl.dataOnSch = false -*.node[*].appl.beaconInterval = 1s -*.node[*].appl.modelName = "./results/MNIST/model_" -*.node[*].appl.epochs = 1 -*.node[*].appl.batchSize = 32 -*.node[*].appl.trainInterval = 5.0 +*.node[*].appl.beaconInterval = 0.1s +*.node[*].appl.epochs = 5 +*.node[*].appl.batch = 32 +*.node[*].appl.computationCapability = uniform(0.5GHz, 4GHz) +*.node[*].appl.address = "127.0.0.1:5000" +*.node[*].appl.speedZero = true ########################################################## # Mobility # ########################################################## *.node[*].veinsmobility.x = 0 *.node[*].veinsmobility.y = 0 -*.node[*].veinsmobility.z = 0 - -[Config Default] - -[Config WithBeaconing] -*.rsu[*].appl.sendBeacons = true -*.node[*].appl.sendBeacons = true - -[Config WithChannelSwitching] -*.**.nic.mac1609_4.useServiceChannel = true -*.node[*].appl.dataOnSch = true -*.rsu[*].appl.dataOnSch = true +*.node[*].veinsmobility.z = 0 \ No newline at end of file diff --git a/simulations/simple_example/simple_10_clients.launchd.xml b/simulations/simple_example/simple_10_clients.launchd.xml new file mode 100644 index 0000000..e4dc36b --- /dev/null +++ b/simulations/simple_example/simple_10_clients.launchd.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/simulations/simple_example/simple_10_clients.rou.xml b/simulations/simple_example/simple_10_clients.rou.xml new file mode 100644 index 0000000..3184ed8 --- /dev/null +++ b/simulations/simple_example/simple_10_clients.rou.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/simulations/simple_example/simple_10_clients.sumo.cfg b/simulations/simple_example/simple_10_clients.sumo.cfg new file mode 100644 index 0000000..c890b55 --- /dev/null +++ b/simulations/simple_example/simple_10_clients.sumo.cfg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/simulations/simple_example/simple_2_clients.launchd.xml b/simulations/simple_example/simple_2_clients.launchd.xml new file mode 100644 index 0000000..6b667da --- /dev/null +++ b/simulations/simple_example/simple_2_clients.launchd.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/simulations/simple_example/simple_2_clients.rou.xml b/simulations/simple_example/simple_2_clients.rou.xml new file mode 100644 index 0000000..2d63352 --- /dev/null +++ b/simulations/simple_example/simple_2_clients.rou.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/simulations/simple_example/simple_2_clients.sumo.cfg b/simulations/simple_example/simple_2_clients.sumo.cfg new file mode 100644 index 0000000..f4e70e8 --- /dev/null +++ b/simulations/simple_example/simple_2_clients.sumo.cfg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/simulations/simple_example/simple_network.net.xml b/simulations/simple_example/simple_network.net.xml new file mode 100644 index 0000000..fe4618e --- /dev/null +++ b/simulations/simple_example/simple_network.net.xml @@ -0,0 +1,7900 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/simulations/veins/SimulationScenario.ned b/simulations/veins/SimulationScenario.ned deleted file mode 100644 index 52a6b22..0000000 --- a/simulations/veins/SimulationScenario.ned +++ /dev/null @@ -1,47 +0,0 @@ -import org.car2x.veins.base.connectionManager.ConnectionManager; -import org.car2x.veins.base.modules.BaseWorldUtility; -import org.car2x.veins.modules.mobility.traci.TraCIScenarioManager*; -import org.car2x.veins.modules.obstacle.ObstacleControl; -import org.car2x.veins.modules.world.annotations.AnnotationManager; -import org.car2x.veins.nodes.Car; -import org.car2x.veins.nodes.RSU; -import org.car2x.veins.visualizer.roads.RoadsCanvasVisualizer; - -network SimulationScenario{ - parameters: - double playgroundSizeX @unit(m); // x size of the area the nodes are in (in meters) - double playgroundSizeY @unit(m); // y size of the area the nodes are in (in meters) - double playgroundSizeZ @unit(m); // z size of the area the nodes are in (in meters) - @display("bgb=$playgroundSizeX,$playgroundSizeY"); - submodules: - obstacles: ObstacleControl { - @display("p=240,50"); - } - annotations: AnnotationManager { - @display("p=260,50"); - } - connectionManager: ConnectionManager { - parameters: - @display("p=150,0;i=abstract/multicast"); - } - world: BaseWorldUtility { - parameters: - playgroundSizeX = veins_eval_by_version(veins_omnetpp_buildnum(), "playgroundSizeX", 1525, "parent.playgroundSizeX"); - playgroundSizeY = veins_eval_by_version(veins_omnetpp_buildnum(), "playgroundSizeY", 1525, "parent.playgroundSizeY"); - playgroundSizeZ = veins_eval_by_version(veins_omnetpp_buildnum(), "playgroundSizeZ", 1525, "parent.playgroundSizeZ"); - @display("p=30,0;i=misc/globe"); - } - manager: TraCIScenarioManagerLaunchd { - parameters: - @display("p=512,128"); - } - roadsCanvasVisualizer: RoadsCanvasVisualizer { - @display("p=300,0"); - } - node[0]: Car { - } - rsu[1]: RSU { - @display("p=150,140;i=veins/sign/yellowdiamond;is=vs"); - } - connections allowunconnected: -} diff --git a/simulations/veins/config.xml b/simulations/veins/config.xml deleted file mode 100644 index 03ac7b2..0000000 --- a/simulations/veins/config.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/simulations/veins/erlangen.launchd.xml b/simulations/veins/erlangen.launchd.xml deleted file mode 100644 index 7b7368b..0000000 --- a/simulations/veins/erlangen.launchd.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - diff --git a/simulations/veins/erlangen.net.xml b/simulations/veins/erlangen.net.xml deleted file mode 100644 index 7e2b0ee..0000000 --- a/simulations/veins/erlangen.net.xml +++ /dev/null @@ -1,10960 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/simulations/veins/erlangen.poly.xml b/simulations/veins/erlangen.poly.xml deleted file mode 100644 index bb8372d..0000000 --- a/simulations/veins/erlangen.poly.xml +++ /dev/null @@ -1,825 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/simulations/veins/erlangen.rou.xml b/simulations/veins/erlangen.rou.xml deleted file mode 100644 index 4105668..0000000 --- a/simulations/veins/erlangen.rou.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - diff --git a/simulations/veins/erlangen.sumo.cfg b/simulations/veins/erlangen.sumo.cfg deleted file mode 100644 index a8f3021..0000000 --- a/simulations/veins/erlangen.sumo.cfg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/simulations/veins/run b/simulations/veins/run deleted file mode 100755 index 89f67cf..0000000 --- a/simulations/veins/run +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -cd `dirname $0` -../src/flexe -n .:../src $* -# for shared lib, use: opp_run -l ../src/flexe -n .:../src $* diff --git a/src/flexe/application/FedLimRSU11p.cc b/src/flexe/application/FedLimRSU11p.cc new file mode 100644 index 0000000..a4a1760 --- /dev/null +++ b/src/flexe/application/FedLimRSU11p.cc @@ -0,0 +1,213 @@ +#include "FedLimRSU11p.h" + +using namespace veins; +using namespace flexe; + +Define_Module(FedLimRSU11p); + +FedLimRSU11p::~FedLimRSU11p() { + cancelAndDelete(clientSelectionEvt); + cancelAndDelete(sendGlobalModelEvt); + cancelAndDelete(aggregateModelsEvt); + client->end(self, model, dataset, scenario, seed, nonIID, idModel, ""); + delete client; +} + + +void FedLimRSU11p::initialize(int stage){ + DemoBaseApplLayer::initialize(stage); + if(stage == 0){ + self = getParentModule()->getIndex(); + //NED VARs + model = par("model").stringValue(); + dataset = par("dataset").stringValue(); + scenario = par("scenario").stringValue(); + seed = par("seed").intValue(); + nonIID = par("nonIID").boolValue(); + idModel = self; + trainFlag = par("trainFlag").boolValue(); + epochs = par("epochs").intValue(); + batch = par("batch").intValue(); + numClients = par("numClients").intValue(); + percentDataset = par("percentDataset").doubleValue(); + strategy = par("strategy").stringValue(); + computationRequirement = std::stod(par("computationRequirement").stringValue()); + roundDeadline = par("roundDeadline").doubleValue(); + address = par("address").stringValue(); + K = par("K").doubleValue(); + //NED VARs + + //METRICS + selectClientsMetric = registerSignal("selectClients"); + receivedClientsMetric = registerSignal("receivedClients"); + connectedClientsMetric = registerSignal("connectedClients"); + roundMetric = registerSignal("round"); + lossTrainMetric = registerSignal("lossTrain"); + accuracyTrainMetric = registerSignal("accuracyTrain"); + lossEvaluateMetric = registerSignal("lossEvaluate"); + accuracyEvaluateMetric = registerSignal("accuracyEvaluate"); + //METRICS + }else if(stage == 1){ + //First Training + chArgs.SetMaxReceiveMessageSize(-1); + chArgs.SetMaxSendMessageSize(-1); + client = new FlexeClient(grpc::CreateCustomChannel(address, grpc::InsecureChannelCredentials(), chArgs)); + std::tie(numExamples, entropy, lossModel, accuracyModel, outputMSG) = client->initialize_parameters(self, model, dataset, scenario, seed, nonIID, idModel, trainFlag, epochs, batch, numClients, percentDataset, "NULL", "NULL"); + emit(lossTrainMetric, (double)lossModel); + emit(accuracyTrainMetric, (double)accuracyModel); + emit(lossEvaluateMetric, (double)lossModel); + emit(accuracyEvaluateMetric, (double)accuracyModel); + //First Training + + scheduleAt(simTime().dbl()+0.1, clientSelectionEvt); + } +} + +void FedLimRSU11p::onBSM(DemoSafetyMessage* bsm){ + switch(bsm->getKind()){ + case SEND_BEACON_EVT:{ + std::vector vectorName = client->splitSTR(bsm->getName(), ';'); + std::cout << self << " (RSU|onBSM) Veh-ID: " << vectorName[1] << " SUMO-ID: " << vectorName[0] << " MSG: " << bsm->getName() << endl; + std::cout << self << " (RSU|onBSM) Veh-ID: " << vectorName[1] << " Speed: " << bsm->getSpeed() << endl; + connectedClientsMap.insert(std::make_pair(std::stoi(vectorName[1]), vectorName[0])); + std::cout << "\n" << endl; + break; + } + default:{ + std::cout << self << " (RSU|onBSM) The message type was not detected. " << bsm->getKind() << endl; + std::cout << "\n" << endl; + break; + } + } +} + +void FedLimRSU11p::onWSM(BaseFrame1609_4* wsm){ + switch(wsm->getKind()){ + case SEND_GLOBAL_MODEL_EVT:{ + break; + } + case SEND_LOCAL_MODEL_EVT:{ + FlexeMessage* flexe_msg = check_and_cast(wsm); + std::cout << self << " (RSU|onWSM) SEND_LOCAL_MODEL_EVT " << simTime().dbl() << " Destination: " << flexe_msg->getIdModel() << endl; + if(idModel == flexe_msg->getIdModel()){ + localModelID = flexe_msg->getSenderID(); + if(!(std::find(receivedModelsVector.begin(), receivedModelsVector.end(), localModelID) != receivedModelsVector.end())){ + receivedModelsVector.push_back(localModelID); + receivedNumberExamplesVector.push_back(flexe_msg->getNumExamples()); + } + } + break; + } + default:{ + std::cout << self << " (RSU|onWSM) The message type was not detected. " << wsm->getKind() << endl; + break; + } + } +} + +void FedLimRSU11p::onWSA(DemoServiceAdvertisment* wsa){ +} + +void FedLimRSU11p::handleSelfMsg(cMessage* msg){ + switch(msg->getKind()){ + case AGGREGATE_MODELS_EVT:{ + std::cout << self << " (RSU|handleSelfMsg) AGGREGATE_MODELS_EVT " << simTime().dbl() << endl; + if(receivedModelsVector.size() != 0){ + clientsModels = ""; + numExamplesModels = ""; + for(std::vector::iterator it = receivedModelsVector.begin(); it != receivedModelsVector.end(); it++){ + clientsModels = clientsModels + ";" + std::to_string(*it); + emit(receivedClientsMetric, (int)*it); + } + for(std::vector::iterator it = receivedNumberExamplesVector.begin(); it != receivedNumberExamplesVector.end(); it++){ + numExamplesModels = numExamplesModels + ";" + std::to_string(*it); + } + emit(roundMetric, (double)roundDeadline); + + std::tie(numExamples, entropy, lossModel, accuracyModel, outputMSG) = client->aggregate_sync_fit(self, model, dataset, scenario, seed, nonIID, idModel, numClients, numExamplesModels, clientsModels, strategy, "NULL"); + emit(lossTrainMetric, (double)lossModel); + emit(accuracyTrainMetric, (double)accuracyModel); + + std::tie(numExamples, entropy, lossModel, accuracyModel, outputMSG) = client->aggregate_evaluate(self, model, dataset, scenario, seed, nonIID, idModel, numClients, numExamplesModels, clientsModels, strategy, "NULL"); + emit(lossEvaluateMetric, (double)lossModel); + emit(accuracyEvaluateMetric, (double)accuracyModel); + } + //CLEAR DATA STRUCTURES + receivedModelsVector.clear(); + receivedNumberExamplesVector.clear(); + //CLEAR DATA STRUCTURES + std::cout << "\n" << endl; + if(!clientSelectionEvt->isScheduled()){ + scheduleAt(simTime().dbl(), clientSelectionEvt); + } + break; + } + case CLIENT_SELECTION_EVT:{ + std::cout << self << " (RSU|handleSelfMsg) CLIENT_SELECTION_EVT " << simTime().dbl() << endl; + selectedClients = ""; + if(!connectedClientsMap.empty()){ + std::cout << self << " (RSU|handleSelfMsg) connectedClientsMap NOT EMPTY! " << endl; + //CLIENT SELECTION + emit(connectedClientsMetric, (int)connectedClientsMap.size()); + numSelectedClients = std::ceil(connectedClientsMap.size()*K); + + std::cout << self << " (RSU|handleSelfMsg) N. of Connected Clients: " << connectedClientsMap.size() << endl; + std::cout << self << " (RSU|handleSelfMsg) N. of Selected Clients: " << numSelectedClients << endl; + + for(std::map::iterator it = connectedClientsMap.begin(); it != connectedClientsMap.end(); ++it) { + connectedClientsVector.push_back(it->first); + } + + std::srand(time(nullptr)); + std::random_shuffle(std::begin(connectedClientsVector), std::end(connectedClientsVector)); + counter = 0; + for(std::vector::iterator it = connectedClientsVector.begin(); it != connectedClientsVector.end(); it++){ + if(counter >= numSelectedClients){ + break; + } + std::cout << self << " (RSU|handleSelfMsg) Select Model from Vehicle-ID: " << *it << endl; + selectedClients = selectedClients + ";" + std::to_string(*it); + emit(selectClientsMetric, *it); + counter++; + } + //CLIENT SELECTION + + //CLEAR DATA STRUCTURES + connectedClientsMap.clear(); + connectedClientsVector.clear(); + //CLEAR DATA STRUCTURES + + //SEND GLOBAL MODEL + FlexeMessage* flexe_msg = new FlexeMessage(); + DemoBaseApplLayer::populateWSM(flexe_msg); + flexe_msg->setKind(SEND_GLOBAL_MODEL_EVT); + flexe_msg->setSenderID(self); + flexe_msg->setModel(model.c_str()); + flexe_msg->setDataset(dataset.c_str()); + flexe_msg->setScenario(scenario.c_str()); + flexe_msg->setSeed(seed); + flexe_msg->setNonIID(nonIID); + flexe_msg->setIdModel(idModel); + flexe_msg->setNumClients(numClients); + flexe_msg->setPercentDataset(percentDataset); + flexe_msg->setModelVersion(-1); + flexe_msg->setClientSelection(selectedClients.c_str()); + flexe_msg->setComputationRequirement(computationRequirement); + DemoBaseApplLayer::sendDown(flexe_msg); + //SEND GLOBAL MODEL + + scheduleAt(simTime().dbl() + roundDeadline, aggregateModelsEvt); + }else{ + if(!clientSelectionEvt->isScheduled()){ + scheduleAt(simTime().dbl() + 0.1, clientSelectionEvt); + } + } + std::cout << "\n" << endl; + break; + } + default: { + std::cout << self << " (RSU|handleSelfMsg) - The message type was not detected. " << msg->getKind() << endl; + break; + } + } +} diff --git a/src/flexe/application/FedLimRSU11p.h b/src/flexe/application/FedLimRSU11p.h new file mode 100644 index 0000000..2fd64e6 --- /dev/null +++ b/src/flexe/application/FedLimRSU11p.h @@ -0,0 +1,107 @@ +/**@title + * Federated Averaging (FedAVG) + * + * @brief + * + * + * @author Wellington Lobato (wellington@lrc.ic.unicamp.br) + * + */ +#pragma once +#include +#include +#include +#include + +#include "veins/modules/application/ieee80211p/DemoBaseApplLayer.h" +#include "../messages/FlexeMessage_m.h" +#include "../application/FlexeClient.h" + +using namespace omnetpp; +using namespace veins; + +namespace flexe { +class FedLimRSU11p : public DemoBaseApplLayer { +public: + ~FedLimRSU11p(); + void initialize(int stage) override; + +protected: + //MSG TYPE + enum selfMessageKinds { + AGGREGATE_MODELS_EVT = 16, + CLIENT_SELECTION_EVT = 17, + SEND_GLOBAL_MODEL_EVT = 18, + SEND_LOCAL_MODEL_EVT = 19, + }; + void onBSM(DemoSafetyMessage* bsm) override; + void onWSM(BaseFrame1609_4* wsm) override; + void onWSA(DemoServiceAdvertisment* wsa) override; + + void handleSelfMsg(cMessage* msg) override; + + //VAR + int self; + //NED VARs + std::string model; + std::string dataset; + std::string scenario; + int seed; + bool nonIID; + int idModel; + bool trainFlag; + int epochs; + int batch; + int numClients; + double percentDataset; + std::string strategy; + double computationRequirement; + double roundDeadline; + double K; + //NED VARs + + int numSelectedClients; + int counter; + int localModelID; + double lossModel; + double accuracyModel; + int numExamples; + double entropy; + std::string outputMSG; + + std::string clientsModels; + std::string numExamplesModels; + std::string selectedClients; + + std::map connectedClientsMap; //(Veins-ID, SUMO-ID) + std::vector connectedClientsVector; + std::vector receivedModelsVector; + std::vector receivedNumberExamplesVector; + + ModelReply modelOutput; + GenericReply genericOutput; + + std::string address; + grpc::ChannelArguments chArgs; + FlexeClient* client = NULL; + + //TRACI + TraCIScenarioManager* manager; + TraCICommandInterface* traci; + + //MSG + cMessage* aggregateModelsEvt = new cMessage("Aggregate received models event", AGGREGATE_MODELS_EVT); + cMessage* clientSelectionEvt = new cMessage("Client selection mechanism event", CLIENT_SELECTION_EVT); + cMessage* sendGlobalModelEvt = new cMessage("Send Aggregated Model Event", SEND_GLOBAL_MODEL_EVT); + + //METRICS + simsignal_t selectClientsMetric; + simsignal_t receivedClientsMetric; + simsignal_t connectedClientsMetric; + simsignal_t roundMetric; + simsignal_t lossTrainMetric; + simsignal_t accuracyTrainMetric; + simsignal_t lossEvaluateMetric; + simsignal_t accuracyEvaluateMetric; +}; +} diff --git a/src/flexe/application/FedLimRSU11p.ned b/src/flexe/application/FedLimRSU11p.ned new file mode 100644 index 0000000..84eebe1 --- /dev/null +++ b/src/flexe/application/FedLimRSU11p.ned @@ -0,0 +1,52 @@ +package flexe.application; +import org.car2x.veins.modules.application.ieee80211p.DemoBaseApplLayer; + +simple FedLimRSU11p extends DemoBaseApplLayer +{ + @class(flexe::FedLimRSU11p); + //General Parameters + string model = default("NONE"); + string dataset = default("MNIST"); + string scenario = default("GRID"); + int seed = default(42); + bool nonIID = default(false); + bool trainFlag = default(true); + int epochs = default(1); + int batch = default(1024); + int numClients = default(1); + double percentDataset = default(100.0); + string strategy = default("FED_AVG"); + string computationRequirement = default("900"); //in cycles/bit + + //GRPC Address + string address = default("127.0.0.1:5000"); + + //SemiSync Parameters + double roundDeadline = default(60.0); + double K = default(1.0); //Selection Fraction of Clients (1.0 -> 100%, 0.5 -> 50%, 0.25 -> 25%) + + @signal[connectedClients](type="long"); + @statistic[connectedClientsCount](title="connectedClients count"; source="connectedClients"; record=vector,stats; interpolationmode=none); + + @signal[selectClients](type="long"); + @statistic[selectClientsCount](title="selectClients count"; source="selectClients"; record=vector,stats; interpolationmode=none); + + @signal[receivedClients](type="long"); + @statistic[receivedClientsClientsCount](title="receivedClients count"; source="receivedClients"; record=vector,stats; interpolationmode=none); + + @signal[round](type="double"); + @statistic[roundCount](title="round count"; source="round"; record=vector,stats; interpolationmode=none); + + @signal[lossTrain](type="double"); + @statistic[lossTrainCount](title="lossTrain count"; source="lossTrain"; record=vector,stats; interpolationmode=none); + + @signal[accuracyTrain](type="double"); + @statistic[accuracyTrainCount](title="accuracyTrain count"; source="accuracyTrain"; record=vector,stats; interpolationmode=none); + + @signal[lossEvaluate](type="double"); + @statistic[lossEvaluateCount](title="lossEvaluate count"; source="lossEvaluate"; record=vector,stats; interpolationmode=none); + + @signal[accuracyEvaluate](type="double"); + @statistic[accuracyEvaluateCount](title="accuracyEvaluate count"; source="accuracyEvaluate"; record=vector,stats; interpolationmode=none); + +} \ No newline at end of file diff --git a/src/flexe/application/FedRANDOMRSU11p.cc b/src/flexe/application/FedRANDOMRSU11p.cc new file mode 100644 index 0000000..aa11eaf --- /dev/null +++ b/src/flexe/application/FedRANDOMRSU11p.cc @@ -0,0 +1,270 @@ +#include "FedRANDOMRSU11p.h" + +using namespace veins; +using namespace flexe; + +Define_Module(FedRANDOMRSU11p); + +FedRANDOMRSU11p::~FedRANDOMRSU11p() { + cancelAndDelete(clientSelectionEvt); + cancelAndDelete(sendGlobalModelEvt); + cancelAndDelete(aggregateModelsEvt); + for(std::vector::iterator it = datasetVector.begin(); it != datasetVector.end(); it++){ + dataset = *it; + model = datasetModelMap[dataset]; + client->end(self, model, dataset, scenario, seed, nonIID, idModel, ""); + } + + delete client; +} + + +void FedRANDOMRSU11p::initialize(int stage){ + DemoBaseApplLayer::initialize(stage); + if(stage == 0){ + self = getParentModule()->getIndex(); + //NED VARs + modelVector = cStringTokenizer(par("model")).asVector(); + datasetVector = cStringTokenizer(par("dataset")).asVector(); + scenario = par("scenario").stringValue(); + seed = par("seed").intValue(); + nonIID = par("nonIID").boolValue(); + idModel = self; + trainFlag = par("trainFlag").boolValue(); + epochs = par("epochs").intValue(); + batch = par("batch").intValue(); + numClients = par("numClients").intValue(); + percentDataset = par("percentDataset").doubleValue(); + strategy = par("strategy").stringValue(); + computationRequirementVector = cStringTokenizer(par("computationRequirement")).asVector(); + roundDeadline = par("roundDeadline").doubleValue(); + address = par("address").stringValue(); + K = par("K").doubleValue(); + //NED VARs + + //METRICS + selectClientsMetric = registerSignal("selectClients"); + receivedClientsMetric = registerSignal("receivedClients"); + connectedClientsMetric = registerSignal("connectedClients"); + roundMetric = registerSignal("round"); + //METRICS + }else if(stage == 1){ + //First Training + chArgs.SetMaxReceiveMessageSize(-1); + chArgs.SetMaxSendMessageSize(-1); + client = new FlexeClient(grpc::CreateCustomChannel(address, grpc::InsecureChannelCredentials(), chArgs)); + counter = 0; + for(std::vector::iterator it = datasetVector.begin(); it != datasetVector.end(); it++){ + dataset = *it; + model = modelVector[counter]; + computationRequirement = std::stod(computationRequirementVector[counter]); + std::cout << self << " - Initialize Model " << model << " Dataset " << dataset << " Computation Requirement: " << computationRequirement << endl; + datasetComputationRequirementMap.insert(std::pair(dataset, computationRequirement)); + datasetModelMap.insert(std::pair(dataset, model)); + datasetMetricMap.insert(std::pair(dataset, counter)); + std::tie(numExamples, entropy, lossModel, accuracyModel, outputMSG) = client->initialize_parameters(self, model, dataset, scenario, seed, nonIID, idModel, trainFlag, epochs, batch, numClients, percentDataset, "NULL", "NULL"); + + //Loss Train + sprintf(signalName, "lossTrain%s", dataset.c_str()); + signal = registerSignal(signalName); + statisticTemplate = getProperties()->get("statisticTemplate", "lossTrainCount"); + getEnvir()->addResultRecorders(this, signal, signalName, statisticTemplate); + lossTrainSignals[counter] = signal; + emit(lossTrainSignals[counter], lossModel); + + //Loss Evaluate + sprintf(signalName, "lossEvaluate%s", dataset.c_str()); + signal = registerSignal(signalName); + statisticTemplate = getProperties()->get("statisticTemplate", "lossEvaluateCount"); + getEnvir()->addResultRecorders(this, signal, signalName, statisticTemplate); + lossEvaluateSignals[counter] = signal; + emit(lossEvaluateSignals[counter], lossModel); + + //Accuracy Train + sprintf(signalName, "accuracyTrain%s", dataset.c_str()); + signal = registerSignal(signalName); + statisticTemplate = getProperties()->get("statisticTemplate", "accuracyTrainCount"); + getEnvir()->addResultRecorders(this, signal, signalName, statisticTemplate); + accuracyTrainSignals[counter] = signal; + emit(accuracyTrainSignals[counter], accuracyModel); + + //Accuracy Evaluate + sprintf(signalName, "accuracyEvaluate%s", dataset.c_str()); + signal = registerSignal(signalName); + statisticTemplate = getProperties()->get("statisticTemplate", "accuracyEvaluateCount"); + getEnvir()->addResultRecorders(this, signal, signalName, statisticTemplate); + accuracyEvaluateSignals[counter] = signal; + emit(accuracyEvaluateSignals[counter], accuracyModel); + counter++; + } + //First Training + std::srand(time(nullptr)); + std::random_shuffle(std::begin(datasetVector), std::end(datasetVector)); + dataset = datasetVector[0]; + model = datasetModelMap[dataset]; + computationRequirement = datasetComputationRequirementMap[dataset]; + std::cout << self << " - RANDOM Model: " << model << " dataset: " << dataset << " Computation Requirement: " << computationRequirement << endl; + scheduleAt(simTime().dbl()+0.1, clientSelectionEvt); + } +} + +void FedRANDOMRSU11p::onBSM(DemoSafetyMessage* bsm){ + switch(bsm->getKind()){ + case SEND_BEACON_EVT:{ + std::vector vectorName = client->splitSTR(bsm->getName(), ';'); + std::cout << self << " (RSU|onBSM) Veh-ID: " << vectorName[1] << " SUMO-ID: " << vectorName[0] << " MSG: " << bsm->getName() << endl; + std::cout << self << " (RSU|onBSM) Veh-ID: " << vectorName[1] << " Speed: " << bsm->getSpeed() << endl; + connectedClientsMap.insert(std::make_pair(std::stoi(vectorName[1]), vectorName[0])); + std::cout << "\n" << endl; + break; + } + default:{ + std::cout << self << " (RSU|onBSM) The message type was not detected. " << bsm->getKind() << endl; + std::cout << "\n" << endl; + break; + } + } +} + +void FedRANDOMRSU11p::onWSM(BaseFrame1609_4* wsm){ + switch(wsm->getKind()){ + case SEND_GLOBAL_MODEL_EVT:{ + break; + } + case SEND_LOCAL_MODEL_EVT:{ + FlexeMessage* flexe_msg = check_and_cast(wsm); + std::cout << self << " (RSU|onWSM) SEND_LOCAL_MODEL_EVT " << simTime().dbl() << " Destination: " << flexe_msg->getIdModel() << endl; + if(idModel == flexe_msg->getIdModel()){ + localModelID = flexe_msg->getSenderID(); + if(!(std::find(receivedModelsVector.begin(), receivedModelsVector.end(), localModelID) != receivedModelsVector.end())){ + receivedModelsVector.push_back(localModelID); + receivedNumberExamplesVector.push_back(flexe_msg->getNumExamples()); + } + } + break; + } + default:{ + std::cout << self << " (RSU|onWSM) The message type was not detected. " << wsm->getKind() << endl; + break; + } + } +} + +void FedRANDOMRSU11p::onWSA(DemoServiceAdvertisment* wsa){ +} + +void FedRANDOMRSU11p::handleSelfMsg(cMessage* msg){ + switch(msg->getKind()){ + case AGGREGATE_MODELS_EVT:{ + std::cout << self << " (RSU|handleSelfMsg) AGGREGATE_MODELS_EVT " << simTime().dbl() << endl; + if(receivedModelsVector.size() != 0){ + clientsModels = ""; + numExamplesModels = ""; + for(std::vector::iterator it = receivedModelsVector.begin(); it != receivedModelsVector.end(); it++){ + clientsModels = clientsModels + ";" + std::to_string(*it); + emit(receivedClientsMetric, (int)*it); + } + for(std::vector::iterator it = receivedNumberExamplesVector.begin(); it != receivedNumberExamplesVector.end(); it++){ + numExamplesModels = numExamplesModels + ";" + std::to_string(*it); + } + emit(roundMetric, (double)roundDeadline); + + counter = datasetMetricMap[dataset]; + + std::tie(numExamples, entropy, lossModel, accuracyModel, outputMSG) = client->aggregate_sync_fit(self, model, dataset, scenario, seed, nonIID, idModel, numClients, numExamplesModels, clientsModels, strategy, "NULL"); + emit(lossTrainSignals[counter], lossModel); + emit(accuracyTrainSignals[counter], accuracyModel); + + std::tie(numExamples, entropy, lossModel, accuracyModel, outputMSG) = client->aggregate_evaluate(self, model, dataset, scenario, seed, nonIID, idModel, numClients, numExamplesModels, clientsModels, strategy, "NULL"); + emit(lossEvaluateSignals[counter], lossModel); + emit(accuracyEvaluateSignals[counter], accuracyModel); + } + //CLEAR DATA STRUCTURES + receivedModelsVector.clear(); + receivedNumberExamplesVector.clear(); + //CLEAR DATA STRUCTURES + + //NEW RANDOM MODEL & DATASET + std::srand(time(nullptr)); + std::random_shuffle(std::begin(datasetVector), std::end(datasetVector)); + dataset = datasetVector[0]; + model = datasetModelMap[dataset]; + computationRequirement = datasetComputationRequirementMap[dataset]; + std::cout << self << " - RANDOM Model: " << model << " dataset: " << dataset << " Computation Requirement: " << computationRequirement << endl; + //NEW RANDOM MODEL & DATASET + + std::cout << "\n" << endl; + if(!clientSelectionEvt->isScheduled()){ + scheduleAt(simTime().dbl(), clientSelectionEvt); + } + break; + } + case CLIENT_SELECTION_EVT:{ + std::cout << self << " (RSU|handleSelfMsg) CLIENT_SELECTION_EVT " << simTime().dbl() << endl; + selectedClients = ""; + if(!connectedClientsMap.empty()){ + std::cout << self << " (RSU|handleSelfMsg) connectedClientsMap NOT EMPTY! " << endl; + //CLIENT SELECTION + emit(connectedClientsMetric, (int)connectedClientsMap.size()); + numSelectedClients = std::ceil(connectedClientsMap.size()*K); + + std::cout << self << " (RSU|handleSelfMsg) N. of Connected Clients: " << connectedClientsMap.size() << endl; + std::cout << self << " (RSU|handleSelfMsg) N. of Selected Clients: " << numSelectedClients << endl; + + for(std::map::iterator it = connectedClientsMap.begin(); it != connectedClientsMap.end(); ++it) { + connectedClientsVector.push_back(it->first); + } + + std::srand(time(nullptr)); + std::random_shuffle(std::begin(connectedClientsVector), std::end(connectedClientsVector)); + counter = 0; + for(std::vector::iterator it = connectedClientsVector.begin(); it != connectedClientsVector.end(); it++){ + if(counter >= numSelectedClients){ + break; + } + std::cout << self << " (RSU|handleSelfMsg) Select Model from Vehicle-ID: " << *it << endl; + selectedClients = selectedClients + ";" + std::to_string(*it); + emit(selectClientsMetric, *it); + counter++; + } + //CLIENT SELECTION + + //CLEAR DATA STRUCTURES + connectedClientsMap.clear(); + connectedClientsVector.clear(); + //CLEAR DATA STRUCTURES + + //SEND GLOBAL MODEL + FlexeMessage* flexe_msg = new FlexeMessage(); + DemoBaseApplLayer::populateWSM(flexe_msg); + flexe_msg->setKind(SEND_GLOBAL_MODEL_EVT); + flexe_msg->setSenderID(self); + flexe_msg->setModel(model.c_str()); + flexe_msg->setDataset(dataset.c_str()); + flexe_msg->setScenario(scenario.c_str()); + flexe_msg->setSeed(seed); + flexe_msg->setNonIID(nonIID); + flexe_msg->setIdModel(idModel); + flexe_msg->setNumClients(numClients); + flexe_msg->setPercentDataset(percentDataset); + flexe_msg->setModelVersion(-1); + flexe_msg->setClientSelection(selectedClients.c_str()); + flexe_msg->setComputationRequirement(computationRequirement); + DemoBaseApplLayer::sendDown(flexe_msg); + //SEND GLOBAL MODEL + + scheduleAt(simTime().dbl() + roundDeadline, aggregateModelsEvt); + }else{ + if(!clientSelectionEvt->isScheduled()){ + scheduleAt(simTime().dbl() + 0.1, clientSelectionEvt); + } + } + std::cout << "\n" << endl; + break; + } + default: { + std::cout << self << " (RSU|handleSelfMsg) - The message type was not detected. " << msg->getKind() << endl; + break; + } + } +} diff --git a/src/flexe/application/FedRANDOMRSU11p.h b/src/flexe/application/FedRANDOMRSU11p.h new file mode 100644 index 0000000..b7dc8e1 --- /dev/null +++ b/src/flexe/application/FedRANDOMRSU11p.h @@ -0,0 +1,122 @@ +/**@title + * Federated Averaging (FedAVG) + * + * @brief + * + * + * @author Wellington Lobato (wellington@lrc.ic.unicamp.br) + * + */ +#pragma once +#include +#include +#include +#include + +#include "veins/modules/application/ieee80211p/DemoBaseApplLayer.h" +#include "../messages/FlexeMessage_m.h" +#include "../application/FlexeClient.h" + +using namespace omnetpp; +using namespace veins; + +namespace flexe { +class FedRANDOMRSU11p : public DemoBaseApplLayer { +public: + ~FedRANDOMRSU11p(); + void initialize(int stage) override; + +protected: + //MSG TYPE + enum selfMessageKinds { + AGGREGATE_MODELS_EVT = 16, + CLIENT_SELECTION_EVT = 17, + SEND_GLOBAL_MODEL_EVT = 18, + SEND_LOCAL_MODEL_EVT = 19, + }; + void onBSM(DemoSafetyMessage* bsm) override; + void onWSM(BaseFrame1609_4* wsm) override; + void onWSA(DemoServiceAdvertisment* wsa) override; + + void handleSelfMsg(cMessage* msg) override; + + //VAR + int self; + //NED VARs + std::string model; + std::string dataset; + std::string scenario; + int seed; + bool nonIID; + int idModel; + bool trainFlag; + int epochs; + int batch; + int numClients; + double percentDataset; + std::string strategy; + double computationRequirement; + double roundDeadline; + double K; + //NED VARs + + int numSelectedClients; + int counter; + int localModelID; + double lossModel; + double accuracyModel; + int numExamples; + double entropy; + char signalName[32]; + std::string outputMSG; + std::string signalMetricName; + std::string statisticMetricName; + + std::string clientsModels; + std::string numExamplesModels; + std::string selectedClients; + + std::map connectedClientsMap; //(Veins-ID, SUMO-ID) + std::map datasetComputationRequirementMap; //(Dataset, Computation Requirement) + std::map datasetModelMap; //(Dataset, Model) + std::map datasetMetricMap; //(Dataset, Metric Index) + + std::vector connectedClientsVector; + std::vector receivedModelsVector; + std::vector receivedNumberExamplesVector; + + std::vector datasetVector; + std::vector modelVector; + std::vector computationRequirementVector; + + ModelReply modelOutput; + GenericReply genericOutput; + + std::string address; + grpc::ChannelArguments chArgs; + FlexeClient* client = NULL; + + //TRACI + TraCIScenarioManager* manager; + TraCICommandInterface* traci; + + //MSG + cMessage* aggregateModelsEvt = new cMessage("Aggregate received models event", AGGREGATE_MODELS_EVT); + cMessage* clientSelectionEvt = new cMessage("Client selection mechanism event", CLIENT_SELECTION_EVT); + cMessage* sendGlobalModelEvt = new cMessage("Send Aggregated Model Event", SEND_GLOBAL_MODEL_EVT); + + //METRICS + simsignal_t selectClientsMetric; + simsignal_t receivedClientsMetric; + simsignal_t connectedClientsMetric; + simsignal_t roundMetric; + simsignal_t signal; + cProperty *statisticTemplate; + + //METRICS FOR 10 DIFFERENT DATASETS + simsignal_t lossTrainSignals[10]; + simsignal_t lossEvaluateSignals[10]; + simsignal_t accuracyTrainSignals[10]; + simsignal_t accuracyEvaluateSignals[10]; +}; +} diff --git a/src/flexe/application/FedRANDOMRSU11p.ned b/src/flexe/application/FedRANDOMRSU11p.ned new file mode 100644 index 0000000..bcece77 --- /dev/null +++ b/src/flexe/application/FedRANDOMRSU11p.ned @@ -0,0 +1,52 @@ +package flexe.application; +import org.car2x.veins.modules.application.ieee80211p.DemoBaseApplLayer; + +simple FedRANDOMRSU11p extends DemoBaseApplLayer +{ + @class(flexe::FedRANDOMRSU11p); + //General Parameters + string model = default("NONE"); + string dataset = default("MNIST"); + string scenario = default("GRID"); + int seed = default(42); + bool nonIID = default(false); + bool trainFlag = default(true); + int epochs = default(1); + int batch = default(1024); + int numClients = default(1); + double percentDataset = default(100.0); + string strategy = default("FED_AVG"); + string computationRequirement = default("900"); //in cycles/bit + + //GRPC Address + string address = default("127.0.0.1:5000"); + + //SemiSync Parameters + double roundDeadline = default(60.0); + double K = default(1.0); //Selection Fraction of Clients (1.0 -> 100%, 0.5 -> 50%, 0.25 -> 25%) + + @signal[connectedClients](type="long"); + @statistic[connectedClientsCount](title="connectedClients count"; source="connectedClients"; record=vector,stats; interpolationmode=none); + + @signal[selectClients](type="long"); + @statistic[selectClientsCount](title="selectClients count"; source="selectClients"; record=vector,stats; interpolationmode=none); + + @signal[receivedClients](type="long"); + @statistic[receivedClientsClientsCount](title="receivedClients count"; source="receivedClients"; record=vector,stats; interpolationmode=none); + + @signal[round](type="double"); + @statistic[roundCount](title="round count"; source="round"; record=vector,stats; interpolationmode=none); + + @signal[lossTrain*](type="double"); + @statisticTemplate[lossTrainCount](record=vector,stats; interpolationmode=none); + + @signal[accuracyTrain*](type="double"); + @statisticTemplate[accuracyTrainCount](record=vector,stats; interpolationmode=none); + + @signal[lossEvaluate*](type="double"); + @statisticTemplate[lossEvaluateCount](record=vector,stats; interpolationmode=none); + + @signal[accuracyEvaluate*](type="double"); + @statisticTemplate[accuracyEvaluateCount](record=vector,stats; interpolationmode=none); + +} \ No newline at end of file diff --git a/src/flexe/application/FlexeClient.h b/src/flexe/application/FlexeClient.h new file mode 100644 index 0000000..494345d --- /dev/null +++ b/src/flexe/application/FlexeClient.h @@ -0,0 +1,759 @@ +#include +#include + +#include "../proto/flexe.grpc.pb.h" + +using grpc::Channel; +using grpc::ClientContext; +using grpc::Status; + +using flexe::Flexe; +using flexe::TTRequest; +using flexe::AggregationRequest; +using flexe::GenericRequest; +using flexe::GenericReply; +using flexe::ModelReply; + +class FlexeClient { + public: + FlexeClient(std::shared_ptr channel) + : stub_(Flexe::NewStub(channel)) {} + + // Server Functions + std::tuple center_fit( //GenericRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + const std::string& msg + ){ + GenericRequest centerFitRequest; + centerFitRequest.set_identity(idEntity+1); + centerFitRequest.set_model(model); + centerFitRequest.set_dataset(dataset); + centerFitRequest.set_scenario(scenario); + centerFitRequest.set_seed(seed); + centerFitRequest.set_noniid(nonIID); + centerFitRequest.set_idmodel(idModel+1); + centerFitRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->center_fit(&context, centerFitRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Center Fit requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + std::tuple center_evaluate( //GenericRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + const std::string& msg + ){ + GenericRequest centerEvaluateRequest; + centerEvaluateRequest.set_identity(idEntity+1); + centerEvaluateRequest.set_model(model); + centerEvaluateRequest.set_dataset(dataset); + centerEvaluateRequest.set_scenario(scenario); + centerEvaluateRequest.set_seed(seed); + centerEvaluateRequest.set_noniid(nonIID); + centerEvaluateRequest.set_idmodel(idModel+1); + centerEvaluateRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->center_evaluate(&context, centerEvaluateRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Center Evaluate requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + std::tuple set_strategy( //GenericRequest -> GenericReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + const std::string& msg + ){ + GenericRequest setStrategyRequest; + setStrategyRequest.set_identity(idEntity+1); + setStrategyRequest.set_model(model); + setStrategyRequest.set_dataset(dataset); + setStrategyRequest.set_scenario(scenario); + setStrategyRequest.set_seed(seed); + setStrategyRequest.set_noniid(nonIID); + setStrategyRequest.set_idmodel(idModel+1); + setStrategyRequest.set_msg(msg); + + ClientContext context; + GenericReply reply; + + Status status = stub_->set_strategy(&context, setStrategyRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Set Strategy requested successfully!" << endl; + return {reply.reply(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, "ERROR"}; + } + } + + + std::tuple get_strategy( //GenericRequest -> GenericReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + const std::string& msg + ){ + GenericRequest getStrategyRequest; + getStrategyRequest.set_identity(idEntity+1); + getStrategyRequest.set_model(model); + getStrategyRequest.set_dataset(dataset); + getStrategyRequest.set_scenario(scenario); + getStrategyRequest.set_seed(seed); + getStrategyRequest.set_noniid(nonIID); + getStrategyRequest.set_idmodel(idModel+1); + getStrategyRequest.set_msg(msg); + + ClientContext context; + GenericReply reply; + + Status status = stub_->get_strategy(&context, getStrategyRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Get Strategy requested successfully!" << endl; + return {reply.reply(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, "ERROR"}; + } + } + + std::tuple end( //GenericRequest -> GenericReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + const std::string& msg + ){ + GenericRequest endRequest; + endRequest.set_identity(idEntity+1); + endRequest.set_model(model); + endRequest.set_dataset(dataset); + endRequest.set_scenario(scenario); + endRequest.set_seed(seed); + endRequest.set_noniid(nonIID); + endRequest.set_idmodel(idModel+1); + endRequest.set_msg(msg); + + ClientContext context; + GenericReply reply; + + Status status = stub_->end(&context, endRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - End requested successfully!" << endl; + return {reply.reply(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, "ERROR"}; + } + } + + std::tuple initialize_parameters( //TTRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + bool trainFlag, + int epochs, + int batch, + int numClients, + double percentDataset, + const std::string& models, + const std::string& msg + ){ + TTRequest InitializeParametersRequest; + InitializeParametersRequest.set_identity(idEntity+1); + InitializeParametersRequest.set_model(model); + InitializeParametersRequest.set_dataset(dataset); + InitializeParametersRequest.set_scenario(scenario); + InitializeParametersRequest.set_seed(seed); + InitializeParametersRequest.set_noniid(nonIID); + InitializeParametersRequest.set_idmodel(idModel+1); + InitializeParametersRequest.set_trainflag(trainFlag); + InitializeParametersRequest.set_epochs(epochs); + InitializeParametersRequest.set_batch(batch); + InitializeParametersRequest.set_numclients(numClients); + InitializeParametersRequest.set_percentdataset(percentDataset); + InitializeParametersRequest.set_models(models); + InitializeParametersRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->initialize_parameters(&context, InitializeParametersRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Initialize Parameters requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + + std::tuple aggregate_sync_fit( //AggregationRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + int numClients, + const std::string& numExamples, + const std::string& models, + const std::string& strategy, + const std::string& msg + ){ + AggregationRequest aggregateFitRequest; + aggregateFitRequest.set_identity(idEntity+1); + aggregateFitRequest.set_model(model); + aggregateFitRequest.set_dataset(dataset); + aggregateFitRequest.set_scenario(scenario); + aggregateFitRequest.set_seed(seed); + aggregateFitRequest.set_noniid(nonIID); + aggregateFitRequest.set_idmodel(idModel+1); + aggregateFitRequest.set_numclients(numClients); + aggregateFitRequest.set_numexamples(numExamples); + aggregateFitRequest.set_models(models); + aggregateFitRequest.set_strategy(strategy); + aggregateFitRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->aggregate_sync_fit(&context, aggregateFitRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Aggregate Fit requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + + std::tuple aggregate_async_fit( //AggregationRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + int numClients, + const std::string& numExamples, + const std::string& models, + const std::string& strategy, + const std::string& msg + ){ + AggregationRequest aggregateAsyncFitRequest; + aggregateAsyncFitRequest.set_identity(idEntity+1); + aggregateAsyncFitRequest.set_model(model); + aggregateAsyncFitRequest.set_dataset(dataset); + aggregateAsyncFitRequest.set_scenario(scenario); + aggregateAsyncFitRequest.set_seed(seed); + aggregateAsyncFitRequest.set_noniid(nonIID); + aggregateAsyncFitRequest.set_idmodel(idModel+1); + aggregateAsyncFitRequest.set_numclients(numClients); + aggregateAsyncFitRequest.set_numexamples(numExamples); + aggregateAsyncFitRequest.set_models(models); + aggregateAsyncFitRequest.set_strategy(strategy); + aggregateAsyncFitRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->aggregate_async_fit(&context, aggregateAsyncFitRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Aggregate Async. Fit requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + std::tuple aggregate_evaluate( //AggregationRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + int numClients, + const std::string& numExamples, + const std::string& models, + const std::string& strategy, + const std::string& msg + ){ + + AggregationRequest aggregateEvaluateRequest; + aggregateEvaluateRequest.set_identity(idEntity+1); + aggregateEvaluateRequest.set_model(model); + aggregateEvaluateRequest.set_dataset(dataset); + aggregateEvaluateRequest.set_scenario(scenario); + aggregateEvaluateRequest.set_seed(seed); + aggregateEvaluateRequest.set_noniid(nonIID); + aggregateEvaluateRequest.set_idmodel(idModel+1); + aggregateEvaluateRequest.set_numclients(numClients); + aggregateEvaluateRequest.set_numexamples(numExamples); + aggregateEvaluateRequest.set_models(models); + aggregateEvaluateRequest.set_strategy(strategy); + aggregateEvaluateRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->aggregate_evaluate(&context, aggregateEvaluateRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Aggregate Evaluate requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + + // Client Functions + std::tuple fit( //TTRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + bool trainFlag, + int epochs, + int batch, + int numClients, + double percentDataset, + const std::string& models, + const std::string& msg + ){ + TTRequest fitRequest; + fitRequest.set_identity(idEntity+1); + fitRequest.set_model(model); + fitRequest.set_dataset(dataset); + fitRequest.set_scenario(scenario); + fitRequest.set_seed(seed); + fitRequest.set_noniid(nonIID); + fitRequest.set_idmodel(idModel+1); + fitRequest.set_trainflag(trainFlag); + fitRequest.set_epochs(epochs); + fitRequest.set_batch(batch); + fitRequest.set_numclients(numClients); + fitRequest.set_percentdataset(percentDataset); + fitRequest.set_models(models); + fitRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->fit(&context, fitRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Fit requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + std::tuple evaluate( //TTRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + bool trainFlag, + int epochs, + int batch, + int numClients, + double percentDataset, + const std::string& models, + const std::string& msg + ){ + TTRequest evaluateRequest; + evaluateRequest.set_identity(idEntity+1); + evaluateRequest.set_model(model); + evaluateRequest.set_dataset(dataset); + evaluateRequest.set_scenario(scenario); + evaluateRequest.set_seed(seed); + evaluateRequest.set_noniid(nonIID); + evaluateRequest.set_idmodel(idModel+1); + evaluateRequest.set_trainflag(trainFlag); + evaluateRequest.set_epochs(epochs); + evaluateRequest.set_batch(batch); + evaluateRequest.set_numclients(numClients); + evaluateRequest.set_percentdataset(percentDataset); + evaluateRequest.set_models(models); + evaluateRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->evaluate(&context, evaluateRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Evaluation requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + std::tuple update_model( //TTRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + bool trainFlag, + int epochs, + int batch, + int numClients, + double percentDataset, + const std::string& models, + const std::string& msg + ){ + TTRequest updateRequest; + updateRequest.set_identity(idEntity+1); + updateRequest.set_model(model); + updateRequest.set_dataset(dataset); + updateRequest.set_scenario(scenario); + updateRequest.set_seed(seed); + updateRequest.set_noniid(nonIID); + updateRequest.set_idmodel(idModel+1); + updateRequest.set_trainflag(trainFlag); + updateRequest.set_epochs(epochs); + updateRequest.set_batch(batch); + updateRequest.set_numclients(numClients); + updateRequest.set_percentdataset(percentDataset); + updateRequest.set_models(models); + updateRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->update_model(&context, updateRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Update requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + std::tuple get_information( //GenericRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + const std::string& msg + ){ + GenericRequest getInfoRequest; + getInfoRequest.set_identity(idEntity+1); + getInfoRequest.set_model(model); + getInfoRequest.set_dataset(dataset); + getInfoRequest.set_scenario(scenario); + getInfoRequest.set_seed(seed); + getInfoRequest.set_noniid(nonIID); + getInfoRequest.set_idmodel(idModel+1); + getInfoRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->get_information(&context, getInfoRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Get Info requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + std::tuple set_information( //GenericRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + const std::string& msg + ){ + GenericRequest setInfoRequest; + setInfoRequest.set_identity(idEntity+1); + setInfoRequest.set_model(model); + setInfoRequest.set_dataset(dataset); + setInfoRequest.set_scenario(scenario); + setInfoRequest.set_seed(seed); + setInfoRequest.set_noniid(nonIID); + setInfoRequest.set_idmodel(idModel+1); + setInfoRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->set_information(&context, setInfoRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Set Info requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + + std::tuple aggregate_client( //TTRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + bool trainFlag, + int epochs, + int batch, + int numClients, + double percentDataset, + const std::string& models, + const std::string& msg + ){ + TTRequest aggregateClientRequest; + aggregateClientRequest.set_identity(idEntity+1); + aggregateClientRequest.set_model(model); + aggregateClientRequest.set_dataset(dataset); + aggregateClientRequest.set_scenario(scenario); + aggregateClientRequest.set_seed(seed); + aggregateClientRequest.set_noniid(nonIID); + aggregateClientRequest.set_idmodel(idModel+1); + aggregateClientRequest.set_trainflag(trainFlag); + aggregateClientRequest.set_epochs(epochs); + aggregateClientRequest.set_batch(batch); + aggregateClientRequest.set_numclients(numClients); + aggregateClientRequest.set_percentdataset(percentDataset); + aggregateClientRequest.set_models(models); + aggregateClientRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->aggregate_client(&context, aggregateClientRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Aggregate Client requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + + std::tuple fit_all( //TTRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + bool trainFlag, + int epochs, + int batch, + int numClients, + double percentDataset, + const std::string& models, + const std::string& msg + ){ + TTRequest fitAllRequest; + fitAllRequest.set_identity(idEntity+1); + fitAllRequest.set_model(model); + fitAllRequest.set_dataset(dataset); + fitAllRequest.set_scenario(scenario); + fitAllRequest.set_seed(seed); + fitAllRequest.set_noniid(nonIID); + fitAllRequest.set_idmodel(idModel+1); + fitAllRequest.set_trainflag(trainFlag); + fitAllRequest.set_epochs(epochs); + fitAllRequest.set_batch(batch); + fitAllRequest.set_numclients(numClients); + fitAllRequest.set_percentdataset(percentDataset); + fitAllRequest.set_models(models); + fitAllRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->fit_all(&context, fitAllRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Fit All requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + + std::tuple evaluate_all( //TTRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + bool trainFlag, + int epochs, + int batch, + int numClients, + double percentDataset, + const std::string& models, + const std::string& msg + ){ + TTRequest evaluateAllRequest; + evaluateAllRequest.set_identity(idEntity+1); + evaluateAllRequest.set_model(model); + evaluateAllRequest.set_dataset(dataset); + evaluateAllRequest.set_scenario(scenario); + evaluateAllRequest.set_seed(seed); + evaluateAllRequest.set_noniid(nonIID); + evaluateAllRequest.set_idmodel(idModel+1); + evaluateAllRequest.set_trainflag(trainFlag); + evaluateAllRequest.set_epochs(epochs); + evaluateAllRequest.set_batch(batch); + evaluateAllRequest.set_numclients(numClients); + evaluateAllRequest.set_percentdataset(percentDataset); + evaluateAllRequest.set_models(models); + evaluateAllRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->evaluate_all(&context, evaluateAllRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Evaluate All requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + + std::tuple update_all( //TTRequest -> ModelReply + int idEntity, + const std::string& model, + const std::string& dataset, + const std::string& scenario, + int seed, + bool nonIID, + int idModel, + bool trainFlag, + int epochs, + int batch, + int numClients, + double percentDataset, + const std::string& models, + const std::string& msg + ){ + TTRequest updateAllRequest; + updateAllRequest.set_identity(idEntity+1); + updateAllRequest.set_model(model); + updateAllRequest.set_dataset(dataset); + updateAllRequest.set_scenario(scenario); + updateAllRequest.set_seed(seed); + updateAllRequest.set_noniid(nonIID); + updateAllRequest.set_idmodel(idModel+1); + updateAllRequest.set_trainflag(trainFlag); + updateAllRequest.set_epochs(epochs); + updateAllRequest.set_batch(batch); + updateAllRequest.set_numclients(numClients); + updateAllRequest.set_percentdataset(percentDataset); + updateAllRequest.set_models(models); + updateAllRequest.set_msg(msg); + + ClientContext context; + ModelReply reply; + + Status status = stub_->update_all(&context, updateAllRequest, &reply); + if(status.ok()){ + std::cout << idEntity << " - Update All requested successfully!" << endl; + return {reply.numexamples(), reply.entropy(), reply.loss(), reply.accuracy(), reply.msg()}; + } else { + std::cout << status.error_code() << " - " << status.error_message() << std::endl; + return {-1, -1.0, -1.0, -1.0, "ERROR"}; + } + } + + std::vector splitSTR(const std::string &s, char delim) { + std::stringstream ss(s); + std::string item; + std::vector elems; + while (std::getline(ss, item, delim)) { + elems.push_back(item); + } + return elems; + } + + private: + std::unique_ptr stub_; +}; diff --git a/src/flexe/application/MLApp.cc b/src/flexe/application/MLApp.cc index 250f282..770a9dd 100644 --- a/src/flexe/application/MLApp.cc +++ b/src/flexe/application/MLApp.cc @@ -9,25 +9,42 @@ void MLApp::initialize(int stage){ DemoBaseApplLayer::initialize(stage); if (stage == 0) { self = getParentModule()->getIndex(); + epochs = par("epochs").intValue(); - batchSize = par("batchSize").intValue(); - modelName = par("modelName").stringValue(); + batch = par("batch").intValue(); + speedZero = par("speedZero").boolValue(); + computationCapability = par("computationCapability").doubleValue(); + computationCapability = computationCapability*(pow(10, 9)); + address = par("address").stringValue(); - trainFlag = par("trainFlag").boolValue(); - sendTrainInterval = par("sendTrainInterval").doubleValue(); + + trainLatencyMetric = registerSignal("trainLatency"); + compCapabilityMetric = registerSignal("compCapability"); + lossTrainMetric = registerSignal("lossTrain"); + accuracyTrainMetric = registerSignal("accuracyTrain"); + lossEvaluateMetric = registerSignal("lossEvaluate"); + accuracyEvaluateMetric = registerSignal("accuracyEvaluate"); + lossUpdateMetric = registerSignal("lossUpdate"); + accuracyUpdateMetric = registerSignal("accuracyUpdate"); + + emit(compCapabilityMetric, (double)computationCapability); } else if (stage == 1) { chArgs.SetMaxReceiveMessageSize(-1); chArgs.SetMaxSendMessageSize(-1); client = new FlexeClient(grpc::CreateCustomChannel(address, grpc::InsecureChannelCredentials(), chArgs)); - modelVersion = 0; - scheduleAt(simTime().dbl()+(uniform(0.0,0.01)*self), trainModelEvt); + computationRequirement = -1; + modelVersion = -1; + accuracyModel = -1; + lossModel = -1; + numExamples = -1; + entropy = -1; } } MLApp::~MLApp(){ - cancelAndDelete(sendModelEvt); - cancelAndDelete(trainModelEvt); + cancelAndDelete(trainLocalModelEvt); + cancelAndDelete(sendResourceRequestEvt); delete client; } @@ -40,11 +57,9 @@ void MLApp::onBSM(DemoSafetyMessage* bsm){ case SEND_BEACON_EVT:{ break; } - case SEND_CLOUD_EVT:{ - break; - } default:{ std::cout << self << " - (onBSM) The message type was not detected. " << bsm->getKind() << endl; + std::cout << "\n" << endl; break; } } @@ -52,21 +67,74 @@ void MLApp::onBSM(DemoSafetyMessage* bsm){ void MLApp::onWSM(BaseFrame1609_4* wsm){ switch(wsm->getKind()){ - case SEND_CLOUD_EVT:{ - break; + case SEND_GLOBAL_MODEL_EVT:{ + std::cout << self << " - (VEH|onWSM) SEND_GLOBAL_MODEL_EVT " << simTime().dbl() << endl; + FlexeMessage* flexe_msg = check_and_cast(wsm); + std::cout << self << " - (VEH|onWSM) Selected Clients: " << flexe_msg->getClientSelection() << endl; + std::vector selectedClientsVector = client->splitSTR(flexe_msg->getClientSelection(), ';'); + trainFlag = false; + + model = flexe_msg->getModel(); + dataset = flexe_msg->getDataset(); + scenario = flexe_msg->getScenario(); + seed = flexe_msg->getSeed(); + nonIID = flexe_msg->getNonIID(); + idModel = flexe_msg->getIdModel(); + numClients = flexe_msg->getNumClients(); + percentDataset = flexe_msg->getPercentDataset(); + modelVersion = flexe_msg->getModelVersion(); + computationRequirement = flexe_msg->getComputationRequirement(); + + for(std::vector::iterator it = selectedClientsVector.begin(); it != selectedClientsVector.end(); it++){ + if(std::to_string(self) == *it){ + std::cout << self << " - (VEH|onWSM) " << self << " == "<< *it << endl; + trainFlag = true; + break; + } } - case SEND_FED_MODEL_EVT:{ - FlexeMessage* flexe_msg = check_and_cast(wsm); - client->update_model(self, trainFlag, modelName, 1, 1); - modelVersion = flexe_msg->getModelVersion(); - trainFlag = true; - std::cout << self << " - (onWSM) Update the local model. modelVersion: "<< modelVersion << " SEND_FED_MODEL_EVT: " << simTime().dbl() << endl; - break; + if(trainFlag == true){ + scheduleAt(simTime().dbl(), trainLocalModelEvt); + }else{ + std::tie(numExamples, entropy, lossModel, accuracyModel, outputMSG) = client->update_model(self, model, dataset, scenario, seed, nonIID, idModel, trainFlag, epochs, batch, numClients, percentDataset, "", ""); + emit(lossUpdateMetric, (double)lossModel); + emit(accuracyUpdateMetric, (double)accuracyModel); + std::cout << self << " - (VEH|handleSelfMsg) Update Accuracy: " << accuracyModel << " Loss: " << lossModel << " N. Examples: " << numExamples << endl; } - default:{ - std::cout << self << " - (onWSM) The message type was not detected. " << wsm->getKind() << endl; - break; + std::cout << "\n" << endl; + + //CLEAR DATA STRUCTURES + selectedClientsVector.clear(); + //CLEAR DATA STRUCTURES + break; + } + case SEND_LOCAL_MODEL_EVT:{ + break; + } + case RESOURCE_REQUEST_EVT:{ + std::cout << self << " - (VEH|onWSM) RESOURCE_REQUEST_EVT " << simTime().dbl() << endl; + FlexeMessage* flexe_msg = check_and_cast(wsm); + std::vector clientResourceVector = client->splitSTR(flexe_msg->getClientSelection(), ';'); + resourceFlag = false; + for(std::vector::iterator it = clientResourceVector.begin(); it != clientResourceVector.end(); it++){ + if(std::to_string(self) == *it){ + std::cout << self << " - (VEH|onWSM) " << self << " == "<< *it << endl; + resourceFlag = true; + break; + } } + if(resourceFlag == true){ + scheduleAt(simTime().dbl(), sendResourceRequestEvt); + } + //CLEAR DATA STRUCTURES + clientResourceVector.clear(); + //CLEAR DATA STRUCTURES + break; + } + default:{ + std::cout << self << " - (onWSM) The message type was not detected. " << wsm->getKind() << endl; + std::cout << "\n" << endl; + break; + } } } @@ -76,85 +144,72 @@ void MLApp::onWSA(DemoServiceAdvertisment* wsa){ void MLApp::handleSelfMsg(cMessage* msg){ switch (msg->getKind()) { case SEND_BEACON_EVT:{ + std::cout << self << " - (VEH|handleSelfMsg) SEND_BEACON_EVT " << simTime().dbl() << endl; DemoSafetyMessage* bsm = new DemoSafetyMessage(); populateWSM(bsm); - bsm->setName(std::to_string(self).c_str()); + std::string sendID = traciVehicle->getVehicleId() + ";" + std::to_string(self); + bsm->setName(sendID.c_str()); + bsm->setSpeed(traciVehicle->getSpeed()); + bsm->setModelVersion(modelVersion); + bsm->setComputationCapability(computationCapability); sendDown(bsm); scheduleAt(simTime() + beaconInterval, sendBeaconEvt); + std::cout << "\n" << endl; break; } - case TRAIN_MODEL_EVT:{ - modelResponse = client->fit(self, trainFlag, modelName, epochs, batchSize); - if(trainFlag){ - loss = client->evaluate(self, trainFlag, modelName, batchSize); - } - trainFlag = false; - std::cout << self << " - Loss: " << loss << " TRAIN_MODEL_EVT: " << simTime().dbl() << endl; - scheduleAt(simTime().dbl()+uniform(0.0,0.01), sendModelEvt); - break; - } - - case SEND_MODEL_EVT:{ - std::cout << self << " - SEND_MODEL_EVT: " << simTime().dbl() << endl; - strWeights = ""; - tensorSizeVector.clear(); - - for(int i=0; i < modelResponse.tensors_size(); i++){ - tensorSizeVector.push_back(modelResponse.tensors(i).size()); - strWeights = strWeights + modelResponse.tensors(i); - } - - std::vector tensors_bytes(strWeights.begin(), strWeights.end()); - + case TRAIN_LOCAL_MODEL_EVT:{ + std::cout << self << " - (VEH|handleSelfMsg) TRAIN_LOCAL_MODEL_EVT " << simTime().dbl() << endl; + + std::tie(numExamples, entropy, lossModel, accuracyModel, outputMSG) = client->fit(self, model, dataset, scenario, seed, nonIID, idModel, trainFlag, epochs, batch, numClients, percentDataset, "", ""); + emit(lossTrainMetric, (double)lossModel); + emit(accuracyTrainMetric, (double)accuracyModel); + std::cout << self << " - (VEH|handleSelfMsg) Training Accuracy: " << accuracyModel << " Loss: " << lossModel << " N. Examples: " << numExamples << endl; + + std::tie(numExamples, entropy, lossModel, accuracyModel, outputMSG) = client->evaluate(self, model, dataset, scenario, seed, nonIID, idModel, trainFlag, epochs, batch, numClients, percentDataset, "", ""); + emit(lossEvaluateMetric, (double)lossModel); + emit(accuracyEvaluateMetric, (double)accuracyModel); + std::cout << self << " - (VEH|handleSelfMsg) Evaluation Accuracy: " << accuracyModel << " Loss: " << lossModel << " N. Examples: " << numExamples << endl; + + trainingLatency = ((double(numExamples)* computationRequirement)/computationCapability) * epochs; + emit(trainLatencyMetric, (double)trainingLatency); + + //SEND_LOCAL_MODEL FlexeMessage* flexe_msg = new FlexeMessage(); DemoBaseApplLayer::populateWSM(flexe_msg); - - flexe_msg->setTensorsArraySize(tensors_bytes.size()); - counter = 0; - for(std::vector::iterator itr = tensors_bytes.begin(); itr != tensors_bytes.end(); ++itr){ - flexe_msg->setTensors(counter, *itr); - counter++; - } - - flexe_msg->setTensorsSizeArraySize(modelResponse.tensors_size()); - counter = 0; - for(std::vector::iterator itr = tensorSizeVector.begin(); itr != tensorSizeVector.end(); ++itr){ - flexe_msg->setTensorsSize(counter, *itr); - counter++; - } - - flexe_msg->setNum_examples(modelResponse.num_examples()); + flexe_msg->setKind(SEND_LOCAL_MODEL_EVT); flexe_msg->setSenderID(self); - flexe_msg->setKind(SEND_CLOUD_EVT); + flexe_msg->setNumExamples(numExamples); + flexe_msg->setIdModel(idModel); flexe_msg->setModelVersion(modelVersion); - flexe_msg->setLoss(loss); + flexe_msg->setLoss(lossModel); + flexe_msg->setAccuracy(accuracyModel); + flexe_msg->setComputationCapability(computationCapability); + flexe_msg->setEntropy(entropy); + DemoBaseApplLayer::sendDelayedDown(flexe_msg, trainingLatency); + //SEND_LOCAL_MODEL - // CLEAR MEMORY - strWeights.clear(); - std::vector().swap(tensors_bytes); - tensors_bytes.clear(); - tensors_bytes.shrink_to_fit(); - - - std::vector().swap(tensorSizeVector); - tensorSizeVector.clear(); - tensorSizeVector.shrink_to_fit(); - - modelResponse.Clear(); - // CLEAR MEMORY - - DemoBaseApplLayer::sendDelayedDown(flexe_msg, uniform(0.0,0.1)); - - scheduleAt(simTime().dbl()+sendTrainInterval, trainModelEvt); + trainFlag = false; + std::cout << "\n" << endl; break; } + case RESOURCE_REQUEST_EVT:{ + std::cout << self << " - (VEH|handleSelfMsg) RESOURCE_REQUEST_EVT " << simTime().dbl() << endl; + std::tie(numExamples, entropy, lossModel, accuracyModel, outputMSG) = client->get_information(self, model, dataset, scenario, seed, nonIID, idModel, ""); + + FlexeMessage* flexe_msg = new FlexeMessage(); + DemoBaseApplLayer::populateWSM(flexe_msg); + flexe_msg->setKind(RESOURCE_REQUEST_EVT); + flexe_msg->setSenderID(self); + flexe_msg->setNumExamples(numExamples); + flexe_msg->setComputationCapability(computationCapability); + flexe_msg->setEntropy(entropy); + DemoBaseApplLayer::sendDelayedDown(flexe_msg, uniform(0, 0.01)); - case SEND_FED_MODEL_EVT:{ - std::cout << self << " - SEND_FED_MODEL_EVT: " << simTime().dbl() << endl; + resourceFlag = false; + std::cout << "\n" << endl; break; } - default: { std::cout << self << " handleSelfMsg - The message type was not detected. " << msg->getKind() << endl; break; @@ -163,5 +218,8 @@ void MLApp::handleSelfMsg(cMessage* msg){ } void MLApp::handlePositionUpdate(cObject* obj){ + if(speedZero){ + traciVehicle->setSpeed(0.0); + } DemoBaseApplLayer::handlePositionUpdate(obj); } diff --git a/src/flexe/application/MLApp.h b/src/flexe/application/MLApp.h index 3f386ce..7882843 100644 --- a/src/flexe/application/MLApp.h +++ b/src/flexe/application/MLApp.h @@ -9,89 +9,7 @@ #include "veins/modules/application/ieee80211p/DemoBaseApplLayer.h" #include "../messages/FlexeMessage_m.h" - -#include -#include - -#include "../proto/flexe.grpc.pb.h" - -using grpc::Channel; -using grpc::ClientContext; -using grpc::Status; - -using flexe::Flexe; -using flexe::TTRequest; -using flexe::EvaluateReply; -using flexe::ModelReply; -using flexe::GenericResponse; - -class FlexeClient { - public: - FlexeClient(std::shared_ptr channel) - : stub_(Flexe::NewStub(channel)) {} - - double evaluate(int idVehicle, bool trainFlag, const std::string& modelName, int batchSize){ - TTRequest evaluateRequest; - evaluateRequest.set_idvehicle(idVehicle+1); - evaluateRequest.set_trainflag(false); - evaluateRequest.set_modelname(modelName); - evaluateRequest.set_batch_size(batchSize); - - ClientContext context; - EvaluateReply reply; - - Status status = stub_->evaluate(&context, evaluateRequest, &reply); - if(status.ok()){ - //std::cout << "Evaluation requested successfully!" << endl; - return reply.loss(); - } else { - std::cout << status.error_code() << ": " << status.error_message() << std::endl; - return -1; - } - } - - ModelReply fit(int idVehicle, bool trainFlag, const std::string& modelName, int epochs, int batchSize){ - TTRequest fitRequest; - fitRequest.set_idvehicle(idVehicle+1); - fitRequest.set_trainflag(trainFlag); - fitRequest.set_modelname(modelName); - fitRequest.set_epochs(epochs); - fitRequest.set_batch_size(batchSize); - ClientContext context; - ModelReply reply; - - Status status = stub_->fit(&context, fitRequest, &reply); - if(status.ok()){ - //std::cout << "Training requested successfully!" << endl; - } else { - std::cout << status.error_code() << ": " << status.error_message() << std::endl; - } - return reply; - } - - int update_model(int idVehicle, bool trainFlag, const std::string& modelName, int epochs, int batchSize){ - TTRequest fitRequest; - fitRequest.set_idvehicle(idVehicle+1); - fitRequest.set_trainflag(false); - fitRequest.set_modelname(modelName); - fitRequest.set_epochs(epochs); - fitRequest.set_batch_size(batchSize); - GenericResponse reply; - ClientContext context; - - Status status = stub_->update_model(&context, fitRequest, &reply); - if(status.ok()){ - //std::cout << "Update the model requested successfully!" << endl; - return 1; - }else { - std::cout << status.error_code() << ": " << status.error_message() << std::endl; - return -1; - } - } - - private: - std::unique_ptr stub_; -}; +#include "../application/FlexeClient.h" using namespace omnetpp; using namespace veins; @@ -114,38 +32,60 @@ class MLApp : public DemoBaseApplLayer { //MSG TYPE enum selfMessageKinds { - TRAIN_MODEL_EVT = 7, - SEND_MODEL_EVT, - SEND_CLOUD_EVT = 10, - SEND_FED_MODEL_EVT = 17, + TRAIN_LOCAL_MODEL_EVT = 16, + CLIENT_SELECTION_EVT = 17, + SEND_GLOBAL_MODEL_EVT = 18, + SEND_LOCAL_MODEL_EVT = 19, + RESOURCE_REQUEST_EVT = 20, }; //VAR int self; + std::string model; + std::string dataset; + std::string scenario; + int seed; + bool nonIID; + int idModel; + bool trainFlag; int epochs; - int batchSize; - int counter; + int batch; + int numClients; + double percentDataset; + double computationCapability; int modelVersion; - bool trainFlag; - - double sendTrainInterval; - double loss; - - std::string modelName; - std::string strWeights; + bool speedZero; + bool resourceFlag; - ModelReply modelResponse; + int counter; + double computationRequirement; + double lossModel; + double accuracyModel; + int numExamples; + double entropy; + std::string outputMSG; + double trainingLatency; - std::vector tensorSizeVector; + ModelReply modelOutput; + GenericReply genericOutput; std::string address; grpc::ChannelArguments chArgs; FlexeClient* client = NULL; //MSG - cMessage* trainModelEvt = new cMessage("Train Model Event", TRAIN_MODEL_EVT); - cMessage* sendModelEvt = new cMessage("Send Model to RSU Event", SEND_MODEL_EVT); - + cMessage* trainLocalModelEvt = new cMessage("Train the local model on the client event", TRAIN_LOCAL_MODEL_EVT); + cMessage* sendResourceRequestEvt = new cMessage("Send Resource Request Event", RESOURCE_REQUEST_EVT); + + //METRICS + simsignal_t trainLatencyMetric; + simsignal_t compCapabilityMetric; + simsignal_t lossTrainMetric; + simsignal_t accuracyTrainMetric; + simsignal_t lossEvaluateMetric; + simsignal_t accuracyEvaluateMetric; + simsignal_t lossUpdateMetric; + simsignal_t accuracyUpdateMetric; }; } diff --git a/src/flexe/application/MLApp.ned b/src/flexe/application/MLApp.ned index d7f98d2..0e0609f 100644 --- a/src/flexe/application/MLApp.ned +++ b/src/flexe/application/MLApp.ned @@ -4,10 +4,39 @@ import org.car2x.veins.modules.application.ieee80211p.DemoBaseApplLayer; simple MLApp extends DemoBaseApplLayer { @class(flexe::MLApp); - string modelName = default("NONE"); - string address = default("127.0.0.1:5000"); + //General Parameters int epochs = default(1); - int batchSize = default(32); - double sendTrainInterval = default(10.0); - bool trainFlag = default(true); -} + int batch = default(1024); + + //GRPC Address + string address = default("127.0.0.1:5000"); + + //Local Training Latency Parameters + double computationCapability @unit(GHz) = default(5GHz); //in GHz + bool speedZero = default(false); + + + @signal[compCapability](type="double"); + @statistic[compCapability](title="compCapability count"; source="compCapability"; record=vector,stats; interpolationmode=none); + + @signal[trainLatency](type="double"); + @statistic[trainLatencyCount](title="trainLatency count"; source="trainLatency"; record=vector,stats; interpolationmode=none); + + @signal[lossTrain](type="double"); + @statistic[lossTrainCount](title="lossTrain count"; source="lossTrain"; record=vector,stats; interpolationmode=none); + + @signal[accuracyTrain](type="double"); + @statistic[accuracyTrainCount](title="accuracyTrain count"; source="accuracyTrain"; record=vector,stats; interpolationmode=none); + + @signal[lossEvaluate](type="double"); + @statistic[lossEvaluateCount](title="lossEvaluate count"; source="lossEvaluate"; record=vector,stats; interpolationmode=none); + + @signal[accuracyEvaluate](type="double"); + @statistic[accuracyEvaluateCount](title="accuracyEvaluate count"; source="accuracyEvaluate"; record=vector,stats; interpolationmode=none); + + @signal[lossUpdate](type="double"); + @statistic[lossUpdateCount](title="lossUpdate count"; source="lossUpdate"; record=vector,stats; interpolationmode=none); + + @signal[accuracyUpdate](type="double"); + @statistic[accuracyUpdateCount](title="accuracyUpdate count"; source="accuracyUpdate"; record=vector,stats; interpolationmode=none); +} \ No newline at end of file diff --git a/src/flexe/messages/FlexeMessage.msg b/src/flexe/messages/FlexeMessage.msg index 8e5a244..2c1dd63 100644 --- a/src/flexe/messages/FlexeMessage.msg +++ b/src/flexe/messages/FlexeMessage.msg @@ -1,11 +1,22 @@ import veins.modules.messages.DemoSafetyMessage; packet FlexeMessage extends veins::BaseFrame1609_4 { - int senderID = -1; - char tensors[]; - int tensorsSize[]; - int num_examples; + int senderID = -1; + string model; + string dataset; + string scenario; + int seed; + bool nonIID; + int idModel; + bool trainFlag; + int numClients; + double percentDataset; + int numExamples; int modelVersion; + string clientSelection; double loss; double accuracy; -} + double entropy; + double computationCapability; + double computationRequirement; +} \ No newline at end of file diff --git a/src/flexe/proto/flexe.grpc.pb.cc b/src/flexe/proto/flexe.grpc.pb.cc index b46ac33..452cb70 100644 --- a/src/flexe/proto/flexe.grpc.pb.cc +++ b/src/flexe/proto/flexe.grpc.pb.cc @@ -25,12 +25,20 @@ static const char* Flexe_method_names[] = { "/flexe.Flexe/fit", "/flexe.Flexe/evaluate", "/flexe.Flexe/update_model", - "/flexe.Flexe/aggregate_evaluate", - "/flexe.Flexe/aggregate_fit", - "/flexe.Flexe/aggregate_sync_fit", - "/flexe.Flexe/server_evaluate", - "/flexe.Flexe/store_model", + "/flexe.Flexe/get_information", + "/flexe.Flexe/set_information", + "/flexe.Flexe/aggregate_client", + "/flexe.Flexe/fit_all", + "/flexe.Flexe/evaluate_all", + "/flexe.Flexe/update_all", "/flexe.Flexe/initialize_parameters", + "/flexe.Flexe/aggregate_async_fit", + "/flexe.Flexe/aggregate_sync_fit", + "/flexe.Flexe/aggregate_evaluate", + "/flexe.Flexe/set_strategy", + "/flexe.Flexe/get_strategy", + "/flexe.Flexe/center_fit", + "/flexe.Flexe/center_evaluate", "/flexe.Flexe/end", }; @@ -44,13 +52,21 @@ Flexe::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, con : channel_(channel), rpcmethod_fit_(Flexe_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_evaluate_(Flexe_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_update_model_(Flexe_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_aggregate_evaluate_(Flexe_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_aggregate_fit_(Flexe_method_names[4], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_aggregate_sync_fit_(Flexe_method_names[5], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_server_evaluate_(Flexe_method_names[6], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_store_model_(Flexe_method_names[7], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_initialize_parameters_(Flexe_method_names[8], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_end_(Flexe_method_names[9], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_get_information_(Flexe_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_set_information_(Flexe_method_names[4], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_aggregate_client_(Flexe_method_names[5], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_fit_all_(Flexe_method_names[6], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_evaluate_all_(Flexe_method_names[7], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_update_all_(Flexe_method_names[8], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_initialize_parameters_(Flexe_method_names[9], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_aggregate_async_fit_(Flexe_method_names[10], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_aggregate_sync_fit_(Flexe_method_names[11], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_aggregate_evaluate_(Flexe_method_names[12], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_set_strategy_(Flexe_method_names[13], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_get_strategy_(Flexe_method_names[14], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_center_fit_(Flexe_method_names[15], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_center_evaluate_(Flexe_method_names[16], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_end_(Flexe_method_names[17], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) {} ::grpc::Status Flexe::Stub::fit(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) { @@ -76,163 +92,186 @@ ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::AsyncfitRa return result; } -::grpc::Status Flexe::Stub::evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::EvaluateReply* response) { - return ::grpc::internal::BlockingUnaryCall< ::flexe::TTRequest, ::flexe::EvaluateReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_evaluate_, context, request, response); +::grpc::Status Flexe::Stub::evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_evaluate_, context, request, response); } -void Flexe::Stub::experimental_async::evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, std::function f) { - ::grpc::internal::CallbackUnaryCall< ::flexe::TTRequest, ::flexe::EvaluateReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_evaluate_, context, request, response, std::move(f)); +void Flexe::Stub::experimental_async::evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_evaluate_, context, request, response, std::move(f)); } -void Flexe::Stub::experimental_async::evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { +void Flexe::Stub::experimental_async::evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_evaluate_, context, request, response, reactor); } -::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* Flexe::Stub::PrepareAsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::EvaluateReply, ::flexe::TTRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_evaluate_, context, request); +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::TTRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_evaluate_, context, request); } -::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* Flexe::Stub::AsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::AsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { auto* result = this->PrepareAsyncevaluateRaw(context, request, cq); result->StartCall(); return result; } -::grpc::Status Flexe::Stub::update_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::GenericResponse* response) { - return ::grpc::internal::BlockingUnaryCall< ::flexe::TTRequest, ::flexe::GenericResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_update_model_, context, request, response); +::grpc::Status Flexe::Stub::update_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_update_model_, context, request, response); } -void Flexe::Stub::experimental_async::update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::GenericResponse* response, std::function f) { - ::grpc::internal::CallbackUnaryCall< ::flexe::TTRequest, ::flexe::GenericResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_update_model_, context, request, response, std::move(f)); +void Flexe::Stub::experimental_async::update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_update_model_, context, request, response, std::move(f)); } -void Flexe::Stub::experimental_async::update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::GenericResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) { +void Flexe::Stub::experimental_async::update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_update_model_, context, request, response, reactor); } -::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* Flexe::Stub::PrepareAsyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::GenericResponse, ::flexe::TTRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_update_model_, context, request); +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::TTRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_update_model_, context, request); } -::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* Flexe::Stub::Asyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { auto* result = this->PrepareAsyncupdate_modelRaw(context, request, cq); result->StartCall(); return result; } -::grpc::Status Flexe::Stub::aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::EvaluateReply* response) { - return ::grpc::internal::BlockingUnaryCall< ::flexe::TTRequest, ::flexe::EvaluateReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_aggregate_evaluate_, context, request, response); +::grpc::Status Flexe::Stub::get_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_get_information_, context, request, response); } -void Flexe::Stub::experimental_async::aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, std::function f) { - ::grpc::internal::CallbackUnaryCall< ::flexe::TTRequest, ::flexe::EvaluateReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_evaluate_, context, request, response, std::move(f)); +void Flexe::Stub::experimental_async::get_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_get_information_, context, request, response, std::move(f)); } -void Flexe::Stub::experimental_async::aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { - ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_evaluate_, context, request, response, reactor); +void Flexe::Stub::experimental_async::get_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_get_information_, context, request, response, reactor); } -::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* Flexe::Stub::PrepareAsyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::EvaluateReply, ::flexe::TTRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_aggregate_evaluate_, context, request); +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncget_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::GenericRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_get_information_, context, request); } -::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* Flexe::Stub::Asyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncget_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { auto* result = - this->PrepareAsyncaggregate_evaluateRaw(context, request, cq); + this->PrepareAsyncget_informationRaw(context, request, cq); result->StartCall(); return result; } -::grpc::Status Flexe::Stub::aggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::flexe::ModelReply* response) { - return ::grpc::internal::BlockingUnaryCall< ::flexe::ModelRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_aggregate_fit_, context, request, response); +::grpc::Status Flexe::Stub::set_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_set_information_, context, request, response); } -void Flexe::Stub::experimental_async::aggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::ModelReply* response, std::function f) { - ::grpc::internal::CallbackUnaryCall< ::flexe::ModelRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_fit_, context, request, response, std::move(f)); +void Flexe::Stub::experimental_async::set_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_set_information_, context, request, response, std::move(f)); } -void Flexe::Stub::experimental_async::aggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { - ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_fit_, context, request, response, reactor); +void Flexe::Stub::experimental_async::set_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_set_information_, context, request, response, reactor); } -::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncaggregate_fitRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { - return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::ModelRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_aggregate_fit_, context, request); +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncset_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::GenericRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_set_information_, context, request); } -::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncaggregate_fitRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncset_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { auto* result = - this->PrepareAsyncaggregate_fitRaw(context, request, cq); + this->PrepareAsyncset_informationRaw(context, request, cq); result->StartCall(); return result; } -::grpc::Status Flexe::Stub::aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) { - return ::grpc::internal::BlockingUnaryCall< ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_aggregate_sync_fit_, context, request, response); +::grpc::Status Flexe::Stub::aggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_aggregate_client_, context, request, response); } -void Flexe::Stub::experimental_async::aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function f) { - ::grpc::internal::CallbackUnaryCall< ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_sync_fit_, context, request, response, std::move(f)); +void Flexe::Stub::experimental_async::aggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_client_, context, request, response, std::move(f)); } -void Flexe::Stub::experimental_async::aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { - ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_sync_fit_, context, request, response, reactor); +void Flexe::Stub::experimental_async::aggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_client_, context, request, response, reactor); } -::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { - return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::GenericRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_aggregate_sync_fit_, context, request); +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncaggregate_clientRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::TTRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_aggregate_client_, context, request); } -::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncaggregate_clientRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { auto* result = - this->PrepareAsyncaggregate_sync_fitRaw(context, request, cq); + this->PrepareAsyncaggregate_clientRaw(context, request, cq); result->StartCall(); return result; } -::grpc::Status Flexe::Stub::server_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::EvaluateReply* response) { - return ::grpc::internal::BlockingUnaryCall< ::flexe::TTRequest, ::flexe::EvaluateReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_server_evaluate_, context, request, response); +::grpc::Status Flexe::Stub::fit_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_fit_all_, context, request, response); } -void Flexe::Stub::experimental_async::server_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, std::function f) { - ::grpc::internal::CallbackUnaryCall< ::flexe::TTRequest, ::flexe::EvaluateReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_server_evaluate_, context, request, response, std::move(f)); +void Flexe::Stub::experimental_async::fit_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_fit_all_, context, request, response, std::move(f)); } -void Flexe::Stub::experimental_async::server_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { - ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_server_evaluate_, context, request, response, reactor); +void Flexe::Stub::experimental_async::fit_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_fit_all_, context, request, response, reactor); } -::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* Flexe::Stub::PrepareAsyncserver_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::EvaluateReply, ::flexe::TTRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_server_evaluate_, context, request); +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncfit_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::TTRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_fit_all_, context, request); } -::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* Flexe::Stub::Asyncserver_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncfit_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { auto* result = - this->PrepareAsyncserver_evaluateRaw(context, request, cq); + this->PrepareAsyncfit_allRaw(context, request, cq); result->StartCall(); return result; } -::grpc::Status Flexe::Stub::store_model(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::flexe::GenericResponse* response) { - return ::grpc::internal::BlockingUnaryCall< ::flexe::ModelRequest, ::flexe::GenericResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_store_model_, context, request, response); +::grpc::Status Flexe::Stub::evaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_evaluate_all_, context, request, response); } -void Flexe::Stub::experimental_async::store_model(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::GenericResponse* response, std::function f) { - ::grpc::internal::CallbackUnaryCall< ::flexe::ModelRequest, ::flexe::GenericResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_store_model_, context, request, response, std::move(f)); +void Flexe::Stub::experimental_async::evaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_evaluate_all_, context, request, response, std::move(f)); } -void Flexe::Stub::experimental_async::store_model(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::GenericResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) { - ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_store_model_, context, request, response, reactor); +void Flexe::Stub::experimental_async::evaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_evaluate_all_, context, request, response, reactor); } -::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* Flexe::Stub::PrepareAsyncstore_modelRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { - return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::GenericResponse, ::flexe::ModelRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_store_model_, context, request); +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncevaluate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::TTRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_evaluate_all_, context, request); } -::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* Flexe::Stub::Asyncstore_modelRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncevaluate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { auto* result = - this->PrepareAsyncstore_modelRaw(context, request, cq); + this->PrepareAsyncevaluate_allRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status Flexe::Stub::update_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_update_all_, context, request, response); +} + +void Flexe::Stub::experimental_async::update_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_update_all_, context, request, response, std::move(f)); +} + +void Flexe::Stub::experimental_async::update_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_update_all_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncupdate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::TTRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_update_all_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncupdate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncupdate_allRaw(context, request, cq); result->StartCall(); return result; } @@ -260,23 +299,184 @@ ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asynciniti return result; } -::grpc::Status Flexe::Stub::end(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericResponse* response) { - return ::grpc::internal::BlockingUnaryCall< ::flexe::GenericRequest, ::flexe::GenericResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_end_, context, request, response); +::grpc::Status Flexe::Stub::aggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::AggregationRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_aggregate_async_fit_, context, request, response); +} + +void Flexe::Stub::experimental_async::aggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::AggregationRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_async_fit_, context, request, response, std::move(f)); +} + +void Flexe::Stub::experimental_async::aggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_async_fit_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncaggregate_async_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::AggregationRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_aggregate_async_fit_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncaggregate_async_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncaggregate_async_fitRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status Flexe::Stub::aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::AggregationRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_aggregate_sync_fit_, context, request, response); +} + +void Flexe::Stub::experimental_async::aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::AggregationRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_sync_fit_, context, request, response, std::move(f)); +} + +void Flexe::Stub::experimental_async::aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_sync_fit_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::AggregationRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_aggregate_sync_fit_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncaggregate_sync_fitRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status Flexe::Stub::aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::AggregationRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_aggregate_evaluate_, context, request, response); +} + +void Flexe::Stub::experimental_async::aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::AggregationRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_evaluate_, context, request, response, std::move(f)); +} + +void Flexe::Stub::experimental_async::aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_aggregate_evaluate_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::AggregationRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_aggregate_evaluate_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncaggregate_evaluateRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status Flexe::Stub::set_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::GenericRequest, ::flexe::GenericReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_set_strategy_, context, request, response); +} + +void Flexe::Stub::experimental_async::set_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::GenericRequest, ::flexe::GenericReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_set_strategy_, context, request, response, std::move(f)); +} + +void Flexe::Stub::experimental_async::set_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_set_strategy_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* Flexe::Stub::PrepareAsyncset_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::GenericReply, ::flexe::GenericRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_set_strategy_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* Flexe::Stub::Asyncset_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncset_strategyRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status Flexe::Stub::get_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::GenericRequest, ::flexe::GenericReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_get_strategy_, context, request, response); +} + +void Flexe::Stub::experimental_async::get_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::GenericRequest, ::flexe::GenericReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_get_strategy_, context, request, response, std::move(f)); +} + +void Flexe::Stub::experimental_async::get_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_get_strategy_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* Flexe::Stub::PrepareAsyncget_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::GenericReply, ::flexe::GenericRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_get_strategy_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* Flexe::Stub::Asyncget_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncget_strategyRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status Flexe::Stub::center_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_center_fit_, context, request, response); +} + +void Flexe::Stub::experimental_async::center_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_center_fit_, context, request, response, std::move(f)); } -void Flexe::Stub::experimental_async::end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericResponse* response, std::function f) { - ::grpc::internal::CallbackUnaryCall< ::flexe::GenericRequest, ::flexe::GenericResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_end_, context, request, response, std::move(f)); +void Flexe::Stub::experimental_async::center_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_center_fit_, context, request, response, reactor); } -void Flexe::Stub::experimental_async::end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) { +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsynccenter_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::GenericRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_center_fit_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asynccenter_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsynccenter_fitRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status Flexe::Stub::center_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_center_evaluate_, context, request, response); +} + +void Flexe::Stub::experimental_async::center_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_center_evaluate_, context, request, response, std::move(f)); +} + +void Flexe::Stub::experimental_async::center_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_center_evaluate_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::PrepareAsynccenter_evaluateRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::ModelReply, ::flexe::GenericRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_center_evaluate_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Flexe::Stub::Asynccenter_evaluateRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsynccenter_evaluateRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status Flexe::Stub::end(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericReply* response) { + return ::grpc::internal::BlockingUnaryCall< ::flexe::GenericRequest, ::flexe::GenericReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_end_, context, request, response); +} + +void Flexe::Stub::experimental_async::end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flexe::GenericRequest, ::flexe::GenericReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_end_, context, request, response, std::move(f)); +} + +void Flexe::Stub::experimental_async::end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) { ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_end_, context, request, response, reactor); } -::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* Flexe::Stub::PrepareAsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { - return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::GenericResponse, ::flexe::GenericRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_end_, context, request); +::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* Flexe::Stub::PrepareAsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flexe::GenericReply, ::flexe::GenericRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_end_, context, request); } -::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* Flexe::Stub::AsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { +::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* Flexe::Stub::AsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { auto* result = this->PrepareAsyncendRaw(context, request, cq); result->StartCall(); @@ -297,72 +497,72 @@ Flexe::Service::Service() { AddMethod(new ::grpc::internal::RpcServiceMethod( Flexe_method_names[1], ::grpc::internal::RpcMethod::NORMAL_RPC, - new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::TTRequest, ::flexe::EvaluateReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](Flexe::Service* service, ::grpc::ServerContext* ctx, const ::flexe::TTRequest* req, - ::flexe::EvaluateReply* resp) { + ::flexe::ModelReply* resp) { return service->evaluate(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( Flexe_method_names[2], ::grpc::internal::RpcMethod::NORMAL_RPC, - new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::TTRequest, ::flexe::GenericResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](Flexe::Service* service, ::grpc::ServerContext* ctx, const ::flexe::TTRequest* req, - ::flexe::GenericResponse* resp) { + ::flexe::ModelReply* resp) { return service->update_model(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( Flexe_method_names[3], ::grpc::internal::RpcMethod::NORMAL_RPC, - new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::TTRequest, ::flexe::EvaluateReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](Flexe::Service* service, ::grpc::ServerContext* ctx, - const ::flexe::TTRequest* req, - ::flexe::EvaluateReply* resp) { - return service->aggregate_evaluate(ctx, req, resp); + const ::flexe::GenericRequest* req, + ::flexe::ModelReply* resp) { + return service->get_information(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( Flexe_method_names[4], ::grpc::internal::RpcMethod::NORMAL_RPC, - new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::ModelRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](Flexe::Service* service, ::grpc::ServerContext* ctx, - const ::flexe::ModelRequest* req, + const ::flexe::GenericRequest* req, ::flexe::ModelReply* resp) { - return service->aggregate_fit(ctx, req, resp); + return service->set_information(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( Flexe_method_names[5], ::grpc::internal::RpcMethod::NORMAL_RPC, - new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](Flexe::Service* service, ::grpc::ServerContext* ctx, - const ::flexe::GenericRequest* req, + const ::flexe::TTRequest* req, ::flexe::ModelReply* resp) { - return service->aggregate_sync_fit(ctx, req, resp); + return service->aggregate_client(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( Flexe_method_names[6], ::grpc::internal::RpcMethod::NORMAL_RPC, - new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::TTRequest, ::flexe::EvaluateReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](Flexe::Service* service, ::grpc::ServerContext* ctx, const ::flexe::TTRequest* req, - ::flexe::EvaluateReply* resp) { - return service->server_evaluate(ctx, req, resp); + ::flexe::ModelReply* resp) { + return service->fit_all(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( Flexe_method_names[7], ::grpc::internal::RpcMethod::NORMAL_RPC, - new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::ModelRequest, ::flexe::GenericResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](Flexe::Service* service, ::grpc::ServerContext* ctx, - const ::flexe::ModelRequest* req, - ::flexe::GenericResponse* resp) { - return service->store_model(ctx, req, resp); + const ::flexe::TTRequest* req, + ::flexe::ModelReply* resp) { + return service->evaluate_all(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( Flexe_method_names[8], @@ -372,16 +572,96 @@ Flexe::Service::Service() { ::grpc::ServerContext* ctx, const ::flexe::TTRequest* req, ::flexe::ModelReply* resp) { - return service->initialize_parameters(ctx, req, resp); + return service->update_all(ctx, req, resp); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( Flexe_method_names[9], ::grpc::internal::RpcMethod::NORMAL_RPC, - new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::GenericRequest, ::flexe::GenericResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::TTRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](Flexe::Service* service, + ::grpc::ServerContext* ctx, + const ::flexe::TTRequest* req, + ::flexe::ModelReply* resp) { + return service->initialize_parameters(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + Flexe_method_names[10], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::AggregationRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](Flexe::Service* service, + ::grpc::ServerContext* ctx, + const ::flexe::AggregationRequest* req, + ::flexe::ModelReply* resp) { + return service->aggregate_async_fit(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + Flexe_method_names[11], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::AggregationRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](Flexe::Service* service, + ::grpc::ServerContext* ctx, + const ::flexe::AggregationRequest* req, + ::flexe::ModelReply* resp) { + return service->aggregate_sync_fit(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + Flexe_method_names[12], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::AggregationRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](Flexe::Service* service, + ::grpc::ServerContext* ctx, + const ::flexe::AggregationRequest* req, + ::flexe::ModelReply* resp) { + return service->aggregate_evaluate(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + Flexe_method_names[13], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::GenericRequest, ::flexe::GenericReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](Flexe::Service* service, + ::grpc::ServerContext* ctx, + const ::flexe::GenericRequest* req, + ::flexe::GenericReply* resp) { + return service->set_strategy(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + Flexe_method_names[14], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::GenericRequest, ::flexe::GenericReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](Flexe::Service* service, + ::grpc::ServerContext* ctx, + const ::flexe::GenericRequest* req, + ::flexe::GenericReply* resp) { + return service->get_strategy(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + Flexe_method_names[15], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](Flexe::Service* service, + ::grpc::ServerContext* ctx, + const ::flexe::GenericRequest* req, + ::flexe::ModelReply* resp) { + return service->center_fit(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + Flexe_method_names[16], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::GenericRequest, ::flexe::ModelReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](Flexe::Service* service, + ::grpc::ServerContext* ctx, + const ::flexe::GenericRequest* req, + ::flexe::ModelReply* resp) { + return service->center_evaluate(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + Flexe_method_names[17], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< Flexe::Service, ::flexe::GenericRequest, ::flexe::GenericReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](Flexe::Service* service, ::grpc::ServerContext* ctx, const ::flexe::GenericRequest* req, - ::flexe::GenericResponse* resp) { + ::flexe::GenericReply* resp) { return service->end(ctx, req, resp); }, this))); } @@ -396,49 +676,56 @@ ::grpc::Status Flexe::Service::fit(::grpc::ServerContext* context, const ::flexe return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } -::grpc::Status Flexe::Service::evaluate(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response) { +::grpc::Status Flexe::Service::evaluate(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { (void) context; (void) request; (void) response; return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } -::grpc::Status Flexe::Service::update_model(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::GenericResponse* response) { +::grpc::Status Flexe::Service::update_model(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { (void) context; (void) request; (void) response; return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } -::grpc::Status Flexe::Service::aggregate_evaluate(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response) { +::grpc::Status Flexe::Service::get_information(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response) { (void) context; (void) request; (void) response; return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } -::grpc::Status Flexe::Service::aggregate_fit(::grpc::ServerContext* context, const ::flexe::ModelRequest* request, ::flexe::ModelReply* response) { +::grpc::Status Flexe::Service::set_information(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response) { (void) context; (void) request; (void) response; return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } -::grpc::Status Flexe::Service::aggregate_sync_fit(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response) { +::grpc::Status Flexe::Service::aggregate_client(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { (void) context; (void) request; (void) response; return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } -::grpc::Status Flexe::Service::server_evaluate(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response) { +::grpc::Status Flexe::Service::fit_all(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { (void) context; (void) request; (void) response; return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } -::grpc::Status Flexe::Service::store_model(::grpc::ServerContext* context, const ::flexe::ModelRequest* request, ::flexe::GenericResponse* response) { +::grpc::Status Flexe::Service::evaluate_all(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status Flexe::Service::update_all(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { (void) context; (void) request; (void) response; @@ -452,7 +739,56 @@ ::grpc::Status Flexe::Service::initialize_parameters(::grpc::ServerContext* cont return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } -::grpc::Status Flexe::Service::end(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericResponse* response) { +::grpc::Status Flexe::Service::aggregate_async_fit(::grpc::ServerContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status Flexe::Service::aggregate_sync_fit(::grpc::ServerContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status Flexe::Service::aggregate_evaluate(::grpc::ServerContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status Flexe::Service::set_strategy(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status Flexe::Service::get_strategy(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status Flexe::Service::center_fit(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status Flexe::Service::center_evaluate(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status Flexe::Service::end(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response) { (void) context; (void) request; (void) response; @@ -461,3 +797,4 @@ ::grpc::Status Flexe::Service::end(::grpc::ServerContext* context, const ::flexe } // namespace flexe + diff --git a/src/flexe/proto/flexe.grpc.pb.h b/src/flexe/proto/flexe.grpc.pb.h index 03e3564..26d4b02 100644 --- a/src/flexe/proto/flexe.grpc.pb.h +++ b/src/flexe/proto/flexe.grpc.pb.h @@ -28,7 +28,6 @@ namespace flexe { -// Defines the service class Flexe final { public: static constexpr char const* service_full_name() { @@ -45,56 +44,63 @@ class Flexe final { std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncfit(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncfitRaw(context, request, cq)); } - virtual ::grpc::Status evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::EvaluateReply* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>> Asyncevaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>>(AsyncevaluateRaw(context, request, cq)); + virtual ::grpc::Status evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncevaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(AsyncevaluateRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>> PrepareAsyncevaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>>(PrepareAsyncevaluateRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncevaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncevaluateRaw(context, request, cq)); } - virtual ::grpc::Status update_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::GenericResponse* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>> Asyncupdate_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>>(Asyncupdate_modelRaw(context, request, cq)); + virtual ::grpc::Status update_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncupdate_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncupdate_modelRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>> PrepareAsyncupdate_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>>(PrepareAsyncupdate_modelRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncupdate_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncupdate_modelRaw(context, request, cq)); } - // Server Functions - virtual ::grpc::Status aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::EvaluateReply* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>> Asyncaggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>>(Asyncaggregate_evaluateRaw(context, request, cq)); + virtual ::grpc::Status get_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncget_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncget_informationRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>> PrepareAsyncaggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>>(PrepareAsyncaggregate_evaluateRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncget_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncget_informationRaw(context, request, cq)); } - virtual ::grpc::Status aggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::flexe::ModelReply* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncaggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncaggregate_fitRaw(context, request, cq)); + virtual ::grpc::Status set_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncset_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncset_informationRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncaggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncaggregate_fitRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncset_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncset_informationRaw(context, request, cq)); } - virtual ::grpc::Status aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncaggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncaggregate_sync_fitRaw(context, request, cq)); + virtual ::grpc::Status aggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncaggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncaggregate_clientRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncaggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncaggregate_sync_fitRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncaggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncaggregate_clientRaw(context, request, cq)); + } + virtual ::grpc::Status fit_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncfit_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncfit_allRaw(context, request, cq)); } - virtual ::grpc::Status server_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::EvaluateReply* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>> Asyncserver_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>>(Asyncserver_evaluateRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncfit_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncfit_allRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>> PrepareAsyncserver_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>>(PrepareAsyncserver_evaluateRaw(context, request, cq)); + virtual ::grpc::Status evaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncevaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncevaluate_allRaw(context, request, cq)); } - virtual ::grpc::Status store_model(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::flexe::GenericResponse* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>> Asyncstore_model(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>>(Asyncstore_modelRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncevaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncevaluate_allRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>> PrepareAsyncstore_model(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>>(PrepareAsyncstore_modelRaw(context, request, cq)); + virtual ::grpc::Status update_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncupdate_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncupdate_allRaw(context, request, cq)); } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncupdate_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncupdate_allRaw(context, request, cq)); + } + // Server Functions virtual ::grpc::Status initialize_parameters(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) = 0; std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncinitialize_parameters(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncinitialize_parametersRaw(context, request, cq)); @@ -102,12 +108,61 @@ class Flexe final { std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncinitialize_parameters(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncinitialize_parametersRaw(context, request, cq)); } - virtual ::grpc::Status end(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericResponse* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>> Asyncend(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>>(AsyncendRaw(context, request, cq)); + virtual ::grpc::Status aggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncaggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncaggregate_async_fitRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncaggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncaggregate_async_fitRaw(context, request, cq)); + } + virtual ::grpc::Status aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncaggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncaggregate_sync_fitRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncaggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncaggregate_sync_fitRaw(context, request, cq)); + } + virtual ::grpc::Status aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asyncaggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asyncaggregate_evaluateRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsyncaggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsyncaggregate_evaluateRaw(context, request, cq)); + } + virtual ::grpc::Status set_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>> Asyncset_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>>(Asyncset_strategyRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>> PrepareAsyncset_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>>(PrepareAsyncset_strategyRaw(context, request, cq)); + } + virtual ::grpc::Status get_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>> Asyncget_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>>(Asyncget_strategyRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>> PrepareAsyncend(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>>(PrepareAsyncendRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>> PrepareAsyncget_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>>(PrepareAsyncget_strategyRaw(context, request, cq)); + } + virtual ::grpc::Status center_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asynccenter_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asynccenter_fitRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsynccenter_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsynccenter_fitRaw(context, request, cq)); + } + virtual ::grpc::Status center_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> Asynccenter_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(Asynccenter_evaluateRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>> PrepareAsynccenter_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>>(PrepareAsynccenter_evaluateRaw(context, request, cq)); + } + virtual ::grpc::Status end(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericReply* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>> Asyncend(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>>(AsyncendRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>> PrepareAsyncend(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>>(PrepareAsyncendRaw(context, request, cq)); } class experimental_async_interface { public: @@ -119,60 +174,108 @@ class Flexe final { #else virtual void fit(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; #endif - virtual void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, std::function) = 0; + virtual void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) = 0; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; #else - virtual void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; #endif - virtual void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::GenericResponse* response, std::function) = 0; + virtual void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) = 0; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::GenericResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; #else - virtual void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::GenericResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; #endif - // Server Functions - virtual void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, std::function) = 0; + virtual void get_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function) = 0; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void get_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + #else + virtual void get_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + #endif + virtual void set_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function) = 0; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void set_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; #else - virtual void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void set_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; #endif - virtual void aggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::ModelReply* response, std::function) = 0; + virtual void aggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) = 0; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual void aggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void aggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; #else - virtual void aggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void aggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; #endif - virtual void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function) = 0; + virtual void fit_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) = 0; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void fit_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; #else - virtual void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void fit_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; #endif - virtual void server_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, std::function) = 0; + virtual void evaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) = 0; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual void server_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void evaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; #else - virtual void server_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void evaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; #endif - virtual void store_model(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::GenericResponse* response, std::function) = 0; + virtual void update_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) = 0; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual void store_model(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::GenericResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void update_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; #else - virtual void store_model(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::GenericResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void update_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; #endif + // Server Functions virtual void initialize_parameters(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) = 0; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL virtual void initialize_parameters(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; #else virtual void initialize_parameters(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; #endif - virtual void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericResponse* response, std::function) = 0; + virtual void aggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, std::function) = 0; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void aggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + #else + virtual void aggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + #endif + virtual void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, std::function) = 0; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + #else + virtual void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + #endif + virtual void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, std::function) = 0; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + #else + virtual void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + #endif + virtual void set_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, std::function) = 0; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void set_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + #else + virtual void set_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + #endif + virtual void get_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, std::function) = 0; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void get_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + #else + virtual void get_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + #endif + virtual void center_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function) = 0; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void center_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + #else + virtual void center_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + #endif + virtual void center_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function) = 0; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void center_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; + #else + virtual void center_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + #endif + virtual void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, std::function) = 0; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::ClientUnaryReactor* reactor) = 0; #else - virtual void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; #endif }; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -185,24 +288,40 @@ class Flexe final { private: virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* AsyncfitRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncfitRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>* AsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>* PrepareAsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>* Asyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>* PrepareAsyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>* Asyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>* PrepareAsyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncaggregate_fitRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncaggregate_fitRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>* Asyncserver_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::EvaluateReply>* PrepareAsyncserver_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>* Asyncstore_modelRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>* PrepareAsyncstore_modelRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* AsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncget_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncget_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncset_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncset_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncaggregate_clientRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncaggregate_clientRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncfit_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncfit_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncevaluate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncevaluate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncupdate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncupdate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncinitialize_parametersRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncinitialize_parametersRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>* AsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericResponse>* PrepareAsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncaggregate_async_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncaggregate_async_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>* Asyncset_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>* PrepareAsyncset_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>* Asyncget_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>* PrepareAsyncget_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asynccenter_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsynccenter_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* Asynccenter_evaluateRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::ModelReply>* PrepareAsynccenter_evaluateRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>* AsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flexe::GenericReply>* PrepareAsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) = 0; }; class Stub final : public StubInterface { public: @@ -214,54 +333,61 @@ class Flexe final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncfit(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncfitRaw(context, request, cq)); } - ::grpc::Status evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::EvaluateReply* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>> Asyncevaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>>(AsyncevaluateRaw(context, request, cq)); + ::grpc::Status evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncevaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(AsyncevaluateRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>> PrepareAsyncevaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>>(PrepareAsyncevaluateRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncevaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncevaluateRaw(context, request, cq)); } - ::grpc::Status update_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::GenericResponse* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>> Asyncupdate_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>>(Asyncupdate_modelRaw(context, request, cq)); + ::grpc::Status update_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncupdate_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncupdate_modelRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>> PrepareAsyncupdate_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>>(PrepareAsyncupdate_modelRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncupdate_model(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncupdate_modelRaw(context, request, cq)); } - ::grpc::Status aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::EvaluateReply* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>> Asyncaggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>>(Asyncaggregate_evaluateRaw(context, request, cq)); + ::grpc::Status get_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncget_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncget_informationRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>> PrepareAsyncaggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>>(PrepareAsyncaggregate_evaluateRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncget_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncget_informationRaw(context, request, cq)); } - ::grpc::Status aggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::flexe::ModelReply* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncaggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncaggregate_fitRaw(context, request, cq)); + ::grpc::Status set_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncset_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncset_informationRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncaggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncaggregate_fitRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncset_information(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncset_informationRaw(context, request, cq)); } - ::grpc::Status aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncaggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncaggregate_sync_fitRaw(context, request, cq)); + ::grpc::Status aggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncaggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncaggregate_clientRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncaggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncaggregate_sync_fitRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncaggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncaggregate_clientRaw(context, request, cq)); + } + ::grpc::Status fit_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncfit_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncfit_allRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncfit_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncfit_allRaw(context, request, cq)); } - ::grpc::Status server_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::EvaluateReply* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>> Asyncserver_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>>(Asyncserver_evaluateRaw(context, request, cq)); + ::grpc::Status evaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncevaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncevaluate_allRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>> PrepareAsyncserver_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>>(PrepareAsyncserver_evaluateRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncevaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncevaluate_allRaw(context, request, cq)); } - ::grpc::Status store_model(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::flexe::GenericResponse* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>> Asyncstore_model(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>>(Asyncstore_modelRaw(context, request, cq)); + ::grpc::Status update_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncupdate_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncupdate_allRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>> PrepareAsyncstore_model(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>>(PrepareAsyncstore_modelRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncupdate_all(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncupdate_allRaw(context, request, cq)); } ::grpc::Status initialize_parameters(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::flexe::ModelReply* response) override; std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncinitialize_parameters(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { @@ -270,12 +396,61 @@ class Flexe final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncinitialize_parameters(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncinitialize_parametersRaw(context, request, cq)); } - ::grpc::Status end(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericResponse* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>> Asyncend(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>>(AsyncendRaw(context, request, cq)); + ::grpc::Status aggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncaggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncaggregate_async_fitRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncaggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncaggregate_async_fitRaw(context, request, cq)); + } + ::grpc::Status aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncaggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncaggregate_sync_fitRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncaggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncaggregate_sync_fitRaw(context, request, cq)); + } + ::grpc::Status aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asyncaggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asyncaggregate_evaluateRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsyncaggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsyncaggregate_evaluateRaw(context, request, cq)); + } + ::grpc::Status set_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>> Asyncset_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>>(Asyncset_strategyRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>> PrepareAsyncset_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>>(PrepareAsyncset_strategyRaw(context, request, cq)); + } + ::grpc::Status get_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>> Asyncget_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>>(Asyncget_strategyRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>> PrepareAsyncget_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>>(PrepareAsyncget_strategyRaw(context, request, cq)); + } + ::grpc::Status center_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asynccenter_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asynccenter_fitRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>> PrepareAsyncend(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>>(PrepareAsyncendRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsynccenter_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsynccenter_fitRaw(context, request, cq)); + } + ::grpc::Status center_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::ModelReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> Asynccenter_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(Asynccenter_evaluateRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>> PrepareAsynccenter_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>>(PrepareAsynccenter_evaluateRaw(context, request, cq)); + } + ::grpc::Status end(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::flexe::GenericReply* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>> Asyncend(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>>(AsyncendRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>> PrepareAsyncend(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>>(PrepareAsyncendRaw(context, request, cq)); } class experimental_async final : public StubInterface::experimental_async_interface { @@ -286,47 +461,53 @@ class Flexe final { #else void fit(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; #endif - void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, std::function) override; + void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) override; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::ClientUnaryReactor* reactor) override; + void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; #else - void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; #endif - void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::GenericResponse* response, std::function) override; + void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) override; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::GenericResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; #else - void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::GenericResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void update_model(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; #endif - void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, std::function) override; + void get_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function) override; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::ClientUnaryReactor* reactor) override; + void get_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; #else - void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void get_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; #endif - void aggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::ModelReply* response, std::function) override; + void set_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function) override; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - void aggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; + void set_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; #else - void aggregate_fit(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void set_information(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; #endif - void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function) override; + void aggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) override; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; + void aggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; #else - void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void aggregate_client(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; #endif - void server_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, std::function) override; + void fit_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) override; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - void server_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::ClientUnaryReactor* reactor) override; + void fit_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; #else - void server_evaluate(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void fit_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; #endif - void store_model(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::GenericResponse* response, std::function) override; + void evaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) override; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - void store_model(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::GenericResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void evaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; #else - void store_model(::grpc::ClientContext* context, const ::flexe::ModelRequest* request, ::flexe::GenericResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void evaluate_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + #endif + void update_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) override; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void update_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; + #else + void update_all(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; #endif void initialize_parameters(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, std::function) override; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -334,11 +515,53 @@ class Flexe final { #else void initialize_parameters(::grpc::ClientContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; #endif - void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericResponse* response, std::function) override; + void aggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, std::function) override; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void aggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; + #else + void aggregate_async_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + #endif + void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, std::function) override; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; + #else + void aggregate_sync_fit(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + #endif + void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, std::function) override; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; + #else + void aggregate_evaluate(::grpc::ClientContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + #endif + void set_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, std::function) override; #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void set_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::ClientUnaryReactor* reactor) override; #else - void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void set_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + #endif + void get_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, std::function) override; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void get_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::ClientUnaryReactor* reactor) override; + #else + void get_strategy(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + #endif + void center_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function) override; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void center_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; + #else + void center_fit(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + #endif + void center_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, std::function) override; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void center_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::ClientUnaryReactor* reactor) override; + #else + void center_evaluate(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + #endif + void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, std::function) override; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::ClientUnaryReactor* reactor) override; + #else + void end(::grpc::ClientContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; #endif private: friend class Stub; @@ -353,33 +576,57 @@ class Flexe final { class experimental_async async_stub_{this}; ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* AsyncfitRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncfitRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* AsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* PrepareAsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* Asyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* PrepareAsyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* Asyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* PrepareAsyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncaggregate_fitRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncaggregate_fitRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* Asyncserver_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::EvaluateReply>* PrepareAsyncserver_evaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* Asyncstore_modelRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* PrepareAsyncstore_modelRaw(::grpc::ClientContext* context, const ::flexe::ModelRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* AsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncevaluateRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncupdate_modelRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncget_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncget_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncset_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncset_informationRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncaggregate_clientRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncaggregate_clientRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncfit_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncfit_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncevaluate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncevaluate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncupdate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncupdate_allRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncinitialize_parametersRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncinitialize_parametersRaw(::grpc::ClientContext* context, const ::flexe::TTRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* AsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::flexe::GenericResponse>* PrepareAsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncaggregate_async_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncaggregate_async_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncaggregate_sync_fitRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsyncaggregate_evaluateRaw(::grpc::ClientContext* context, const ::flexe::AggregationRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* Asyncset_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* PrepareAsyncset_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* Asyncget_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* PrepareAsyncget_strategyRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asynccenter_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsynccenter_fitRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* Asynccenter_evaluateRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::ModelReply>* PrepareAsynccenter_evaluateRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* AsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flexe::GenericReply>* PrepareAsyncendRaw(::grpc::ClientContext* context, const ::flexe::GenericRequest& request, ::grpc::CompletionQueue* cq) override; const ::grpc::internal::RpcMethod rpcmethod_fit_; const ::grpc::internal::RpcMethod rpcmethod_evaluate_; const ::grpc::internal::RpcMethod rpcmethod_update_model_; - const ::grpc::internal::RpcMethod rpcmethod_aggregate_evaluate_; - const ::grpc::internal::RpcMethod rpcmethod_aggregate_fit_; - const ::grpc::internal::RpcMethod rpcmethod_aggregate_sync_fit_; - const ::grpc::internal::RpcMethod rpcmethod_server_evaluate_; - const ::grpc::internal::RpcMethod rpcmethod_store_model_; + const ::grpc::internal::RpcMethod rpcmethod_get_information_; + const ::grpc::internal::RpcMethod rpcmethod_set_information_; + const ::grpc::internal::RpcMethod rpcmethod_aggregate_client_; + const ::grpc::internal::RpcMethod rpcmethod_fit_all_; + const ::grpc::internal::RpcMethod rpcmethod_evaluate_all_; + const ::grpc::internal::RpcMethod rpcmethod_update_all_; const ::grpc::internal::RpcMethod rpcmethod_initialize_parameters_; + const ::grpc::internal::RpcMethod rpcmethod_aggregate_async_fit_; + const ::grpc::internal::RpcMethod rpcmethod_aggregate_sync_fit_; + const ::grpc::internal::RpcMethod rpcmethod_aggregate_evaluate_; + const ::grpc::internal::RpcMethod rpcmethod_set_strategy_; + const ::grpc::internal::RpcMethod rpcmethod_get_strategy_; + const ::grpc::internal::RpcMethod rpcmethod_center_fit_; + const ::grpc::internal::RpcMethod rpcmethod_center_evaluate_; const ::grpc::internal::RpcMethod rpcmethod_end_; }; static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); @@ -390,16 +637,24 @@ class Flexe final { virtual ~Service(); // Client Functions virtual ::grpc::Status fit(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response); - virtual ::grpc::Status evaluate(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response); - virtual ::grpc::Status update_model(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::GenericResponse* response); + virtual ::grpc::Status evaluate(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status update_model(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status get_information(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status set_information(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status aggregate_client(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status fit_all(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status evaluate_all(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status update_all(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response); // Server Functions - virtual ::grpc::Status aggregate_evaluate(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response); - virtual ::grpc::Status aggregate_fit(::grpc::ServerContext* context, const ::flexe::ModelRequest* request, ::flexe::ModelReply* response); - virtual ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response); - virtual ::grpc::Status server_evaluate(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response); - virtual ::grpc::Status store_model(::grpc::ServerContext* context, const ::flexe::ModelRequest* request, ::flexe::GenericResponse* response); virtual ::grpc::Status initialize_parameters(::grpc::ServerContext* context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response); - virtual ::grpc::Status end(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericResponse* response); + virtual ::grpc::Status aggregate_async_fit(::grpc::ServerContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status aggregate_evaluate(::grpc::ServerContext* context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status set_strategy(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response); + virtual ::grpc::Status get_strategy(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response); + virtual ::grpc::Status center_fit(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status center_evaluate(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response); + virtual ::grpc::Status end(::grpc::ServerContext* context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response); }; template class WithAsyncMethod_fit : public BaseClass { @@ -433,11 +688,11 @@ class Flexe final { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestevaluate(::grpc::ServerContext* context, ::flexe::TTRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::EvaluateReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestevaluate(::grpc::ServerContext* context, ::flexe::TTRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); } }; @@ -453,121 +708,141 @@ class Flexe final { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestupdate_model(::grpc::ServerContext* context, ::flexe::TTRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::GenericResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestupdate_model(::grpc::ServerContext* context, ::flexe::TTRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithAsyncMethod_aggregate_evaluate : public BaseClass { + class WithAsyncMethod_get_information : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithAsyncMethod_aggregate_evaluate() { + WithAsyncMethod_get_information() { ::grpc::Service::MarkMethodAsync(3); } - ~WithAsyncMethod_aggregate_evaluate() override { + ~WithAsyncMethod_get_information() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status get_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestaggregate_evaluate(::grpc::ServerContext* context, ::flexe::TTRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::EvaluateReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestget_information(::grpc::ServerContext* context, ::flexe::GenericRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithAsyncMethod_aggregate_fit : public BaseClass { + class WithAsyncMethod_set_information : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithAsyncMethod_aggregate_fit() { + WithAsyncMethod_set_information() { ::grpc::Service::MarkMethodAsync(4); } - ~WithAsyncMethod_aggregate_fit() override { + ~WithAsyncMethod_set_information() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_fit(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status set_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestaggregate_fit(::grpc::ServerContext* context, ::flexe::ModelRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestset_information(::grpc::ServerContext* context, ::flexe::GenericRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(4, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithAsyncMethod_aggregate_sync_fit : public BaseClass { + class WithAsyncMethod_aggregate_client : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithAsyncMethod_aggregate_sync_fit() { + WithAsyncMethod_aggregate_client() { ::grpc::Service::MarkMethodAsync(5); } - ~WithAsyncMethod_aggregate_sync_fit() override { + ~WithAsyncMethod_aggregate_client() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status aggregate_client(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestaggregate_sync_fit(::grpc::ServerContext* context, ::flexe::GenericRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestaggregate_client(::grpc::ServerContext* context, ::flexe::TTRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithAsyncMethod_server_evaluate : public BaseClass { + class WithAsyncMethod_fit_all : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithAsyncMethod_server_evaluate() { + WithAsyncMethod_fit_all() { ::grpc::Service::MarkMethodAsync(6); } - ~WithAsyncMethod_server_evaluate() override { + ~WithAsyncMethod_fit_all() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status server_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status fit_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestserver_evaluate(::grpc::ServerContext* context, ::flexe::TTRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::EvaluateReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestfit_all(::grpc::ServerContext* context, ::flexe::TTRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(6, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithAsyncMethod_store_model : public BaseClass { + class WithAsyncMethod_evaluate_all : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithAsyncMethod_store_model() { + WithAsyncMethod_evaluate_all() { ::grpc::Service::MarkMethodAsync(7); } - ~WithAsyncMethod_store_model() override { + ~WithAsyncMethod_evaluate_all() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status store_model(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status evaluate_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requeststore_model(::grpc::ServerContext* context, ::flexe::ModelRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::GenericResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestevaluate_all(::grpc::ServerContext* context, ::flexe::TTRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(7, context, request, response, new_call_cq, notification_cq, tag); } }; template + class WithAsyncMethod_update_all : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_update_all() { + ::grpc::Service::MarkMethodAsync(8); + } + ~WithAsyncMethod_update_all() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status update_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestupdate_all(::grpc::ServerContext* context, ::flexe::TTRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithAsyncMethod_initialize_parameters : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_initialize_parameters() { - ::grpc::Service::MarkMethodAsync(8); + ::grpc::Service::MarkMethodAsync(9); } ~WithAsyncMethod_initialize_parameters() override { BaseClassMustBeDerivedFromService(this); @@ -578,7 +853,147 @@ class Flexe final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void Requestinitialize_parameters(::grpc::ServerContext* context, ::flexe::TTRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_aggregate_async_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_aggregate_async_fit() { + ::grpc::Service::MarkMethodAsync(10); + } + ~WithAsyncMethod_aggregate_async_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status aggregate_async_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestaggregate_async_fit(::grpc::ServerContext* context, ::flexe::AggregationRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(10, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_aggregate_sync_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_aggregate_sync_fit() { + ::grpc::Service::MarkMethodAsync(11); + } + ~WithAsyncMethod_aggregate_sync_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestaggregate_sync_fit(::grpc::ServerContext* context, ::flexe::AggregationRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_aggregate_evaluate : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_aggregate_evaluate() { + ::grpc::Service::MarkMethodAsync(12); + } + ~WithAsyncMethod_aggregate_evaluate() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestaggregate_evaluate(::grpc::ServerContext* context, ::flexe::AggregationRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_set_strategy : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_set_strategy() { + ::grpc::Service::MarkMethodAsync(13); + } + ~WithAsyncMethod_set_strategy() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status set_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestset_strategy(::grpc::ServerContext* context, ::flexe::GenericRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::GenericReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_get_strategy : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_get_strategy() { + ::grpc::Service::MarkMethodAsync(14); + } + ~WithAsyncMethod_get_strategy() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status get_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestget_strategy(::grpc::ServerContext* context, ::flexe::GenericRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::GenericReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_center_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_center_fit() { + ::grpc::Service::MarkMethodAsync(15); + } + ~WithAsyncMethod_center_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status center_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestcenter_fit(::grpc::ServerContext* context, ::flexe::GenericRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_center_evaluate : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_center_evaluate() { + ::grpc::Service::MarkMethodAsync(16); + } + ~WithAsyncMethod_center_evaluate() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status center_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestcenter_evaluate(::grpc::ServerContext* context, ::flexe::GenericRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::ModelReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -587,21 +1002,21 @@ class Flexe final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_end() { - ::grpc::Service::MarkMethodAsync(9); + ::grpc::Service::MarkMethodAsync(17); } ~WithAsyncMethod_end() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestend(::grpc::ServerContext* context, ::flexe::GenericRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::GenericResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag); + void Requestend(::grpc::ServerContext* context, ::flexe::GenericRequest* request, ::grpc::ServerAsyncResponseWriter< ::flexe::GenericReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); } }; - typedef WithAsyncMethod_fit > > > > > > > > > AsyncService; + typedef WithAsyncMethod_fit > > > > > > > > > > > > > > > > > AsyncService; template class ExperimentalWithCallbackMethod_fit : public BaseClass { private: @@ -661,38 +1076,38 @@ class Flexe final { ::grpc::Service::experimental(). #endif MarkMethodCallback(1, - new ::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::EvaluateReply>( + new ::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::CallbackServerContext* #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response) { return this->evaluate(context, request, response); }));} + context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { return this->evaluate(context, request, response); }));} void SetMessageAllocatorFor_evaluate( - ::grpc::experimental::MessageAllocator< ::flexe::TTRequest, ::flexe::EvaluateReply>* allocator) { + ::grpc::experimental::MessageAllocator< ::flexe::TTRequest, ::flexe::ModelReply>* allocator) { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(1); #else ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(1); #endif - static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::EvaluateReply>*>(handler) + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>*>(handler) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_evaluate() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL virtual ::grpc::ServerUnaryReactor* evaluate( - ::grpc::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) + ::grpc::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #else virtual ::grpc::experimental::ServerUnaryReactor* evaluate( - ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #endif { return nullptr; } }; @@ -708,282 +1123,282 @@ class Flexe final { ::grpc::Service::experimental(). #endif MarkMethodCallback(2, - new ::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::GenericResponse>( + new ::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::CallbackServerContext* #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::flexe::TTRequest* request, ::flexe::GenericResponse* response) { return this->update_model(context, request, response); }));} + context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { return this->update_model(context, request, response); }));} void SetMessageAllocatorFor_update_model( - ::grpc::experimental::MessageAllocator< ::flexe::TTRequest, ::flexe::GenericResponse>* allocator) { + ::grpc::experimental::MessageAllocator< ::flexe::TTRequest, ::flexe::ModelReply>* allocator) { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(2); #else ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(2); #endif - static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::GenericResponse>*>(handler) + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>*>(handler) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_update_model() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL virtual ::grpc::ServerUnaryReactor* update_model( - ::grpc::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::GenericResponse* /*response*/) + ::grpc::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #else virtual ::grpc::experimental::ServerUnaryReactor* update_model( - ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::GenericResponse* /*response*/) + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithCallbackMethod_aggregate_evaluate : public BaseClass { + class ExperimentalWithCallbackMethod_get_information : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithCallbackMethod_aggregate_evaluate() { + ExperimentalWithCallbackMethod_get_information() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif MarkMethodCallback(3, - new ::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::EvaluateReply>( + new ::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::ModelReply>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::CallbackServerContext* #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response) { return this->aggregate_evaluate(context, request, response); }));} - void SetMessageAllocatorFor_aggregate_evaluate( - ::grpc::experimental::MessageAllocator< ::flexe::TTRequest, ::flexe::EvaluateReply>* allocator) { + context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response) { return this->get_information(context, request, response); }));} + void SetMessageAllocatorFor_get_information( + ::grpc::experimental::MessageAllocator< ::flexe::GenericRequest, ::flexe::ModelReply>* allocator) { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(3); #else ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(3); #endif - static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::EvaluateReply>*>(handler) + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::ModelReply>*>(handler) ->SetMessageAllocator(allocator); } - ~ExperimentalWithCallbackMethod_aggregate_evaluate() override { + ~ExperimentalWithCallbackMethod_get_information() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status get_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* aggregate_evaluate( - ::grpc::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) + virtual ::grpc::ServerUnaryReactor* get_information( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* aggregate_evaluate( - ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) + virtual ::grpc::experimental::ServerUnaryReactor* get_information( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithCallbackMethod_aggregate_fit : public BaseClass { + class ExperimentalWithCallbackMethod_set_information : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithCallbackMethod_aggregate_fit() { + ExperimentalWithCallbackMethod_set_information() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif MarkMethodCallback(4, - new ::grpc::internal::CallbackUnaryHandler< ::flexe::ModelRequest, ::flexe::ModelReply>( + new ::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::ModelReply>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::CallbackServerContext* #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::flexe::ModelRequest* request, ::flexe::ModelReply* response) { return this->aggregate_fit(context, request, response); }));} - void SetMessageAllocatorFor_aggregate_fit( - ::grpc::experimental::MessageAllocator< ::flexe::ModelRequest, ::flexe::ModelReply>* allocator) { + context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response) { return this->set_information(context, request, response); }));} + void SetMessageAllocatorFor_set_information( + ::grpc::experimental::MessageAllocator< ::flexe::GenericRequest, ::flexe::ModelReply>* allocator) { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(4); #else ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(4); #endif - static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::ModelRequest, ::flexe::ModelReply>*>(handler) + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::ModelReply>*>(handler) ->SetMessageAllocator(allocator); } - ~ExperimentalWithCallbackMethod_aggregate_fit() override { + ~ExperimentalWithCallbackMethod_set_information() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_fit(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status set_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* aggregate_fit( - ::grpc::CallbackServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::ModelReply* /*response*/) + virtual ::grpc::ServerUnaryReactor* set_information( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* aggregate_fit( - ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::ModelReply* /*response*/) + virtual ::grpc::experimental::ServerUnaryReactor* set_information( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithCallbackMethod_aggregate_sync_fit : public BaseClass { + class ExperimentalWithCallbackMethod_aggregate_client : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithCallbackMethod_aggregate_sync_fit() { + ExperimentalWithCallbackMethod_aggregate_client() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif MarkMethodCallback(5, - new ::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::ModelReply>( + new ::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::CallbackServerContext* #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response) { return this->aggregate_sync_fit(context, request, response); }));} - void SetMessageAllocatorFor_aggregate_sync_fit( - ::grpc::experimental::MessageAllocator< ::flexe::GenericRequest, ::flexe::ModelReply>* allocator) { + context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { return this->aggregate_client(context, request, response); }));} + void SetMessageAllocatorFor_aggregate_client( + ::grpc::experimental::MessageAllocator< ::flexe::TTRequest, ::flexe::ModelReply>* allocator) { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(5); #else ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(5); #endif - static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::ModelReply>*>(handler) + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>*>(handler) ->SetMessageAllocator(allocator); } - ~ExperimentalWithCallbackMethod_aggregate_sync_fit() override { + ~ExperimentalWithCallbackMethod_aggregate_client() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status aggregate_client(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* aggregate_sync_fit( - ::grpc::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) + virtual ::grpc::ServerUnaryReactor* aggregate_client( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* aggregate_sync_fit( - ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) + virtual ::grpc::experimental::ServerUnaryReactor* aggregate_client( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithCallbackMethod_server_evaluate : public BaseClass { + class ExperimentalWithCallbackMethod_fit_all : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithCallbackMethod_server_evaluate() { + ExperimentalWithCallbackMethod_fit_all() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif MarkMethodCallback(6, - new ::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::EvaluateReply>( + new ::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::CallbackServerContext* #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::flexe::TTRequest* request, ::flexe::EvaluateReply* response) { return this->server_evaluate(context, request, response); }));} - void SetMessageAllocatorFor_server_evaluate( - ::grpc::experimental::MessageAllocator< ::flexe::TTRequest, ::flexe::EvaluateReply>* allocator) { + context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { return this->fit_all(context, request, response); }));} + void SetMessageAllocatorFor_fit_all( + ::grpc::experimental::MessageAllocator< ::flexe::TTRequest, ::flexe::ModelReply>* allocator) { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(6); #else ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(6); #endif - static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::EvaluateReply>*>(handler) + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>*>(handler) ->SetMessageAllocator(allocator); } - ~ExperimentalWithCallbackMethod_server_evaluate() override { + ~ExperimentalWithCallbackMethod_fit_all() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status server_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status fit_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* server_evaluate( - ::grpc::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) + virtual ::grpc::ServerUnaryReactor* fit_all( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* server_evaluate( - ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) + virtual ::grpc::experimental::ServerUnaryReactor* fit_all( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithCallbackMethod_store_model : public BaseClass { + class ExperimentalWithCallbackMethod_evaluate_all : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithCallbackMethod_store_model() { + ExperimentalWithCallbackMethod_evaluate_all() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif MarkMethodCallback(7, - new ::grpc::internal::CallbackUnaryHandler< ::flexe::ModelRequest, ::flexe::GenericResponse>( + new ::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::CallbackServerContext* #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::flexe::ModelRequest* request, ::flexe::GenericResponse* response) { return this->store_model(context, request, response); }));} - void SetMessageAllocatorFor_store_model( - ::grpc::experimental::MessageAllocator< ::flexe::ModelRequest, ::flexe::GenericResponse>* allocator) { + context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { return this->evaluate_all(context, request, response); }));} + void SetMessageAllocatorFor_evaluate_all( + ::grpc::experimental::MessageAllocator< ::flexe::TTRequest, ::flexe::ModelReply>* allocator) { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(7); #else ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(7); #endif - static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::ModelRequest, ::flexe::GenericResponse>*>(handler) + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>*>(handler) ->SetMessageAllocator(allocator); } - ~ExperimentalWithCallbackMethod_store_model() override { + ~ExperimentalWithCallbackMethod_evaluate_all() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status store_model(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status evaluate_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* store_model( - ::grpc::CallbackServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::GenericResponse* /*response*/) + virtual ::grpc::ServerUnaryReactor* evaluate_all( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* store_model( - ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::GenericResponse* /*response*/) + virtual ::grpc::experimental::ServerUnaryReactor* evaluate_all( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithCallbackMethod_initialize_parameters : public BaseClass { + class ExperimentalWithCallbackMethod_update_all : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithCallbackMethod_initialize_parameters() { + ExperimentalWithCallbackMethod_update_all() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else @@ -997,8 +1412,8 @@ class Flexe final { #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { return this->initialize_parameters(context, request, response); }));} - void SetMessageAllocatorFor_initialize_parameters( + context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { return this->update_all(context, request, response); }));} + void SetMessageAllocatorFor_update_all( ::grpc::experimental::MessageAllocator< ::flexe::TTRequest, ::flexe::ModelReply>* allocator) { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(8); @@ -1008,219 +1423,612 @@ class Flexe final { static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>*>(handler) ->SetMessageAllocator(allocator); } - ~ExperimentalWithCallbackMethod_initialize_parameters() override { + ~ExperimentalWithCallbackMethod_update_all() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status initialize_parameters(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status update_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* initialize_parameters( + virtual ::grpc::ServerUnaryReactor* update_all( ::grpc::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* initialize_parameters( + virtual ::grpc::experimental::ServerUnaryReactor* update_all( ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithCallbackMethod_end : public BaseClass { + class ExperimentalWithCallbackMethod_initialize_parameters : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithCallbackMethod_end() { + ExperimentalWithCallbackMethod_initialize_parameters() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif MarkMethodCallback(9, - new ::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::GenericResponse>( + new ::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::CallbackServerContext* #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::flexe::GenericRequest* request, ::flexe::GenericResponse* response) { return this->end(context, request, response); }));} - void SetMessageAllocatorFor_end( - ::grpc::experimental::MessageAllocator< ::flexe::GenericRequest, ::flexe::GenericResponse>* allocator) { + context, const ::flexe::TTRequest* request, ::flexe::ModelReply* response) { return this->initialize_parameters(context, request, response); }));} + void SetMessageAllocatorFor_initialize_parameters( + ::grpc::experimental::MessageAllocator< ::flexe::TTRequest, ::flexe::ModelReply>* allocator) { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(9); #else ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(9); #endif - static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::GenericResponse>*>(handler) + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>*>(handler) ->SetMessageAllocator(allocator); } - ~ExperimentalWithCallbackMethod_end() override { + ~ExperimentalWithCallbackMethod_initialize_parameters() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status initialize_parameters(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* end( - ::grpc::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericResponse* /*response*/) + virtual ::grpc::ServerUnaryReactor* initialize_parameters( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* end( - ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericResponse* /*response*/) + virtual ::grpc::experimental::ServerUnaryReactor* initialize_parameters( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) #endif { return nullptr; } }; - #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - typedef ExperimentalWithCallbackMethod_fit > > > > > > > > > CallbackService; - #endif - - typedef ExperimentalWithCallbackMethod_fit > > > > > > > > > ExperimentalCallbackService; template - class WithGenericMethod_fit : public BaseClass { + class ExperimentalWithCallbackMethod_aggregate_async_fit : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_fit() { - ::grpc::Service::MarkMethodGeneric(0); + ExperimentalWithCallbackMethod_aggregate_async_fit() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(10, + new ::grpc::internal::CallbackUnaryHandler< ::flexe::AggregationRequest, ::flexe::ModelReply>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response) { return this->aggregate_async_fit(context, request, response); }));} + void SetMessageAllocatorFor_aggregate_async_fit( + ::grpc::experimental::MessageAllocator< ::flexe::AggregationRequest, ::flexe::ModelReply>* allocator) { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(10); + #else + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(10); + #endif + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::AggregationRequest, ::flexe::ModelReply>*>(handler) + ->SetMessageAllocator(allocator); } - ~WithGenericMethod_fit() override { + ~ExperimentalWithCallbackMethod_aggregate_async_fit() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status fit(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status aggregate_async_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* aggregate_async_fit( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* aggregate_async_fit( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) + #endif + { return nullptr; } }; template - class WithGenericMethod_evaluate : public BaseClass { + class ExperimentalWithCallbackMethod_aggregate_sync_fit : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_evaluate() { - ::grpc::Service::MarkMethodGeneric(1); + ExperimentalWithCallbackMethod_aggregate_sync_fit() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(11, + new ::grpc::internal::CallbackUnaryHandler< ::flexe::AggregationRequest, ::flexe::ModelReply>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response) { return this->aggregate_sync_fit(context, request, response); }));} + void SetMessageAllocatorFor_aggregate_sync_fit( + ::grpc::experimental::MessageAllocator< ::flexe::AggregationRequest, ::flexe::ModelReply>* allocator) { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(11); + #else + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(11); + #endif + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::AggregationRequest, ::flexe::ModelReply>*>(handler) + ->SetMessageAllocator(allocator); } - ~WithGenericMethod_evaluate() override { + ~ExperimentalWithCallbackMethod_aggregate_sync_fit() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* aggregate_sync_fit( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* aggregate_sync_fit( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) + #endif + { return nullptr; } }; template - class WithGenericMethod_update_model : public BaseClass { + class ExperimentalWithCallbackMethod_aggregate_evaluate : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_update_model() { - ::grpc::Service::MarkMethodGeneric(2); + ExperimentalWithCallbackMethod_aggregate_evaluate() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(12, + new ::grpc::internal::CallbackUnaryHandler< ::flexe::AggregationRequest, ::flexe::ModelReply>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::flexe::AggregationRequest* request, ::flexe::ModelReply* response) { return this->aggregate_evaluate(context, request, response); }));} + void SetMessageAllocatorFor_aggregate_evaluate( + ::grpc::experimental::MessageAllocator< ::flexe::AggregationRequest, ::flexe::ModelReply>* allocator) { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(12); + #else + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(12); + #endif + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::AggregationRequest, ::flexe::ModelReply>*>(handler) + ->SetMessageAllocator(allocator); } - ~WithGenericMethod_update_model() override { + ~ExperimentalWithCallbackMethod_aggregate_evaluate() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* aggregate_evaluate( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* aggregate_evaluate( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) + #endif + { return nullptr; } }; template - class WithGenericMethod_aggregate_evaluate : public BaseClass { + class ExperimentalWithCallbackMethod_set_strategy : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_aggregate_evaluate() { - ::grpc::Service::MarkMethodGeneric(3); + ExperimentalWithCallbackMethod_set_strategy() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(13, + new ::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::GenericReply>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response) { return this->set_strategy(context, request, response); }));} + void SetMessageAllocatorFor_set_strategy( + ::grpc::experimental::MessageAllocator< ::flexe::GenericRequest, ::flexe::GenericReply>* allocator) { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(13); + #else + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(13); + #endif + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::GenericReply>*>(handler) + ->SetMessageAllocator(allocator); } - ~WithGenericMethod_aggregate_evaluate() override { + ~ExperimentalWithCallbackMethod_set_strategy() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status set_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* set_strategy( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* set_strategy( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) + #endif + { return nullptr; } }; template - class WithGenericMethod_aggregate_fit : public BaseClass { + class ExperimentalWithCallbackMethod_get_strategy : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_aggregate_fit() { - ::grpc::Service::MarkMethodGeneric(4); + ExperimentalWithCallbackMethod_get_strategy() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(14, + new ::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::GenericReply>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response) { return this->get_strategy(context, request, response); }));} + void SetMessageAllocatorFor_get_strategy( + ::grpc::experimental::MessageAllocator< ::flexe::GenericRequest, ::flexe::GenericReply>* allocator) { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(14); + #else + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(14); + #endif + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::GenericReply>*>(handler) + ->SetMessageAllocator(allocator); } - ~WithGenericMethod_aggregate_fit() override { + ~ExperimentalWithCallbackMethod_get_strategy() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_fit(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status get_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* get_strategy( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* get_strategy( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) + #endif + { return nullptr; } }; template - class WithGenericMethod_aggregate_sync_fit : public BaseClass { + class ExperimentalWithCallbackMethod_center_fit : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_aggregate_sync_fit() { - ::grpc::Service::MarkMethodGeneric(5); + ExperimentalWithCallbackMethod_center_fit() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(15, + new ::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::ModelReply>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response) { return this->center_fit(context, request, response); }));} + void SetMessageAllocatorFor_center_fit( + ::grpc::experimental::MessageAllocator< ::flexe::GenericRequest, ::flexe::ModelReply>* allocator) { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(15); + #else + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(15); + #endif + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::ModelReply>*>(handler) + ->SetMessageAllocator(allocator); } - ~WithGenericMethod_aggregate_sync_fit() override { + ~ExperimentalWithCallbackMethod_center_fit() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status center_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* center_fit( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* center_fit( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) + #endif + { return nullptr; } }; template - class WithGenericMethod_server_evaluate : public BaseClass { + class ExperimentalWithCallbackMethod_center_evaluate : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_server_evaluate() { - ::grpc::Service::MarkMethodGeneric(6); + ExperimentalWithCallbackMethod_center_evaluate() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(16, + new ::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::ModelReply>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::flexe::GenericRequest* request, ::flexe::ModelReply* response) { return this->center_evaluate(context, request, response); }));} + void SetMessageAllocatorFor_center_evaluate( + ::grpc::experimental::MessageAllocator< ::flexe::GenericRequest, ::flexe::ModelReply>* allocator) { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(16); + #else + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(16); + #endif + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::ModelReply>*>(handler) + ->SetMessageAllocator(allocator); } - ~WithGenericMethod_server_evaluate() override { + ~ExperimentalWithCallbackMethod_center_evaluate() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status server_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status center_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* center_evaluate( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* center_evaluate( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) + #endif + { return nullptr; } }; template - class WithGenericMethod_store_model : public BaseClass { + class ExperimentalWithCallbackMethod_end : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_store_model() { - ::grpc::Service::MarkMethodGeneric(7); + ExperimentalWithCallbackMethod_end() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(17, + new ::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::GenericReply>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::flexe::GenericRequest* request, ::flexe::GenericReply* response) { return this->end(context, request, response); }));} + void SetMessageAllocatorFor_end( + ::grpc::experimental::MessageAllocator< ::flexe::GenericRequest, ::flexe::GenericReply>* allocator) { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(17); + #else + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(17); + #endif + static_cast<::grpc::internal::CallbackUnaryHandler< ::flexe::GenericRequest, ::flexe::GenericReply>*>(handler) + ->SetMessageAllocator(allocator); } - ~WithGenericMethod_store_model() override { + ~ExperimentalWithCallbackMethod_end() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status store_model(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* end( + ::grpc::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* end( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) + #endif + { return nullptr; } }; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + typedef ExperimentalWithCallbackMethod_fit > > > > > > > > > > > > > > > > > CallbackService; + #endif + + typedef ExperimentalWithCallbackMethod_fit > > > > > > > > > > > > > > > > > ExperimentalCallbackService; template - class WithGenericMethod_initialize_parameters : public BaseClass { + class WithGenericMethod_fit : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_initialize_parameters() { + WithGenericMethod_fit() { + ::grpc::Service::MarkMethodGeneric(0); + } + ~WithGenericMethod_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status fit(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_evaluate : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_evaluate() { + ::grpc::Service::MarkMethodGeneric(1); + } + ~WithGenericMethod_evaluate() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_update_model : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_update_model() { + ::grpc::Service::MarkMethodGeneric(2); + } + ~WithGenericMethod_update_model() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_get_information : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_get_information() { + ::grpc::Service::MarkMethodGeneric(3); + } + ~WithGenericMethod_get_information() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status get_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_set_information : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_set_information() { + ::grpc::Service::MarkMethodGeneric(4); + } + ~WithGenericMethod_set_information() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status set_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_aggregate_client : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_aggregate_client() { + ::grpc::Service::MarkMethodGeneric(5); + } + ~WithGenericMethod_aggregate_client() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status aggregate_client(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_fit_all : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_fit_all() { + ::grpc::Service::MarkMethodGeneric(6); + } + ~WithGenericMethod_fit_all() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status fit_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_evaluate_all : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_evaluate_all() { + ::grpc::Service::MarkMethodGeneric(7); + } + ~WithGenericMethod_evaluate_all() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status evaluate_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_update_all : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_update_all() { ::grpc::Service::MarkMethodGeneric(8); } + ~WithGenericMethod_update_all() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status update_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_initialize_parameters : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_initialize_parameters() { + ::grpc::Service::MarkMethodGeneric(9); + } ~WithGenericMethod_initialize_parameters() override { BaseClassMustBeDerivedFromService(this); } @@ -1231,18 +2039,137 @@ class Flexe final { } }; template + class WithGenericMethod_aggregate_async_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_aggregate_async_fit() { + ::grpc::Service::MarkMethodGeneric(10); + } + ~WithGenericMethod_aggregate_async_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status aggregate_async_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_aggregate_sync_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_aggregate_sync_fit() { + ::grpc::Service::MarkMethodGeneric(11); + } + ~WithGenericMethod_aggregate_sync_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_aggregate_evaluate : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_aggregate_evaluate() { + ::grpc::Service::MarkMethodGeneric(12); + } + ~WithGenericMethod_aggregate_evaluate() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_set_strategy : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_set_strategy() { + ::grpc::Service::MarkMethodGeneric(13); + } + ~WithGenericMethod_set_strategy() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status set_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_get_strategy : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_get_strategy() { + ::grpc::Service::MarkMethodGeneric(14); + } + ~WithGenericMethod_get_strategy() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status get_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_center_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_center_fit() { + ::grpc::Service::MarkMethodGeneric(15); + } + ~WithGenericMethod_center_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status center_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_center_evaluate : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_center_evaluate() { + ::grpc::Service::MarkMethodGeneric(16); + } + ~WithGenericMethod_center_evaluate() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status center_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template class WithGenericMethod_end : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_end() { - ::grpc::Service::MarkMethodGeneric(9); + ::grpc::Service::MarkMethodGeneric(17); } ~WithGenericMethod_end() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } @@ -1279,7 +2206,7 @@ class Flexe final { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } @@ -1299,7 +2226,7 @@ class Flexe final { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } @@ -1308,112 +2235,132 @@ class Flexe final { } }; template - class WithRawMethod_aggregate_evaluate : public BaseClass { + class WithRawMethod_get_information : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithRawMethod_aggregate_evaluate() { + WithRawMethod_get_information() { ::grpc::Service::MarkMethodRaw(3); } - ~WithRawMethod_aggregate_evaluate() override { + ~WithRawMethod_get_information() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status get_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestaggregate_evaluate(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestget_information(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithRawMethod_aggregate_fit : public BaseClass { + class WithRawMethod_set_information : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithRawMethod_aggregate_fit() { + WithRawMethod_set_information() { ::grpc::Service::MarkMethodRaw(4); } - ~WithRawMethod_aggregate_fit() override { + ~WithRawMethod_set_information() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_fit(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status set_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestaggregate_fit(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestset_information(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(4, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithRawMethod_aggregate_sync_fit : public BaseClass { + class WithRawMethod_aggregate_client : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithRawMethod_aggregate_sync_fit() { + WithRawMethod_aggregate_client() { ::grpc::Service::MarkMethodRaw(5); } - ~WithRawMethod_aggregate_sync_fit() override { + ~WithRawMethod_aggregate_client() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status aggregate_client(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestaggregate_sync_fit(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestaggregate_client(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithRawMethod_server_evaluate : public BaseClass { + class WithRawMethod_fit_all : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithRawMethod_server_evaluate() { + WithRawMethod_fit_all() { ::grpc::Service::MarkMethodRaw(6); } - ~WithRawMethod_server_evaluate() override { + ~WithRawMethod_fit_all() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status server_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status fit_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestserver_evaluate(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestfit_all(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(6, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithRawMethod_store_model : public BaseClass { + class WithRawMethod_evaluate_all : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithRawMethod_store_model() { + WithRawMethod_evaluate_all() { ::grpc::Service::MarkMethodRaw(7); } - ~WithRawMethod_store_model() override { + ~WithRawMethod_evaluate_all() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status store_model(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status evaluate_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requeststore_model(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void Requestevaluate_all(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(7, context, request, response, new_call_cq, notification_cq, tag); } }; template + class WithRawMethod_update_all : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_update_all() { + ::grpc::Service::MarkMethodRaw(8); + } + ~WithRawMethod_update_all() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status update_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestupdate_all(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithRawMethod_initialize_parameters : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_initialize_parameters() { - ::grpc::Service::MarkMethodRaw(8); + ::grpc::Service::MarkMethodRaw(9); } ~WithRawMethod_initialize_parameters() override { BaseClassMustBeDerivedFromService(this); @@ -1424,41 +2371,485 @@ class Flexe final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void Requestinitialize_parameters(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag); } }; template - class WithRawMethod_end : public BaseClass { + class WithRawMethod_aggregate_async_fit : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithRawMethod_end() { - ::grpc::Service::MarkMethodRaw(9); + WithRawMethod_aggregate_async_fit() { + ::grpc::Service::MarkMethodRaw(10); } - ~WithRawMethod_end() override { + ~WithRawMethod_aggregate_async_fit() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status aggregate_async_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void Requestend(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag); + void Requestaggregate_async_fit(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(10, context, request, response, new_call_cq, notification_cq, tag); } }; template - class ExperimentalWithRawCallbackMethod_fit : public BaseClass { + class WithRawMethod_aggregate_sync_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_aggregate_sync_fit() { + ::grpc::Service::MarkMethodRaw(11); + } + ~WithRawMethod_aggregate_sync_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestaggregate_sync_fit(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_aggregate_evaluate : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_aggregate_evaluate() { + ::grpc::Service::MarkMethodRaw(12); + } + ~WithRawMethod_aggregate_evaluate() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestaggregate_evaluate(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(12, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_set_strategy : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_set_strategy() { + ::grpc::Service::MarkMethodRaw(13); + } + ~WithRawMethod_set_strategy() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status set_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestset_strategy(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(13, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_get_strategy : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_get_strategy() { + ::grpc::Service::MarkMethodRaw(14); + } + ~WithRawMethod_get_strategy() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status get_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestget_strategy(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(14, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_center_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_center_fit() { + ::grpc::Service::MarkMethodRaw(15); + } + ~WithRawMethod_center_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status center_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestcenter_fit(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(15, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_center_evaluate : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_center_evaluate() { + ::grpc::Service::MarkMethodRaw(16); + } + ~WithRawMethod_center_evaluate() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status center_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestcenter_evaluate(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(16, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_end : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_end() { + ::grpc::Service::MarkMethodRaw(17); + } + ~WithRawMethod_end() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void Requestend(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class ExperimentalWithRawCallbackMethod_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_fit() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->fit(context, request, response); })); + } + ~ExperimentalWithRawCallbackMethod_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status fit(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* fit( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* fit( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_evaluate : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_evaluate() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->evaluate(context, request, response); })); + } + ~ExperimentalWithRawCallbackMethod_evaluate() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* evaluate( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* evaluate( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_update_model : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_update_model() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(2, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->update_model(context, request, response); })); + } + ~ExperimentalWithRawCallbackMethod_update_model() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* update_model( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* update_model( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_get_information : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_get_information() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(3, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->get_information(context, request, response); })); + } + ~ExperimentalWithRawCallbackMethod_get_information() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status get_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* get_information( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* get_information( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_set_information : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_set_information() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(4, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->set_information(context, request, response); })); + } + ~ExperimentalWithRawCallbackMethod_set_information() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status set_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* set_information( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* set_information( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_aggregate_client : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_aggregate_client() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(5, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->aggregate_client(context, request, response); })); + } + ~ExperimentalWithRawCallbackMethod_aggregate_client() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status aggregate_client(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* aggregate_client( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* aggregate_client( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_fit_all : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_fit_all() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(6, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->fit_all(context, request, response); })); + } + ~ExperimentalWithRawCallbackMethod_fit_all() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status fit_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* fit_all( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* fit_all( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_evaluate_all : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_evaluate_all() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(7, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->evaluate_all(context, request, response); })); + } + ~ExperimentalWithRawCallbackMethod_evaluate_all() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status evaluate_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* evaluate_all( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* evaluate_all( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_update_all : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithRawCallbackMethod_fit() { + ExperimentalWithRawCallbackMethod_update_all() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif - MarkMethodRawCallback(0, + MarkMethodRawCallback(8, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -1466,37 +2857,37 @@ class Flexe final { #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->fit(context, request, response); })); + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->update_all(context, request, response); })); } - ~ExperimentalWithRawCallbackMethod_fit() override { + ~ExperimentalWithRawCallbackMethod_update_all() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status fit(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status update_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* fit( + virtual ::grpc::ServerUnaryReactor* update_all( ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* fit( + virtual ::grpc::experimental::ServerUnaryReactor* update_all( ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithRawCallbackMethod_evaluate : public BaseClass { + class ExperimentalWithRawCallbackMethod_initialize_parameters : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithRawCallbackMethod_evaluate() { + ExperimentalWithRawCallbackMethod_initialize_parameters() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif - MarkMethodRawCallback(1, + MarkMethodRawCallback(9, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -1504,37 +2895,37 @@ class Flexe final { #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->evaluate(context, request, response); })); + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->initialize_parameters(context, request, response); })); } - ~ExperimentalWithRawCallbackMethod_evaluate() override { + ~ExperimentalWithRawCallbackMethod_initialize_parameters() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status initialize_parameters(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* evaluate( + virtual ::grpc::ServerUnaryReactor* initialize_parameters( ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* evaluate( + virtual ::grpc::experimental::ServerUnaryReactor* initialize_parameters( ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithRawCallbackMethod_update_model : public BaseClass { + class ExperimentalWithRawCallbackMethod_aggregate_async_fit : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithRawCallbackMethod_update_model() { + ExperimentalWithRawCallbackMethod_aggregate_async_fit() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif - MarkMethodRawCallback(2, + MarkMethodRawCallback(10, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -1542,37 +2933,37 @@ class Flexe final { #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->update_model(context, request, response); })); + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->aggregate_async_fit(context, request, response); })); } - ~ExperimentalWithRawCallbackMethod_update_model() override { + ~ExperimentalWithRawCallbackMethod_aggregate_async_fit() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status aggregate_async_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* update_model( + virtual ::grpc::ServerUnaryReactor* aggregate_async_fit( ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* update_model( + virtual ::grpc::experimental::ServerUnaryReactor* aggregate_async_fit( ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithRawCallbackMethod_aggregate_evaluate : public BaseClass { + class ExperimentalWithRawCallbackMethod_aggregate_sync_fit : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithRawCallbackMethod_aggregate_evaluate() { + ExperimentalWithRawCallbackMethod_aggregate_sync_fit() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif - MarkMethodRawCallback(3, + MarkMethodRawCallback(11, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -1580,37 +2971,37 @@ class Flexe final { #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->aggregate_evaluate(context, request, response); })); + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->aggregate_sync_fit(context, request, response); })); } - ~ExperimentalWithRawCallbackMethod_aggregate_evaluate() override { + ~ExperimentalWithRawCallbackMethod_aggregate_sync_fit() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* aggregate_evaluate( + virtual ::grpc::ServerUnaryReactor* aggregate_sync_fit( ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* aggregate_evaluate( + virtual ::grpc::experimental::ServerUnaryReactor* aggregate_sync_fit( ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithRawCallbackMethod_aggregate_fit : public BaseClass { + class ExperimentalWithRawCallbackMethod_aggregate_evaluate : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithRawCallbackMethod_aggregate_fit() { + ExperimentalWithRawCallbackMethod_aggregate_evaluate() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif - MarkMethodRawCallback(4, + MarkMethodRawCallback(12, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -1618,37 +3009,37 @@ class Flexe final { #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->aggregate_fit(context, request, response); })); + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->aggregate_evaluate(context, request, response); })); } - ~ExperimentalWithRawCallbackMethod_aggregate_fit() override { + ~ExperimentalWithRawCallbackMethod_aggregate_evaluate() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_fit(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* aggregate_fit( + virtual ::grpc::ServerUnaryReactor* aggregate_evaluate( ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* aggregate_fit( + virtual ::grpc::experimental::ServerUnaryReactor* aggregate_evaluate( ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithRawCallbackMethod_aggregate_sync_fit : public BaseClass { + class ExperimentalWithRawCallbackMethod_set_strategy : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithRawCallbackMethod_aggregate_sync_fit() { + ExperimentalWithRawCallbackMethod_set_strategy() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif - MarkMethodRawCallback(5, + MarkMethodRawCallback(13, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -1656,37 +3047,37 @@ class Flexe final { #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->aggregate_sync_fit(context, request, response); })); + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->set_strategy(context, request, response); })); } - ~ExperimentalWithRawCallbackMethod_aggregate_sync_fit() override { + ~ExperimentalWithRawCallbackMethod_set_strategy() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status set_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* aggregate_sync_fit( + virtual ::grpc::ServerUnaryReactor* set_strategy( ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* aggregate_sync_fit( + virtual ::grpc::experimental::ServerUnaryReactor* set_strategy( ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithRawCallbackMethod_server_evaluate : public BaseClass { + class ExperimentalWithRawCallbackMethod_get_strategy : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithRawCallbackMethod_server_evaluate() { + ExperimentalWithRawCallbackMethod_get_strategy() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif - MarkMethodRawCallback(6, + MarkMethodRawCallback(14, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -1694,37 +3085,37 @@ class Flexe final { #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->server_evaluate(context, request, response); })); + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->get_strategy(context, request, response); })); } - ~ExperimentalWithRawCallbackMethod_server_evaluate() override { + ~ExperimentalWithRawCallbackMethod_get_strategy() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status server_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status get_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* server_evaluate( + virtual ::grpc::ServerUnaryReactor* get_strategy( ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* server_evaluate( + virtual ::grpc::experimental::ServerUnaryReactor* get_strategy( ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithRawCallbackMethod_store_model : public BaseClass { + class ExperimentalWithRawCallbackMethod_center_fit : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithRawCallbackMethod_store_model() { + ExperimentalWithRawCallbackMethod_center_fit() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif - MarkMethodRawCallback(7, + MarkMethodRawCallback(15, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -1732,37 +3123,37 @@ class Flexe final { #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->store_model(context, request, response); })); + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->center_fit(context, request, response); })); } - ~ExperimentalWithRawCallbackMethod_store_model() override { + ~ExperimentalWithRawCallbackMethod_center_fit() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status store_model(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status center_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* store_model( + virtual ::grpc::ServerUnaryReactor* center_fit( ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* store_model( + virtual ::grpc::experimental::ServerUnaryReactor* center_fit( ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #endif { return nullptr; } }; template - class ExperimentalWithRawCallbackMethod_initialize_parameters : public BaseClass { + class ExperimentalWithRawCallbackMethod_center_evaluate : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - ExperimentalWithRawCallbackMethod_initialize_parameters() { + ExperimentalWithRawCallbackMethod_center_evaluate() { #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL ::grpc::Service:: #else ::grpc::Service::experimental(). #endif - MarkMethodRawCallback(8, + MarkMethodRawCallback(16, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -1770,21 +3161,21 @@ class Flexe final { #else ::grpc::experimental::CallbackServerContext* #endif - context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->initialize_parameters(context, request, response); })); + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->center_evaluate(context, request, response); })); } - ~ExperimentalWithRawCallbackMethod_initialize_parameters() override { + ~ExperimentalWithRawCallbackMethod_center_evaluate() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status initialize_parameters(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status center_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL - virtual ::grpc::ServerUnaryReactor* initialize_parameters( + virtual ::grpc::ServerUnaryReactor* center_evaluate( ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #else - virtual ::grpc::experimental::ServerUnaryReactor* initialize_parameters( + virtual ::grpc::experimental::ServerUnaryReactor* center_evaluate( ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) #endif { return nullptr; } @@ -1800,7 +3191,7 @@ class Flexe final { #else ::grpc::Service::experimental(). #endif - MarkMethodRawCallback(9, + MarkMethodRawCallback(17, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL @@ -1814,7 +3205,7 @@ class Flexe final { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } @@ -1862,10 +3253,10 @@ class Flexe final { WithStreamedUnaryMethod_evaluate() { ::grpc::Service::MarkMethodStreamed(1, new ::grpc::internal::StreamedUnaryHandler< - ::flexe::TTRequest, ::flexe::EvaluateReply>( + ::flexe::TTRequest, ::flexe::ModelReply>( [this](::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< - ::flexe::TTRequest, ::flexe::EvaluateReply>* streamer) { + ::flexe::TTRequest, ::flexe::ModelReply>* streamer) { return this->Streamedevaluate(context, streamer); })); @@ -1874,12 +3265,12 @@ class Flexe final { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with streamed unary - virtual ::grpc::Status Streamedevaluate(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::TTRequest,::flexe::EvaluateReply>* server_unary_streamer) = 0; + virtual ::grpc::Status Streamedevaluate(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::TTRequest,::flexe::ModelReply>* server_unary_streamer) = 0; }; template class WithStreamedUnaryMethod_update_model : public BaseClass { @@ -1889,10 +3280,10 @@ class Flexe final { WithStreamedUnaryMethod_update_model() { ::grpc::Service::MarkMethodStreamed(2, new ::grpc::internal::StreamedUnaryHandler< - ::flexe::TTRequest, ::flexe::GenericResponse>( + ::flexe::TTRequest, ::flexe::ModelReply>( [this](::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< - ::flexe::TTRequest, ::flexe::GenericResponse>* streamer) { + ::flexe::TTRequest, ::flexe::ModelReply>* streamer) { return this->Streamedupdate_model(context, streamer); })); @@ -1901,147 +3292,174 @@ class Flexe final { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status update_model(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with streamed unary - virtual ::grpc::Status Streamedupdate_model(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::TTRequest,::flexe::GenericResponse>* server_unary_streamer) = 0; + virtual ::grpc::Status Streamedupdate_model(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::TTRequest,::flexe::ModelReply>* server_unary_streamer) = 0; }; template - class WithStreamedUnaryMethod_aggregate_evaluate : public BaseClass { + class WithStreamedUnaryMethod_get_information : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithStreamedUnaryMethod_aggregate_evaluate() { + WithStreamedUnaryMethod_get_information() { ::grpc::Service::MarkMethodStreamed(3, new ::grpc::internal::StreamedUnaryHandler< - ::flexe::TTRequest, ::flexe::EvaluateReply>( + ::flexe::GenericRequest, ::flexe::ModelReply>( [this](::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< - ::flexe::TTRequest, ::flexe::EvaluateReply>* streamer) { - return this->Streamedaggregate_evaluate(context, + ::flexe::GenericRequest, ::flexe::ModelReply>* streamer) { + return this->Streamedget_information(context, streamer); })); } - ~WithStreamedUnaryMethod_aggregate_evaluate() override { + ~WithStreamedUnaryMethod_get_information() override { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status get_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with streamed unary - virtual ::grpc::Status Streamedaggregate_evaluate(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::TTRequest,::flexe::EvaluateReply>* server_unary_streamer) = 0; + virtual ::grpc::Status Streamedget_information(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::GenericRequest,::flexe::ModelReply>* server_unary_streamer) = 0; }; template - class WithStreamedUnaryMethod_aggregate_fit : public BaseClass { + class WithStreamedUnaryMethod_set_information : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithStreamedUnaryMethod_aggregate_fit() { + WithStreamedUnaryMethod_set_information() { ::grpc::Service::MarkMethodStreamed(4, new ::grpc::internal::StreamedUnaryHandler< - ::flexe::ModelRequest, ::flexe::ModelReply>( + ::flexe::GenericRequest, ::flexe::ModelReply>( [this](::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< - ::flexe::ModelRequest, ::flexe::ModelReply>* streamer) { - return this->Streamedaggregate_fit(context, + ::flexe::GenericRequest, ::flexe::ModelReply>* streamer) { + return this->Streamedset_information(context, streamer); })); } - ~WithStreamedUnaryMethod_aggregate_fit() override { + ~WithStreamedUnaryMethod_set_information() override { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status aggregate_fit(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status set_information(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with streamed unary - virtual ::grpc::Status Streamedaggregate_fit(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::ModelRequest,::flexe::ModelReply>* server_unary_streamer) = 0; + virtual ::grpc::Status Streamedset_information(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::GenericRequest,::flexe::ModelReply>* server_unary_streamer) = 0; }; template - class WithStreamedUnaryMethod_aggregate_sync_fit : public BaseClass { + class WithStreamedUnaryMethod_aggregate_client : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithStreamedUnaryMethod_aggregate_sync_fit() { + WithStreamedUnaryMethod_aggregate_client() { ::grpc::Service::MarkMethodStreamed(5, new ::grpc::internal::StreamedUnaryHandler< - ::flexe::GenericRequest, ::flexe::ModelReply>( + ::flexe::TTRequest, ::flexe::ModelReply>( [this](::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< - ::flexe::GenericRequest, ::flexe::ModelReply>* streamer) { - return this->Streamedaggregate_sync_fit(context, + ::flexe::TTRequest, ::flexe::ModelReply>* streamer) { + return this->Streamedaggregate_client(context, streamer); })); } - ~WithStreamedUnaryMethod_aggregate_sync_fit() override { + ~WithStreamedUnaryMethod_aggregate_client() override { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + ::grpc::Status aggregate_client(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with streamed unary - virtual ::grpc::Status Streamedaggregate_sync_fit(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::GenericRequest,::flexe::ModelReply>* server_unary_streamer) = 0; + virtual ::grpc::Status Streamedaggregate_client(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::TTRequest,::flexe::ModelReply>* server_unary_streamer) = 0; }; template - class WithStreamedUnaryMethod_server_evaluate : public BaseClass { + class WithStreamedUnaryMethod_fit_all : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithStreamedUnaryMethod_server_evaluate() { + WithStreamedUnaryMethod_fit_all() { ::grpc::Service::MarkMethodStreamed(6, new ::grpc::internal::StreamedUnaryHandler< - ::flexe::TTRequest, ::flexe::EvaluateReply>( + ::flexe::TTRequest, ::flexe::ModelReply>( [this](::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< - ::flexe::TTRequest, ::flexe::EvaluateReply>* streamer) { - return this->Streamedserver_evaluate(context, + ::flexe::TTRequest, ::flexe::ModelReply>* streamer) { + return this->Streamedfit_all(context, streamer); })); } - ~WithStreamedUnaryMethod_server_evaluate() override { + ~WithStreamedUnaryMethod_fit_all() override { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status server_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::EvaluateReply* /*response*/) override { + ::grpc::Status fit_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with streamed unary - virtual ::grpc::Status Streamedserver_evaluate(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::TTRequest,::flexe::EvaluateReply>* server_unary_streamer) = 0; + virtual ::grpc::Status Streamedfit_all(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::TTRequest,::flexe::ModelReply>* server_unary_streamer) = 0; }; template - class WithStreamedUnaryMethod_store_model : public BaseClass { + class WithStreamedUnaryMethod_evaluate_all : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithStreamedUnaryMethod_store_model() { + WithStreamedUnaryMethod_evaluate_all() { ::grpc::Service::MarkMethodStreamed(7, new ::grpc::internal::StreamedUnaryHandler< - ::flexe::ModelRequest, ::flexe::GenericResponse>( + ::flexe::TTRequest, ::flexe::ModelReply>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::flexe::TTRequest, ::flexe::ModelReply>* streamer) { + return this->Streamedevaluate_all(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_evaluate_all() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status evaluate_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status Streamedevaluate_all(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::TTRequest,::flexe::ModelReply>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_update_all : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_update_all() { + ::grpc::Service::MarkMethodStreamed(8, + new ::grpc::internal::StreamedUnaryHandler< + ::flexe::TTRequest, ::flexe::ModelReply>( [this](::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< - ::flexe::ModelRequest, ::flexe::GenericResponse>* streamer) { - return this->Streamedstore_model(context, + ::flexe::TTRequest, ::flexe::ModelReply>* streamer) { + return this->Streamedupdate_all(context, streamer); })); } - ~WithStreamedUnaryMethod_store_model() override { + ~WithStreamedUnaryMethod_update_all() override { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status store_model(::grpc::ServerContext* /*context*/, const ::flexe::ModelRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status update_all(::grpc::ServerContext* /*context*/, const ::flexe::TTRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with streamed unary - virtual ::grpc::Status Streamedstore_model(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::ModelRequest,::flexe::GenericResponse>* server_unary_streamer) = 0; + virtual ::grpc::Status Streamedupdate_all(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::TTRequest,::flexe::ModelReply>* server_unary_streamer) = 0; }; template class WithStreamedUnaryMethod_initialize_parameters : public BaseClass { @@ -2049,7 +3467,7 @@ class Flexe final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_initialize_parameters() { - ::grpc::Service::MarkMethodStreamed(8, + ::grpc::Service::MarkMethodStreamed(9, new ::grpc::internal::StreamedUnaryHandler< ::flexe::TTRequest, ::flexe::ModelReply>( [this](::grpc::ServerContext* context, @@ -2071,17 +3489,206 @@ class Flexe final { virtual ::grpc::Status Streamedinitialize_parameters(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::TTRequest,::flexe::ModelReply>* server_unary_streamer) = 0; }; template + class WithStreamedUnaryMethod_aggregate_async_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_aggregate_async_fit() { + ::grpc::Service::MarkMethodStreamed(10, + new ::grpc::internal::StreamedUnaryHandler< + ::flexe::AggregationRequest, ::flexe::ModelReply>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::flexe::AggregationRequest, ::flexe::ModelReply>* streamer) { + return this->Streamedaggregate_async_fit(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_aggregate_async_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status aggregate_async_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status Streamedaggregate_async_fit(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::AggregationRequest,::flexe::ModelReply>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_aggregate_sync_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_aggregate_sync_fit() { + ::grpc::Service::MarkMethodStreamed(11, + new ::grpc::internal::StreamedUnaryHandler< + ::flexe::AggregationRequest, ::flexe::ModelReply>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::flexe::AggregationRequest, ::flexe::ModelReply>* streamer) { + return this->Streamedaggregate_sync_fit(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_aggregate_sync_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status aggregate_sync_fit(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status Streamedaggregate_sync_fit(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::AggregationRequest,::flexe::ModelReply>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_aggregate_evaluate : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_aggregate_evaluate() { + ::grpc::Service::MarkMethodStreamed(12, + new ::grpc::internal::StreamedUnaryHandler< + ::flexe::AggregationRequest, ::flexe::ModelReply>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::flexe::AggregationRequest, ::flexe::ModelReply>* streamer) { + return this->Streamedaggregate_evaluate(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_aggregate_evaluate() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status aggregate_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::AggregationRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status Streamedaggregate_evaluate(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::AggregationRequest,::flexe::ModelReply>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_set_strategy : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_set_strategy() { + ::grpc::Service::MarkMethodStreamed(13, + new ::grpc::internal::StreamedUnaryHandler< + ::flexe::GenericRequest, ::flexe::GenericReply>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::flexe::GenericRequest, ::flexe::GenericReply>* streamer) { + return this->Streamedset_strategy(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_set_strategy() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status set_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status Streamedset_strategy(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::GenericRequest,::flexe::GenericReply>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_get_strategy : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_get_strategy() { + ::grpc::Service::MarkMethodStreamed(14, + new ::grpc::internal::StreamedUnaryHandler< + ::flexe::GenericRequest, ::flexe::GenericReply>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::flexe::GenericRequest, ::flexe::GenericReply>* streamer) { + return this->Streamedget_strategy(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_get_strategy() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status get_strategy(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status Streamedget_strategy(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::GenericRequest,::flexe::GenericReply>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_center_fit : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_center_fit() { + ::grpc::Service::MarkMethodStreamed(15, + new ::grpc::internal::StreamedUnaryHandler< + ::flexe::GenericRequest, ::flexe::ModelReply>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::flexe::GenericRequest, ::flexe::ModelReply>* streamer) { + return this->Streamedcenter_fit(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_center_fit() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status center_fit(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status Streamedcenter_fit(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::GenericRequest,::flexe::ModelReply>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_center_evaluate : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_center_evaluate() { + ::grpc::Service::MarkMethodStreamed(16, + new ::grpc::internal::StreamedUnaryHandler< + ::flexe::GenericRequest, ::flexe::ModelReply>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::flexe::GenericRequest, ::flexe::ModelReply>* streamer) { + return this->Streamedcenter_evaluate(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_center_evaluate() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status center_evaluate(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::ModelReply* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status Streamedcenter_evaluate(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::GenericRequest,::flexe::ModelReply>* server_unary_streamer) = 0; + }; + template class WithStreamedUnaryMethod_end : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_end() { - ::grpc::Service::MarkMethodStreamed(9, + ::grpc::Service::MarkMethodStreamed(17, new ::grpc::internal::StreamedUnaryHandler< - ::flexe::GenericRequest, ::flexe::GenericResponse>( + ::flexe::GenericRequest, ::flexe::GenericReply>( [this](::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< - ::flexe::GenericRequest, ::flexe::GenericResponse>* streamer) { + ::flexe::GenericRequest, ::flexe::GenericReply>* streamer) { return this->Streamedend(context, streamer); })); @@ -2090,16 +3697,16 @@ class Flexe final { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericResponse* /*response*/) override { + ::grpc::Status end(::grpc::ServerContext* /*context*/, const ::flexe::GenericRequest* /*request*/, ::flexe::GenericReply* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with streamed unary - virtual ::grpc::Status Streamedend(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::GenericRequest,::flexe::GenericResponse>* server_unary_streamer) = 0; + virtual ::grpc::Status Streamedend(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flexe::GenericRequest,::flexe::GenericReply>* server_unary_streamer) = 0; }; - typedef WithStreamedUnaryMethod_fit > > > > > > > > > StreamedUnaryService; + typedef WithStreamedUnaryMethod_fit > > > > > > > > > > > > > > > > > StreamedUnaryService; typedef Service SplitStreamedService; - typedef WithStreamedUnaryMethod_fit > > > > > > > > > StreamedService; + typedef WithStreamedUnaryMethod_fit > > > > > > > > > > > > > > > > > StreamedService; }; } // namespace flexe diff --git a/src/flexe/proto/flexe.pb.cc b/src/flexe/proto/flexe.pb.cc index d31e789..4e58d18 100644 --- a/src/flexe/proto/flexe.pb.cc +++ b/src/flexe/proto/flexe.pb.cc @@ -17,64 +17,107 @@ PROTOBUF_PRAGMA_INIT_SEG namespace flexe { -constexpr GenericRequest::GenericRequest( +constexpr TTRequest::TTRequest( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : msg_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} -struct GenericRequestDefaultTypeInternal { - constexpr GenericRequestDefaultTypeInternal() + : model_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , dataset_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , scenario_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , models_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , msg_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , identity_(0) + , seed_(0) + , idmodel_(0) + , noniid_(false) + , trainflag_(false) + , epochs_(0) + , batch_(0) + , percentdataset_(0) + , numclients_(0){} +struct TTRequestDefaultTypeInternal { + constexpr TTRequestDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~GenericRequestDefaultTypeInternal() {} + ~TTRequestDefaultTypeInternal() {} union { - GenericRequest _instance; + TTRequest _instance; }; }; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GenericRequestDefaultTypeInternal _GenericRequest_default_instance_; -constexpr GenericResponse::GenericResponse( +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TTRequestDefaultTypeInternal _TTRequest_default_instance_; +constexpr AggregationRequest::AggregationRequest( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : reply_(0){} -struct GenericResponseDefaultTypeInternal { - constexpr GenericResponseDefaultTypeInternal() + : model_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , dataset_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , scenario_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , numexamples_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , models_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , strategy_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , msg_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , identity_(0) + , seed_(0) + , noniid_(false) + , idmodel_(0) + , numclients_(0){} +struct AggregationRequestDefaultTypeInternal { + constexpr AggregationRequestDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~GenericResponseDefaultTypeInternal() {} + ~AggregationRequestDefaultTypeInternal() {} union { - GenericResponse _instance; + AggregationRequest _instance; }; }; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GenericResponseDefaultTypeInternal _GenericResponse_default_instance_; -constexpr TTRequest::TTRequest( +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AggregationRequestDefaultTypeInternal _AggregationRequest_default_instance_; +constexpr GenericRequest::GenericRequest( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : modelname_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , idvehicle_(0) - , trainflag_(false) - , epochs_(0) - , batch_size_(0){} -struct TTRequestDefaultTypeInternal { - constexpr TTRequestDefaultTypeInternal() + : model_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , dataset_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , scenario_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , msg_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , identity_(0) + , seed_(0) + , noniid_(false) + , idmodel_(0){} +struct GenericRequestDefaultTypeInternal { + constexpr GenericRequestDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~TTRequestDefaultTypeInternal() {} + ~GenericRequestDefaultTypeInternal() {} union { - TTRequest _instance; + GenericRequest _instance; }; }; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TTRequestDefaultTypeInternal _TTRequest_default_instance_; -constexpr EvaluateReply::EvaluateReply( +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GenericRequestDefaultTypeInternal _GenericRequest_default_instance_; +constexpr GenericReply::GenericReply( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : loss_(0) - , accuracy_(0){} -struct EvaluateReplyDefaultTypeInternal { - constexpr EvaluateReplyDefaultTypeInternal() + : model_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , dataset_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , scenario_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , msg_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , identity_(0) + , seed_(0) + , noniid_(false) + , idmodel_(0) + , reply_(0){} +struct GenericReplyDefaultTypeInternal { + constexpr GenericReplyDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~EvaluateReplyDefaultTypeInternal() {} + ~GenericReplyDefaultTypeInternal() {} union { - EvaluateReply _instance; + GenericReply _instance; }; }; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT EvaluateReplyDefaultTypeInternal _EvaluateReply_default_instance_; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GenericReplyDefaultTypeInternal _GenericReply_default_instance_; constexpr ModelReply::ModelReply( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : tensors_() - , idvehicle_(0) - , num_examples_(0){} + : model_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , dataset_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , scenario_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , msg_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , identity_(0) + , seed_(0) + , noniid_(false) + , idmodel_(0) + , entropy_(0) + , loss_(0) + , accuracy_(0) + , numexamples_(0){} struct ModelReplyDefaultTypeInternal { constexpr ModelReplyDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -84,124 +127,168 @@ struct ModelReplyDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ModelReplyDefaultTypeInternal _ModelReply_default_instance_; -constexpr ModelRequest::ModelRequest( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : tensors_() - , idvehicle_(0) - , number_of_vehicles_(0) - , num_examples_(0){} -struct ModelRequestDefaultTypeInternal { - constexpr ModelRequestDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~ModelRequestDefaultTypeInternal() {} - union { - ModelRequest _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ModelRequestDefaultTypeInternal _ModelRequest_default_instance_; } // namespace flexe -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_flexe_2eproto[6]; +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_flexe_2eproto[5]; static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_flexe_2eproto = nullptr; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_flexe_2eproto = nullptr; const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_flexe_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::flexe::GenericRequest, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::flexe::GenericRequest, msg_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, identity_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, model_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, dataset_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, scenario_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, seed_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, noniid_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, idmodel_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, trainflag_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, epochs_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, batch_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, numclients_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, percentdataset_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, models_), + PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, msg_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::flexe::GenericResponse, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::flexe::GenericResponse, reply_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, identity_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, model_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, dataset_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, scenario_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, seed_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, noniid_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, idmodel_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, numclients_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, numexamples_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, models_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, strategy_), + PROTOBUF_FIELD_OFFSET(::flexe::AggregationRequest, msg_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericRequest, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, idvehicle_), - PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, trainflag_), - PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, modelname_), - PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, epochs_), - PROTOBUF_FIELD_OFFSET(::flexe::TTRequest, batch_size_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericRequest, identity_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericRequest, model_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericRequest, dataset_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericRequest, scenario_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericRequest, seed_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericRequest, noniid_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericRequest, idmodel_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericRequest, msg_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::flexe::EvaluateReply, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericReply, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::flexe::EvaluateReply, loss_), - PROTOBUF_FIELD_OFFSET(::flexe::EvaluateReply, accuracy_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericReply, identity_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericReply, model_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericReply, dataset_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericReply, scenario_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericReply, seed_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericReply, noniid_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericReply, idmodel_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericReply, reply_), + PROTOBUF_FIELD_OFFSET(::flexe::GenericReply, msg_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, idvehicle_), - PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, tensors_), - PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, num_examples_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::flexe::ModelRequest, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::flexe::ModelRequest, idvehicle_), - PROTOBUF_FIELD_OFFSET(::flexe::ModelRequest, tensors_), - PROTOBUF_FIELD_OFFSET(::flexe::ModelRequest, number_of_vehicles_), - PROTOBUF_FIELD_OFFSET(::flexe::ModelRequest, num_examples_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, identity_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, model_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, dataset_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, scenario_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, seed_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, noniid_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, idmodel_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, numexamples_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, entropy_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, loss_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, accuracy_), + PROTOBUF_FIELD_OFFSET(::flexe::ModelReply, msg_), }; static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - { 0, -1, sizeof(::flexe::GenericRequest)}, - { 6, -1, sizeof(::flexe::GenericResponse)}, - { 12, -1, sizeof(::flexe::TTRequest)}, - { 22, -1, sizeof(::flexe::EvaluateReply)}, - { 29, -1, sizeof(::flexe::ModelReply)}, - { 37, -1, sizeof(::flexe::ModelRequest)}, + { 0, -1, sizeof(::flexe::TTRequest)}, + { 19, -1, sizeof(::flexe::AggregationRequest)}, + { 36, -1, sizeof(::flexe::GenericRequest)}, + { 49, -1, sizeof(::flexe::GenericReply)}, + { 63, -1, sizeof(::flexe::ModelReply)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { - reinterpret_cast(&::flexe::_GenericRequest_default_instance_), - reinterpret_cast(&::flexe::_GenericResponse_default_instance_), reinterpret_cast(&::flexe::_TTRequest_default_instance_), - reinterpret_cast(&::flexe::_EvaluateReply_default_instance_), + reinterpret_cast(&::flexe::_AggregationRequest_default_instance_), + reinterpret_cast(&::flexe::_GenericRequest_default_instance_), + reinterpret_cast(&::flexe::_GenericReply_default_instance_), reinterpret_cast(&::flexe::_ModelReply_default_instance_), - reinterpret_cast(&::flexe::_ModelRequest_default_instance_), }; const char descriptor_table_protodef_flexe_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\013flexe.proto\022\005flexe\"\035\n\016GenericRequest\022\013" - "\n\003msg\030\001 \001(\t\" \n\017GenericResponse\022\r\n\005reply\030" - "\001 \001(\005\"h\n\tTTRequest\022\021\n\tidVehicle\030\001 \001(\005\022\021\n" - "\ttrainFlag\030\002 \001(\010\022\021\n\tmodelName\030\003 \001(\t\022\016\n\006e" - "pochs\030\004 \001(\005\022\022\n\nbatch_size\030\005 \001(\005\"/\n\rEvalu" - "ateReply\022\014\n\004loss\030\001 \001(\001\022\020\n\010accuracy\030\002 \001(\001" - "\"F\n\nModelReply\022\021\n\tidVehicle\030\001 \001(\005\022\017\n\007ten" - "sors\030\002 \003(\014\022\024\n\014num_examples\030\003 \001(\005\"d\n\014Mode" - "lRequest\022\021\n\tidVehicle\030\001 \001(\005\022\017\n\007tensors\030\002" - " \003(\014\022\032\n\022number_of_vehicles\030\003 \001(\005\022\024\n\014num_" - "examples\030\004 \001(\0052\327\004\n\005Flexe\022,\n\003fit\022\020.flexe." - "TTRequest\032\021.flexe.ModelReply\"\000\0224\n\010evalua" - "te\022\020.flexe.TTRequest\032\024.flexe.EvaluateRep" - "ly\"\000\022:\n\014update_model\022\020.flexe.TTRequest\032\026" - ".flexe.GenericResponse\"\000\022>\n\022aggregate_ev" - "aluate\022\020.flexe.TTRequest\032\024.flexe.Evaluat" - "eReply\"\000\0229\n\raggregate_fit\022\023.flexe.ModelR" - "equest\032\021.flexe.ModelReply\"\000\022@\n\022aggregate" - "_sync_fit\022\025.flexe.GenericRequest\032\021.flexe" - ".ModelReply\"\000\022;\n\017server_evaluate\022\020.flexe" - ".TTRequest\032\024.flexe.EvaluateReply\"\000\022<\n\013st" - "ore_model\022\023.flexe.ModelRequest\032\026.flexe.G" - "enericResponse\"\000\022>\n\025initialize_parameter" - "s\022\020.flexe.TTRequest\032\021.flexe.ModelReply\"\000" - "\0226\n\003end\022\025.flexe.GenericRequest\032\026.flexe.G" - "enericResponse\"\000b\006proto3" + "\n\013flexe.proto\022\005flexe\"\371\001\n\tTTRequest\022\020\n\010id" + "Entity\030\001 \001(\005\022\r\n\005model\030\002 \001(\t\022\017\n\007dataset\030\003" + " \001(\t\022\020\n\010scenario\030\004 \001(\t\022\014\n\004seed\030\005 \001(\005\022\016\n\006" + "nonIID\030\006 \001(\010\022\017\n\007idModel\030\007 \001(\005\022\021\n\ttrainFl" + "ag\030\010 \001(\010\022\016\n\006epochs\030\t \001(\005\022\r\n\005batch\030\n \001(\005\022" + "\022\n\nnumClients\030\013 \001(\005\022\026\n\016percentDataset\030\014 " + "\001(\001\022\016\n\006models\030\r \001(\t\022\013\n\003msg\030\016 \001(\t\"\337\001\n\022Agg" + "regationRequest\022\020\n\010idEntity\030\001 \001(\005\022\r\n\005mod" + "el\030\002 \001(\t\022\017\n\007dataset\030\003 \001(\t\022\020\n\010scenario\030\004 " + "\001(\t\022\014\n\004seed\030\005 \001(\005\022\016\n\006nonIID\030\006 \001(\010\022\017\n\007idM" + "odel\030\007 \001(\005\022\022\n\nnumClients\030\010 \001(\005\022\023\n\013numExa" + "mples\030\t \001(\t\022\016\n\006models\030\n \001(\t\022\020\n\010strategy\030" + "\013 \001(\t\022\013\n\003msg\030\014 \001(\t\"\220\001\n\016GenericRequest\022\020\n" + "\010idEntity\030\001 \001(\005\022\r\n\005model\030\002 \001(\t\022\017\n\007datase" + "t\030\003 \001(\t\022\020\n\010scenario\030\004 \001(\t\022\014\n\004seed\030\005 \001(\005\022" + "\016\n\006nonIID\030\006 \001(\010\022\017\n\007idModel\030\007 \001(\005\022\013\n\003msg\030" + "\010 \001(\t\"\235\001\n\014GenericReply\022\020\n\010idEntity\030\001 \001(\005" + "\022\r\n\005model\030\002 \001(\t\022\017\n\007dataset\030\003 \001(\t\022\020\n\010scen" + "ario\030\004 \001(\t\022\014\n\004seed\030\005 \001(\005\022\016\n\006nonIID\030\006 \001(\010" + "\022\017\n\007idModel\030\007 \001(\005\022\r\n\005reply\030\010 \001(\005\022\013\n\003msg\030" + "\t \001(\t\"\322\001\n\nModelReply\022\020\n\010idEntity\030\001 \001(\005\022\r" + "\n\005model\030\002 \001(\t\022\017\n\007dataset\030\003 \001(\t\022\020\n\010scenar" + "io\030\004 \001(\t\022\014\n\004seed\030\005 \001(\005\022\016\n\006nonIID\030\006 \001(\010\022\017" + "\n\007idModel\030\007 \001(\005\022\023\n\013numExamples\030\010 \001(\005\022\017\n\007" + "entropy\030\t \001(\001\022\014\n\004loss\030\n \001(\001\022\020\n\010accuracy\030" + "\013 \001(\001\022\013\n\003msg\030\014 \001(\t2\263\010\n\005Flexe\022,\n\003fit\022\020.fl" + "exe.TTRequest\032\021.flexe.ModelReply\"\000\0221\n\010ev" + "aluate\022\020.flexe.TTRequest\032\021.flexe.ModelRe" + "ply\"\000\0225\n\014update_model\022\020.flexe.TTRequest\032" + "\021.flexe.ModelReply\"\000\022=\n\017get_information\022" + "\025.flexe.GenericRequest\032\021.flexe.ModelRepl" + "y\"\000\022=\n\017set_information\022\025.flexe.GenericRe" + "quest\032\021.flexe.ModelReply\"\000\0229\n\020aggregate_" + "client\022\020.flexe.TTRequest\032\021.flexe.ModelRe" + "ply\"\000\0220\n\007fit_all\022\020.flexe.TTRequest\032\021.fle" + "xe.ModelReply\"\000\0225\n\014evaluate_all\022\020.flexe." + "TTRequest\032\021.flexe.ModelReply\"\000\0223\n\nupdate" + "_all\022\020.flexe.TTRequest\032\021.flexe.ModelRepl" + "y\"\000\022>\n\025initialize_parameters\022\020.flexe.TTR" + "equest\032\021.flexe.ModelReply\"\000\022E\n\023aggregate" + "_async_fit\022\031.flexe.AggregationRequest\032\021." + "flexe.ModelReply\"\000\022D\n\022aggregate_sync_fit" + "\022\031.flexe.AggregationRequest\032\021.flexe.Mode" + "lReply\"\000\022D\n\022aggregate_evaluate\022\031.flexe.A" + "ggregationRequest\032\021.flexe.ModelReply\"\000\022<" + "\n\014set_strategy\022\025.flexe.GenericRequest\032\023." + "flexe.GenericReply\"\000\022<\n\014get_strategy\022\025.f" + "lexe.GenericRequest\032\023.flexe.GenericReply" + "\"\000\0228\n\ncenter_fit\022\025.flexe.GenericRequest\032" + "\021.flexe.ModelReply\"\000\022=\n\017center_evaluate\022" + "\025.flexe.GenericRequest\032\021.flexe.ModelRepl" + "y\"\000\0223\n\003end\022\025.flexe.GenericRequest\032\023.flex" + "e.GenericReply\"\000b\006proto3" ; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_flexe_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_flexe_2eproto = { - false, false, 1024, descriptor_table_protodef_flexe_2eproto, "flexe.proto", - &descriptor_table_flexe_2eproto_once, nullptr, 0, 6, + false, false, 2104, descriptor_table_protodef_flexe_2eproto, "flexe.proto", + &descriptor_table_flexe_2eproto_once, nullptr, 0, 5, schemas, file_default_instances, TableStruct_flexe_2eproto::offsets, file_level_metadata_flexe_2eproto, file_level_enum_descriptors_flexe_2eproto, file_level_service_descriptors_flexe_2eproto, }; @@ -215,74 +302,215 @@ namespace flexe { // =================================================================== -class GenericRequest::_Internal { +class TTRequest::_Internal { public: }; -GenericRequest::GenericRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena) +TTRequest::TTRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena) : ::PROTOBUF_NAMESPACE_ID::Message(arena) { SharedCtor(); RegisterArenaDtor(arena); - // @@protoc_insertion_point(arena_constructor:flexe.GenericRequest) + // @@protoc_insertion_point(arena_constructor:flexe.TTRequest) } -GenericRequest::GenericRequest(const GenericRequest& from) +TTRequest::TTRequest(const TTRequest& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + model_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_model().empty()) { + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_model(), + GetArenaForAllocation()); + } + dataset_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_dataset().empty()) { + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_dataset(), + GetArenaForAllocation()); + } + scenario_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_scenario().empty()) { + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_scenario(), + GetArenaForAllocation()); + } + models_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_models().empty()) { + models_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_models(), + GetArenaForAllocation()); + } msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (!from._internal_msg().empty()) { msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_msg(), GetArenaForAllocation()); } - // @@protoc_insertion_point(copy_constructor:flexe.GenericRequest) + ::memcpy(&identity_, &from.identity_, + static_cast(reinterpret_cast(&numclients_) - + reinterpret_cast(&identity_)) + sizeof(numclients_)); + // @@protoc_insertion_point(copy_constructor:flexe.TTRequest) } -void GenericRequest::SharedCtor() { +void TTRequest::SharedCtor() { +model_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +dataset_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +scenario_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +models_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&identity_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&numclients_) - + reinterpret_cast(&identity_)) + sizeof(numclients_)); } -GenericRequest::~GenericRequest() { - // @@protoc_insertion_point(destructor:flexe.GenericRequest) +TTRequest::~TTRequest() { + // @@protoc_insertion_point(destructor:flexe.TTRequest) SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -void GenericRequest::SharedDtor() { +void TTRequest::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + model_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + dataset_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + scenario_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + models_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); msg_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -void GenericRequest::ArenaDtor(void* object) { - GenericRequest* _this = reinterpret_cast< GenericRequest* >(object); +void TTRequest::ArenaDtor(void* object) { + TTRequest* _this = reinterpret_cast< TTRequest* >(object); (void)_this; } -void GenericRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void TTRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void GenericRequest::SetCachedSize(int size) const { +void TTRequest::SetCachedSize(int size) const { _cached_size_.Set(size); } -void GenericRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:flexe.GenericRequest) +void TTRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flexe.TTRequest) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + model_.ClearToEmpty(); + dataset_.ClearToEmpty(); + scenario_.ClearToEmpty(); + models_.ClearToEmpty(); msg_.ClearToEmpty(); + ::memset(&identity_, 0, static_cast( + reinterpret_cast(&numclients_) - + reinterpret_cast(&identity_)) + sizeof(numclients_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* GenericRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* TTRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { ::PROTOBUF_NAMESPACE_ID::uint32 tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // string msg = 1; + // int32 idEntity = 1; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { + identity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string model = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_model(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.TTRequest.model")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string dataset = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_dataset(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.TTRequest.dataset")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string scenario = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + auto str = _internal_mutable_scenario(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.TTRequest.scenario")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 seed = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) { + seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool nonIID = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) { + noniid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 idModel = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) { + idmodel_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool trainFlag = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) { + trainflag_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 epochs = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) { + epochs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 batch = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) { + batch_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 numClients = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) { + numclients_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // double percentDataset = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 97)) { + percentdataset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(double); + } else goto handle_unusual; + continue; + // string models = 13; + case 13: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) { + auto str = _internal_mutable_models(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.TTRequest.models")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string msg = 14; + case 14: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) { auto str = _internal_mutable_msg(); ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.GenericRequest.msg")); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.TTRequest.msg")); CHK_(ptr); } else goto handle_unusual; continue; @@ -309,45 +537,224 @@ const char* GenericRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE #undef CHK_ } -::PROTOBUF_NAMESPACE_ID::uint8* GenericRequest::_InternalSerialize( +::PROTOBUF_NAMESPACE_ID::uint8* TTRequest::_InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:flexe.GenericRequest) + // @@protoc_insertion_point(serialize_to_array_start:flexe.TTRequest) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - // string msg = 1; + // int32 idEntity = 1; + if (this->identity() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_identity(), target); + } + + // string model = 2; + if (!this->model().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_model().data(), static_cast(this->_internal_model().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.TTRequest.model"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_model(), target); + } + + // string dataset = 3; + if (!this->dataset().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_dataset().data(), static_cast(this->_internal_dataset().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.TTRequest.dataset"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_dataset(), target); + } + + // string scenario = 4; + if (!this->scenario().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_scenario().data(), static_cast(this->_internal_scenario().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.TTRequest.scenario"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_scenario(), target); + } + + // int32 seed = 5; + if (this->seed() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_seed(), target); + } + + // bool nonIID = 6; + if (this->noniid() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_noniid(), target); + } + + // int32 idModel = 7; + if (this->idmodel() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_idmodel(), target); + } + + // bool trainFlag = 8; + if (this->trainflag() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(8, this->_internal_trainflag(), target); + } + + // int32 epochs = 9; + if (this->epochs() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_epochs(), target); + } + + // int32 batch = 10; + if (this->batch() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_batch(), target); + } + + // int32 numClients = 11; + if (this->numclients() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_numclients(), target); + } + + // double percentDataset = 12; + if (!(this->percentdataset() <= 0 && this->percentdataset() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(12, this->_internal_percentdataset(), target); + } + + // string models = 13; + if (!this->models().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_models().data(), static_cast(this->_internal_models().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.TTRequest.models"); + target = stream->WriteStringMaybeAliased( + 13, this->_internal_models(), target); + } + + // string msg = 14; if (!this->msg().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->_internal_msg().data(), static_cast(this->_internal_msg().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "flexe.GenericRequest.msg"); + "flexe.TTRequest.msg"); target = stream->WriteStringMaybeAliased( - 1, this->_internal_msg(), target); + 14, this->_internal_msg(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:flexe.GenericRequest) + // @@protoc_insertion_point(serialize_to_array_end:flexe.TTRequest) return target; } -size_t GenericRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:flexe.GenericRequest) +size_t TTRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flexe.TTRequest) size_t total_size = 0; ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string msg = 1; + // string model = 2; + if (!this->model().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_model()); + } + + // string dataset = 3; + if (!this->dataset().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_dataset()); + } + + // string scenario = 4; + if (!this->scenario().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_scenario()); + } + + // string models = 13; + if (!this->models().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_models()); + } + + // string msg = 14; if (!this->msg().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( this->_internal_msg()); } + // int32 idEntity = 1; + if (this->identity() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_identity()); + } + + // int32 seed = 5; + if (this->seed() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_seed()); + } + + // int32 idModel = 7; + if (this->idmodel() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_idmodel()); + } + + // bool nonIID = 6; + if (this->noniid() != 0) { + total_size += 1 + 1; + } + + // bool trainFlag = 8; + if (this->trainflag() != 0) { + total_size += 1 + 1; + } + + // int32 epochs = 9; + if (this->epochs() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_epochs()); + } + + // int32 batch = 10; + if (this->batch() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_batch()); + } + + // double percentDataset = 12; + if (!(this->percentdataset() <= 0 && this->percentdataset() >= 0)) { + total_size += 1 + 8; + } + + // int32 numClients = 11; + if (this->numclients() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_numclients()); + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( _internal_metadata_, total_size, &_cached_size_); @@ -357,62 +764,127 @@ size_t GenericRequest::ByteSizeLong() const { return total_size; } -void GenericRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:flexe.GenericRequest) +void TTRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flexe.TTRequest) GOOGLE_DCHECK_NE(&from, this); - const GenericRequest* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + const TTRequest* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( &from); if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:flexe.GenericRequest) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flexe.TTRequest) ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:flexe.GenericRequest) + // @@protoc_insertion_point(generalized_merge_from_cast_success:flexe.TTRequest) MergeFrom(*source); } } -void GenericRequest::MergeFrom(const GenericRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flexe.GenericRequest) +void TTRequest::MergeFrom(const TTRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flexe.TTRequest) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; + if (!from.model().empty()) { + _internal_set_model(from._internal_model()); + } + if (!from.dataset().empty()) { + _internal_set_dataset(from._internal_dataset()); + } + if (!from.scenario().empty()) { + _internal_set_scenario(from._internal_scenario()); + } + if (!from.models().empty()) { + _internal_set_models(from._internal_models()); + } if (!from.msg().empty()) { _internal_set_msg(from._internal_msg()); } + if (from.identity() != 0) { + _internal_set_identity(from._internal_identity()); + } + if (from.seed() != 0) { + _internal_set_seed(from._internal_seed()); + } + if (from.idmodel() != 0) { + _internal_set_idmodel(from._internal_idmodel()); + } + if (from.noniid() != 0) { + _internal_set_noniid(from._internal_noniid()); + } + if (from.trainflag() != 0) { + _internal_set_trainflag(from._internal_trainflag()); + } + if (from.epochs() != 0) { + _internal_set_epochs(from._internal_epochs()); + } + if (from.batch() != 0) { + _internal_set_batch(from._internal_batch()); + } + if (!(from.percentdataset() <= 0 && from.percentdataset() >= 0)) { + _internal_set_percentdataset(from._internal_percentdataset()); + } + if (from.numclients() != 0) { + _internal_set_numclients(from._internal_numclients()); + } } -void GenericRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:flexe.GenericRequest) +void TTRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flexe.TTRequest) if (&from == this) return; Clear(); MergeFrom(from); } -void GenericRequest::CopyFrom(const GenericRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flexe.GenericRequest) +void TTRequest::CopyFrom(const TTRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flexe.TTRequest) if (&from == this) return; Clear(); MergeFrom(from); } -bool GenericRequest::IsInitialized() const { +bool TTRequest::IsInitialized() const { return true; } -void GenericRequest::InternalSwap(GenericRequest* other) { +void TTRequest::InternalSwap(TTRequest* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &model_, GetArenaForAllocation(), + &other->model_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &dataset_, GetArenaForAllocation(), + &other->dataset_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &scenario_, GetArenaForAllocation(), + &other->scenario_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &models_, GetArenaForAllocation(), + &other->models_, other->GetArenaForAllocation() + ); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), &msg_, GetArenaForAllocation(), &other->msg_, other->GetArenaForAllocation() ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(TTRequest, numclients_) + + sizeof(TTRequest::numclients_) + - PROTOBUF_FIELD_OFFSET(TTRequest, identity_)>( + reinterpret_cast(&identity_), + reinterpret_cast(&other->identity_)); } -::PROTOBUF_NAMESPACE_ID::Metadata GenericRequest::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata TTRequest::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flexe_2eproto_getter, &descriptor_table_flexe_2eproto_once, file_level_metadata_flexe_2eproto[0]); @@ -420,302 +892,221 @@ ::PROTOBUF_NAMESPACE_ID::Metadata GenericRequest::GetMetadata() const { // =================================================================== -class GenericResponse::_Internal { +class AggregationRequest::_Internal { public: }; -GenericResponse::GenericResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena) +AggregationRequest::AggregationRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena) : ::PROTOBUF_NAMESPACE_ID::Message(arena) { SharedCtor(); RegisterArenaDtor(arena); - // @@protoc_insertion_point(arena_constructor:flexe.GenericResponse) + // @@protoc_insertion_point(arena_constructor:flexe.AggregationRequest) } -GenericResponse::GenericResponse(const GenericResponse& from) +AggregationRequest::AggregationRequest(const AggregationRequest& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - reply_ = from.reply_; - // @@protoc_insertion_point(copy_constructor:flexe.GenericResponse) -} - -void GenericResponse::SharedCtor() { -reply_ = 0; -} - -GenericResponse::~GenericResponse() { - // @@protoc_insertion_point(destructor:flexe.GenericResponse) - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -void GenericResponse::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void GenericResponse::ArenaDtor(void* object) { - GenericResponse* _this = reinterpret_cast< GenericResponse* >(object); - (void)_this; -} -void GenericResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void GenericResponse::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void GenericResponse::Clear() { -// @@protoc_insertion_point(message_clear_start:flexe.GenericResponse) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - reply_ = 0; - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* GenericResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - ::PROTOBUF_NAMESPACE_ID::uint32 tag; - ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); - switch (tag >> 3) { - // int32 reply = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { - reply_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - default: { - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto success; - } - ptr = UnknownFieldParse(tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - continue; - } - } // switch - } // while -success: - return ptr; -failure: - ptr = nullptr; - goto success; -#undef CHK_ -} - -::PROTOBUF_NAMESPACE_ID::uint8* GenericResponse::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:flexe.GenericResponse) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // int32 reply = 1; - if (this->reply() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_reply(), target); + model_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_model().empty()) { + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_model(), + GetArenaForAllocation()); } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + dataset_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_dataset().empty()) { + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_dataset(), + GetArenaForAllocation()); } - // @@protoc_insertion_point(serialize_to_array_end:flexe.GenericResponse) - return target; -} - -size_t GenericResponse::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:flexe.GenericResponse) - size_t total_size = 0; - - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - // int32 reply = 1; - if (this->reply() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - this->_internal_reply()); + scenario_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_scenario().empty()) { + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_scenario(), + GetArenaForAllocation()); } - - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( - _internal_metadata_, total_size, &_cached_size_); + numexamples_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_numexamples().empty()) { + numexamples_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_numexamples(), + GetArenaForAllocation()); } - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); - SetCachedSize(cached_size); - return total_size; -} - -void GenericResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:flexe.GenericResponse) - GOOGLE_DCHECK_NE(&from, this); - const GenericResponse* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( - &from); - if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:flexe.GenericResponse) - ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:flexe.GenericResponse) - MergeFrom(*source); + models_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_models().empty()) { + models_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_models(), + GetArenaForAllocation()); } -} - -void GenericResponse::MergeFrom(const GenericResponse& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flexe.GenericResponse) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from.reply() != 0) { - _internal_set_reply(from._internal_reply()); + strategy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_strategy().empty()) { + strategy_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_strategy(), + GetArenaForAllocation()); } -} - -void GenericResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:flexe.GenericResponse) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void GenericResponse::CopyFrom(const GenericResponse& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flexe.GenericResponse) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool GenericResponse::IsInitialized() const { - return true; -} - -void GenericResponse::InternalSwap(GenericResponse* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(reply_, other->reply_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata GenericResponse::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_flexe_2eproto_getter, &descriptor_table_flexe_2eproto_once, - file_level_metadata_flexe_2eproto[1]); -} - -// =================================================================== - -class TTRequest::_Internal { - public: -}; - -TTRequest::TTRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena) - : ::PROTOBUF_NAMESPACE_ID::Message(arena) { - SharedCtor(); - RegisterArenaDtor(arena); - // @@protoc_insertion_point(arena_constructor:flexe.TTRequest) -} -TTRequest::TTRequest(const TTRequest& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - modelname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from._internal_modelname().empty()) { - modelname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_modelname(), + msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_msg().empty()) { + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_msg(), GetArenaForAllocation()); } - ::memcpy(&idvehicle_, &from.idvehicle_, - static_cast(reinterpret_cast(&batch_size_) - - reinterpret_cast(&idvehicle_)) + sizeof(batch_size_)); - // @@protoc_insertion_point(copy_constructor:flexe.TTRequest) + ::memcpy(&identity_, &from.identity_, + static_cast(reinterpret_cast(&numclients_) - + reinterpret_cast(&identity_)) + sizeof(numclients_)); + // @@protoc_insertion_point(copy_constructor:flexe.AggregationRequest) } -void TTRequest::SharedCtor() { -modelname_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +void AggregationRequest::SharedCtor() { +model_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +dataset_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +scenario_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +numexamples_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +models_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +strategy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&idvehicle_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&batch_size_) - - reinterpret_cast(&idvehicle_)) + sizeof(batch_size_)); + reinterpret_cast(&identity_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&numclients_) - + reinterpret_cast(&identity_)) + sizeof(numclients_)); } -TTRequest::~TTRequest() { - // @@protoc_insertion_point(destructor:flexe.TTRequest) +AggregationRequest::~AggregationRequest() { + // @@protoc_insertion_point(destructor:flexe.AggregationRequest) SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -void TTRequest::SharedDtor() { +void AggregationRequest::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - modelname_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + model_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + dataset_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + scenario_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + numexamples_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + models_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + strategy_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + msg_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -void TTRequest::ArenaDtor(void* object) { - TTRequest* _this = reinterpret_cast< TTRequest* >(object); +void AggregationRequest::ArenaDtor(void* object) { + AggregationRequest* _this = reinterpret_cast< AggregationRequest* >(object); (void)_this; } -void TTRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void AggregationRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void TTRequest::SetCachedSize(int size) const { +void AggregationRequest::SetCachedSize(int size) const { _cached_size_.Set(size); } -void TTRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:flexe.TTRequest) +void AggregationRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flexe.AggregationRequest) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - modelname_.ClearToEmpty(); - ::memset(&idvehicle_, 0, static_cast( - reinterpret_cast(&batch_size_) - - reinterpret_cast(&idvehicle_)) + sizeof(batch_size_)); + model_.ClearToEmpty(); + dataset_.ClearToEmpty(); + scenario_.ClearToEmpty(); + numexamples_.ClearToEmpty(); + models_.ClearToEmpty(); + strategy_.ClearToEmpty(); + msg_.ClearToEmpty(); + ::memset(&identity_, 0, static_cast( + reinterpret_cast(&numclients_) - + reinterpret_cast(&identity_)) + sizeof(numclients_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* TTRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* AggregationRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { ::PROTOBUF_NAMESPACE_ID::uint32 tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // int32 idVehicle = 1; + // int32 idEntity = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { - idvehicle_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + identity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // bool trainFlag = 2; + // string model = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { - trainflag_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_model(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.AggregationRequest.model")); CHK_(ptr); } else goto handle_unusual; continue; - // string modelName = 3; + // string dataset = 3; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { - auto str = _internal_mutable_modelname(); + auto str = _internal_mutable_dataset(); ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.TTRequest.modelName")); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.AggregationRequest.dataset")); CHK_(ptr); } else goto handle_unusual; continue; - // int32 epochs = 4; + // string scenario = 4; case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) { - epochs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + auto str = _internal_mutable_scenario(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.AggregationRequest.scenario")); CHK_(ptr); } else goto handle_unusual; continue; - // int32 batch_size = 5; + // int32 seed = 5; case 5: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) { - batch_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool nonIID = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) { + noniid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 idModel = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) { + idmodel_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 numClients = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) { + numclients_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string numExamples = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) { + auto str = _internal_mutable_numexamples(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.AggregationRequest.numExamples")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string models = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) { + auto str = _internal_mutable_models(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.AggregationRequest.models")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string strategy = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) { + auto str = _internal_mutable_strategy(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.AggregationRequest.strategy")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string msg = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) { + auto str = _internal_mutable_msg(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.AggregationRequest.msg")); CHK_(ptr); } else goto handle_unusual; continue; @@ -742,93 +1133,208 @@ const char* TTRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID:: #undef CHK_ } -::PROTOBUF_NAMESPACE_ID::uint8* TTRequest::_InternalSerialize( +::PROTOBUF_NAMESPACE_ID::uint8* AggregationRequest::_InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:flexe.TTRequest) + // @@protoc_insertion_point(serialize_to_array_start:flexe.AggregationRequest) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - // int32 idVehicle = 1; - if (this->idvehicle() != 0) { + // int32 idEntity = 1; + if (this->identity() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_idvehicle(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_identity(), target); } - // bool trainFlag = 2; - if (this->trainflag() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_trainflag(), target); + // string model = 2; + if (!this->model().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_model().data(), static_cast(this->_internal_model().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.AggregationRequest.model"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_model(), target); } - // string modelName = 3; - if (!this->modelname().empty()) { + // string dataset = 3; + if (!this->dataset().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_modelname().data(), static_cast(this->_internal_modelname().length()), + this->_internal_dataset().data(), static_cast(this->_internal_dataset().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "flexe.TTRequest.modelName"); + "flexe.AggregationRequest.dataset"); target = stream->WriteStringMaybeAliased( - 3, this->_internal_modelname(), target); + 3, this->_internal_dataset(), target); } - // int32 epochs = 4; - if (this->epochs() != 0) { + // string scenario = 4; + if (!this->scenario().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_scenario().data(), static_cast(this->_internal_scenario().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.AggregationRequest.scenario"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_scenario(), target); + } + + // int32 seed = 5; + if (this->seed() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_seed(), target); + } + + // bool nonIID = 6; + if (this->noniid() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_epochs(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_noniid(), target); } - // int32 batch_size = 5; - if (this->batch_size() != 0) { + // int32 idModel = 7; + if (this->idmodel() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_batch_size(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_idmodel(), target); + } + + // int32 numClients = 8; + if (this->numclients() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_numclients(), target); + } + + // string numExamples = 9; + if (!this->numexamples().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_numexamples().data(), static_cast(this->_internal_numexamples().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.AggregationRequest.numExamples"); + target = stream->WriteStringMaybeAliased( + 9, this->_internal_numexamples(), target); + } + + // string models = 10; + if (!this->models().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_models().data(), static_cast(this->_internal_models().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.AggregationRequest.models"); + target = stream->WriteStringMaybeAliased( + 10, this->_internal_models(), target); + } + + // string strategy = 11; + if (!this->strategy().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_strategy().data(), static_cast(this->_internal_strategy().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.AggregationRequest.strategy"); + target = stream->WriteStringMaybeAliased( + 11, this->_internal_strategy(), target); + } + + // string msg = 12; + if (!this->msg().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_msg().data(), static_cast(this->_internal_msg().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.AggregationRequest.msg"); + target = stream->WriteStringMaybeAliased( + 12, this->_internal_msg(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:flexe.TTRequest) + // @@protoc_insertion_point(serialize_to_array_end:flexe.AggregationRequest) return target; } -size_t TTRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:flexe.TTRequest) +size_t AggregationRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flexe.AggregationRequest) size_t total_size = 0; ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string modelName = 3; - if (!this->modelname().empty()) { + // string model = 2; + if (!this->model().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_model()); + } + + // string dataset = 3; + if (!this->dataset().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_dataset()); + } + + // string scenario = 4; + if (!this->scenario().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_scenario()); + } + + // string numExamples = 9; + if (!this->numexamples().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_modelname()); + this->_internal_numexamples()); } - // int32 idVehicle = 1; - if (this->idvehicle() != 0) { + // string models = 10; + if (!this->models().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_models()); + } + + // string strategy = 11; + if (!this->strategy().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_strategy()); + } + + // string msg = 12; + if (!this->msg().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_msg()); + } + + // int32 idEntity = 1; + if (this->identity() != 0) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - this->_internal_idvehicle()); + this->_internal_identity()); } - // bool trainFlag = 2; - if (this->trainflag() != 0) { + // int32 seed = 5; + if (this->seed() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_seed()); + } + + // bool nonIID = 6; + if (this->noniid() != 0) { total_size += 1 + 1; } - // int32 epochs = 4; - if (this->epochs() != 0) { + // int32 idModel = 7; + if (this->idmodel() != 0) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - this->_internal_epochs()); + this->_internal_idmodel()); } - // int32 batch_size = 5; - if (this->batch_size() != 0) { + // int32 numClients = 8; + if (this->numclients() != 0) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - this->_internal_batch_size()); + this->_internal_numclients()); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -840,163 +1346,296 @@ size_t TTRequest::ByteSizeLong() const { return total_size; } -void TTRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:flexe.TTRequest) +void AggregationRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flexe.AggregationRequest) GOOGLE_DCHECK_NE(&from, this); - const TTRequest* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + const AggregationRequest* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( &from); if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:flexe.TTRequest) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flexe.AggregationRequest) ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:flexe.TTRequest) + // @@protoc_insertion_point(generalized_merge_from_cast_success:flexe.AggregationRequest) MergeFrom(*source); } } -void TTRequest::MergeFrom(const TTRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flexe.TTRequest) +void AggregationRequest::MergeFrom(const AggregationRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flexe.AggregationRequest) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - if (!from.modelname().empty()) { - _internal_set_modelname(from._internal_modelname()); + if (!from.model().empty()) { + _internal_set_model(from._internal_model()); } - if (from.idvehicle() != 0) { - _internal_set_idvehicle(from._internal_idvehicle()); + if (!from.dataset().empty()) { + _internal_set_dataset(from._internal_dataset()); } - if (from.trainflag() != 0) { - _internal_set_trainflag(from._internal_trainflag()); + if (!from.scenario().empty()) { + _internal_set_scenario(from._internal_scenario()); } - if (from.epochs() != 0) { - _internal_set_epochs(from._internal_epochs()); + if (!from.numexamples().empty()) { + _internal_set_numexamples(from._internal_numexamples()); } - if (from.batch_size() != 0) { - _internal_set_batch_size(from._internal_batch_size()); + if (!from.models().empty()) { + _internal_set_models(from._internal_models()); + } + if (!from.strategy().empty()) { + _internal_set_strategy(from._internal_strategy()); + } + if (!from.msg().empty()) { + _internal_set_msg(from._internal_msg()); + } + if (from.identity() != 0) { + _internal_set_identity(from._internal_identity()); + } + if (from.seed() != 0) { + _internal_set_seed(from._internal_seed()); + } + if (from.noniid() != 0) { + _internal_set_noniid(from._internal_noniid()); + } + if (from.idmodel() != 0) { + _internal_set_idmodel(from._internal_idmodel()); + } + if (from.numclients() != 0) { + _internal_set_numclients(from._internal_numclients()); } } -void TTRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:flexe.TTRequest) +void AggregationRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flexe.AggregationRequest) if (&from == this) return; Clear(); MergeFrom(from); } -void TTRequest::CopyFrom(const TTRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flexe.TTRequest) +void AggregationRequest::CopyFrom(const AggregationRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flexe.AggregationRequest) if (&from == this) return; Clear(); MergeFrom(from); } -bool TTRequest::IsInitialized() const { +bool AggregationRequest::IsInitialized() const { return true; } -void TTRequest::InternalSwap(TTRequest* other) { +void AggregationRequest::InternalSwap(AggregationRequest* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &modelname_, GetArenaForAllocation(), - &other->modelname_, other->GetArenaForAllocation() + &model_, GetArenaForAllocation(), + &other->model_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &dataset_, GetArenaForAllocation(), + &other->dataset_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &scenario_, GetArenaForAllocation(), + &other->scenario_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &numexamples_, GetArenaForAllocation(), + &other->numexamples_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &models_, GetArenaForAllocation(), + &other->models_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &strategy_, GetArenaForAllocation(), + &other->strategy_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &msg_, GetArenaForAllocation(), + &other->msg_, other->GetArenaForAllocation() ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(TTRequest, batch_size_) - + sizeof(TTRequest::batch_size_) - - PROTOBUF_FIELD_OFFSET(TTRequest, idvehicle_)>( - reinterpret_cast(&idvehicle_), - reinterpret_cast(&other->idvehicle_)); + PROTOBUF_FIELD_OFFSET(AggregationRequest, numclients_) + + sizeof(AggregationRequest::numclients_) + - PROTOBUF_FIELD_OFFSET(AggregationRequest, identity_)>( + reinterpret_cast(&identity_), + reinterpret_cast(&other->identity_)); } -::PROTOBUF_NAMESPACE_ID::Metadata TTRequest::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata AggregationRequest::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flexe_2eproto_getter, &descriptor_table_flexe_2eproto_once, - file_level_metadata_flexe_2eproto[2]); + file_level_metadata_flexe_2eproto[1]); } // =================================================================== -class EvaluateReply::_Internal { +class GenericRequest::_Internal { public: }; -EvaluateReply::EvaluateReply(::PROTOBUF_NAMESPACE_ID::Arena* arena) +GenericRequest::GenericRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena) : ::PROTOBUF_NAMESPACE_ID::Message(arena) { SharedCtor(); RegisterArenaDtor(arena); - // @@protoc_insertion_point(arena_constructor:flexe.EvaluateReply) + // @@protoc_insertion_point(arena_constructor:flexe.GenericRequest) } -EvaluateReply::EvaluateReply(const EvaluateReply& from) +GenericRequest::GenericRequest(const GenericRequest& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&loss_, &from.loss_, - static_cast(reinterpret_cast(&accuracy_) - - reinterpret_cast(&loss_)) + sizeof(accuracy_)); - // @@protoc_insertion_point(copy_constructor:flexe.EvaluateReply) + model_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_model().empty()) { + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_model(), + GetArenaForAllocation()); + } + dataset_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_dataset().empty()) { + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_dataset(), + GetArenaForAllocation()); + } + scenario_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_scenario().empty()) { + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_scenario(), + GetArenaForAllocation()); + } + msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_msg().empty()) { + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_msg(), + GetArenaForAllocation()); + } + ::memcpy(&identity_, &from.identity_, + static_cast(reinterpret_cast(&idmodel_) - + reinterpret_cast(&identity_)) + sizeof(idmodel_)); + // @@protoc_insertion_point(copy_constructor:flexe.GenericRequest) } -void EvaluateReply::SharedCtor() { +void GenericRequest::SharedCtor() { +model_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +dataset_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +scenario_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&loss_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&accuracy_) - - reinterpret_cast(&loss_)) + sizeof(accuracy_)); + reinterpret_cast(&identity_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&idmodel_) - + reinterpret_cast(&identity_)) + sizeof(idmodel_)); } -EvaluateReply::~EvaluateReply() { - // @@protoc_insertion_point(destructor:flexe.EvaluateReply) +GenericRequest::~GenericRequest() { + // @@protoc_insertion_point(destructor:flexe.GenericRequest) SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -void EvaluateReply::SharedDtor() { +void GenericRequest::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + model_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + dataset_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + scenario_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + msg_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -void EvaluateReply::ArenaDtor(void* object) { - EvaluateReply* _this = reinterpret_cast< EvaluateReply* >(object); +void GenericRequest::ArenaDtor(void* object) { + GenericRequest* _this = reinterpret_cast< GenericRequest* >(object); (void)_this; } -void EvaluateReply::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void GenericRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void EvaluateReply::SetCachedSize(int size) const { +void GenericRequest::SetCachedSize(int size) const { _cached_size_.Set(size); } -void EvaluateReply::Clear() { -// @@protoc_insertion_point(message_clear_start:flexe.EvaluateReply) +void GenericRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flexe.GenericRequest) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - ::memset(&loss_, 0, static_cast( - reinterpret_cast(&accuracy_) - - reinterpret_cast(&loss_)) + sizeof(accuracy_)); + model_.ClearToEmpty(); + dataset_.ClearToEmpty(); + scenario_.ClearToEmpty(); + msg_.ClearToEmpty(); + ::memset(&identity_, 0, static_cast( + reinterpret_cast(&idmodel_) - + reinterpret_cast(&identity_)) + sizeof(idmodel_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* EvaluateReply::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* GenericRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { ::PROTOBUF_NAMESPACE_ID::uint32 tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // double loss = 1; + // int32 idEntity = 1; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 9)) { - loss_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); - ptr += sizeof(double); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { + identity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string model = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_model(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.GenericRequest.model")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string dataset = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_dataset(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.GenericRequest.dataset")); + CHK_(ptr); } else goto handle_unusual; continue; - // double accuracy = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) { - accuracy_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); - ptr += sizeof(double); + // string scenario = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + auto str = _internal_mutable_scenario(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.GenericRequest.scenario")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 seed = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) { + seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool nonIID = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) { + noniid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 idModel = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) { + idmodel_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string msg = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) { + auto str = _internal_mutable_msg(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.GenericRequest.msg")); + CHK_(ptr); } else goto handle_unusual; continue; default: { @@ -1022,48 +1661,144 @@ const char* EvaluateReply::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ #undef CHK_ } -::PROTOBUF_NAMESPACE_ID::uint8* EvaluateReply::_InternalSerialize( +::PROTOBUF_NAMESPACE_ID::uint8* GenericRequest::_InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:flexe.EvaluateReply) + // @@protoc_insertion_point(serialize_to_array_start:flexe.GenericRequest) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - // double loss = 1; - if (!(this->loss() <= 0 && this->loss() >= 0)) { + // int32 idEntity = 1; + if (this->identity() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(1, this->_internal_loss(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_identity(), target); } - // double accuracy = 2; - if (!(this->accuracy() <= 0 && this->accuracy() >= 0)) { + // string model = 2; + if (!this->model().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_model().data(), static_cast(this->_internal_model().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.GenericRequest.model"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_model(), target); + } + + // string dataset = 3; + if (!this->dataset().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_dataset().data(), static_cast(this->_internal_dataset().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.GenericRequest.dataset"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_dataset(), target); + } + + // string scenario = 4; + if (!this->scenario().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_scenario().data(), static_cast(this->_internal_scenario().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.GenericRequest.scenario"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_scenario(), target); + } + + // int32 seed = 5; + if (this->seed() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_seed(), target); + } + + // bool nonIID = 6; + if (this->noniid() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_noniid(), target); + } + + // int32 idModel = 7; + if (this->idmodel() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_accuracy(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_idmodel(), target); + } + + // string msg = 8; + if (!this->msg().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_msg().data(), static_cast(this->_internal_msg().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.GenericRequest.msg"); + target = stream->WriteStringMaybeAliased( + 8, this->_internal_msg(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:flexe.EvaluateReply) + // @@protoc_insertion_point(serialize_to_array_end:flexe.GenericRequest) return target; } -size_t EvaluateReply::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:flexe.EvaluateReply) +size_t GenericRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flexe.GenericRequest) size_t total_size = 0; ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // double loss = 1; - if (!(this->loss() <= 0 && this->loss() >= 0)) { - total_size += 1 + 8; + // string model = 2; + if (!this->model().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_model()); } - // double accuracy = 2; - if (!(this->accuracy() <= 0 && this->accuracy() >= 0)) { - total_size += 1 + 8; + // string dataset = 3; + if (!this->dataset().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_dataset()); + } + + // string scenario = 4; + if (!this->scenario().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_scenario()); + } + + // string msg = 8; + if (!this->msg().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_msg()); + } + + // int32 idEntity = 1; + if (this->identity() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_identity()); + } + + // int32 seed = 5; + if (this->seed() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_seed()); + } + + // bool nonIID = 6; + if (this->noniid() != 0) { + total_size += 1 + 1; + } + + // int32 idModel = 7; + if (this->idmodel() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_idmodel()); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -1075,164 +1810,275 @@ size_t EvaluateReply::ByteSizeLong() const { return total_size; } -void EvaluateReply::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:flexe.EvaluateReply) +void GenericRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flexe.GenericRequest) GOOGLE_DCHECK_NE(&from, this); - const EvaluateReply* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + const GenericRequest* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( &from); if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:flexe.EvaluateReply) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flexe.GenericRequest) ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:flexe.EvaluateReply) + // @@protoc_insertion_point(generalized_merge_from_cast_success:flexe.GenericRequest) MergeFrom(*source); } } -void EvaluateReply::MergeFrom(const EvaluateReply& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flexe.EvaluateReply) +void GenericRequest::MergeFrom(const GenericRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flexe.GenericRequest) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - if (!(from.loss() <= 0 && from.loss() >= 0)) { - _internal_set_loss(from._internal_loss()); + if (!from.model().empty()) { + _internal_set_model(from._internal_model()); } - if (!(from.accuracy() <= 0 && from.accuracy() >= 0)) { - _internal_set_accuracy(from._internal_accuracy()); + if (!from.dataset().empty()) { + _internal_set_dataset(from._internal_dataset()); + } + if (!from.scenario().empty()) { + _internal_set_scenario(from._internal_scenario()); + } + if (!from.msg().empty()) { + _internal_set_msg(from._internal_msg()); + } + if (from.identity() != 0) { + _internal_set_identity(from._internal_identity()); + } + if (from.seed() != 0) { + _internal_set_seed(from._internal_seed()); + } + if (from.noniid() != 0) { + _internal_set_noniid(from._internal_noniid()); + } + if (from.idmodel() != 0) { + _internal_set_idmodel(from._internal_idmodel()); } } -void EvaluateReply::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:flexe.EvaluateReply) +void GenericRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flexe.GenericRequest) if (&from == this) return; Clear(); MergeFrom(from); } -void EvaluateReply::CopyFrom(const EvaluateReply& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flexe.EvaluateReply) +void GenericRequest::CopyFrom(const GenericRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flexe.GenericRequest) if (&from == this) return; Clear(); MergeFrom(from); } -bool EvaluateReply::IsInitialized() const { +bool GenericRequest::IsInitialized() const { return true; } -void EvaluateReply::InternalSwap(EvaluateReply* other) { +void GenericRequest::InternalSwap(GenericRequest* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &model_, GetArenaForAllocation(), + &other->model_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &dataset_, GetArenaForAllocation(), + &other->dataset_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &scenario_, GetArenaForAllocation(), + &other->scenario_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &msg_, GetArenaForAllocation(), + &other->msg_, other->GetArenaForAllocation() + ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(EvaluateReply, accuracy_) - + sizeof(EvaluateReply::accuracy_) - - PROTOBUF_FIELD_OFFSET(EvaluateReply, loss_)>( - reinterpret_cast(&loss_), - reinterpret_cast(&other->loss_)); + PROTOBUF_FIELD_OFFSET(GenericRequest, idmodel_) + + sizeof(GenericRequest::idmodel_) + - PROTOBUF_FIELD_OFFSET(GenericRequest, identity_)>( + reinterpret_cast(&identity_), + reinterpret_cast(&other->identity_)); } -::PROTOBUF_NAMESPACE_ID::Metadata EvaluateReply::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata GenericRequest::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flexe_2eproto_getter, &descriptor_table_flexe_2eproto_once, - file_level_metadata_flexe_2eproto[3]); + file_level_metadata_flexe_2eproto[2]); } // =================================================================== -class ModelReply::_Internal { +class GenericReply::_Internal { public: }; -ModelReply::ModelReply(::PROTOBUF_NAMESPACE_ID::Arena* arena) - : ::PROTOBUF_NAMESPACE_ID::Message(arena), - tensors_(arena) { +GenericReply::GenericReply(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { SharedCtor(); RegisterArenaDtor(arena); - // @@protoc_insertion_point(arena_constructor:flexe.ModelReply) + // @@protoc_insertion_point(arena_constructor:flexe.GenericReply) } -ModelReply::ModelReply(const ModelReply& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - tensors_(from.tensors_) { +GenericReply::GenericReply(const GenericReply& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&idvehicle_, &from.idvehicle_, - static_cast(reinterpret_cast(&num_examples_) - - reinterpret_cast(&idvehicle_)) + sizeof(num_examples_)); - // @@protoc_insertion_point(copy_constructor:flexe.ModelReply) + model_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_model().empty()) { + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_model(), + GetArenaForAllocation()); + } + dataset_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_dataset().empty()) { + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_dataset(), + GetArenaForAllocation()); + } + scenario_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_scenario().empty()) { + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_scenario(), + GetArenaForAllocation()); + } + msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_msg().empty()) { + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_msg(), + GetArenaForAllocation()); + } + ::memcpy(&identity_, &from.identity_, + static_cast(reinterpret_cast(&reply_) - + reinterpret_cast(&identity_)) + sizeof(reply_)); + // @@protoc_insertion_point(copy_constructor:flexe.GenericReply) } -void ModelReply::SharedCtor() { +void GenericReply::SharedCtor() { +model_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +dataset_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +scenario_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&idvehicle_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&num_examples_) - - reinterpret_cast(&idvehicle_)) + sizeof(num_examples_)); + reinterpret_cast(&identity_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&reply_) - + reinterpret_cast(&identity_)) + sizeof(reply_)); } -ModelReply::~ModelReply() { - // @@protoc_insertion_point(destructor:flexe.ModelReply) +GenericReply::~GenericReply() { + // @@protoc_insertion_point(destructor:flexe.GenericReply) SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -void ModelReply::SharedDtor() { +void GenericReply::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + model_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + dataset_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + scenario_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + msg_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -void ModelReply::ArenaDtor(void* object) { - ModelReply* _this = reinterpret_cast< ModelReply* >(object); +void GenericReply::ArenaDtor(void* object) { + GenericReply* _this = reinterpret_cast< GenericReply* >(object); (void)_this; } -void ModelReply::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void GenericReply::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void ModelReply::SetCachedSize(int size) const { +void GenericReply::SetCachedSize(int size) const { _cached_size_.Set(size); } -void ModelReply::Clear() { -// @@protoc_insertion_point(message_clear_start:flexe.ModelReply) +void GenericReply::Clear() { +// @@protoc_insertion_point(message_clear_start:flexe.GenericReply) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - tensors_.Clear(); - ::memset(&idvehicle_, 0, static_cast( - reinterpret_cast(&num_examples_) - - reinterpret_cast(&idvehicle_)) + sizeof(num_examples_)); + model_.ClearToEmpty(); + dataset_.ClearToEmpty(); + scenario_.ClearToEmpty(); + msg_.ClearToEmpty(); + ::memset(&identity_, 0, static_cast( + reinterpret_cast(&reply_) - + reinterpret_cast(&identity_)) + sizeof(reply_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* ModelReply::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* GenericReply::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { ::PROTOBUF_NAMESPACE_ID::uint32 tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // int32 idVehicle = 1; + // int32 idEntity = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { - idvehicle_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + identity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // repeated bytes tensors = 2; + // string model = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr -= 1; - do { - ptr += 1; - auto str = _internal_add_tensors(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr)); + auto str = _internal_mutable_model(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.GenericReply.model")); + CHK_(ptr); } else goto handle_unusual; continue; - // int32 num_examples = 3; + // string dataset = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { - num_examples_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_dataset(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.GenericReply.dataset")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string scenario = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + auto str = _internal_mutable_scenario(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.GenericReply.scenario")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 seed = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) { + seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool nonIID = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) { + noniid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 idModel = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) { + idmodel_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 reply = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) { + reply_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string msg = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) { + auto str = _internal_mutable_msg(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.GenericReply.msg")); CHK_(ptr); } else goto handle_unusual; continue; @@ -1259,66 +2105,157 @@ const char* ModelReply::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID: #undef CHK_ } -::PROTOBUF_NAMESPACE_ID::uint8* ModelReply::_InternalSerialize( +::PROTOBUF_NAMESPACE_ID::uint8* GenericReply::_InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:flexe.ModelReply) + // @@protoc_insertion_point(serialize_to_array_start:flexe.GenericReply) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - // int32 idVehicle = 1; - if (this->idvehicle() != 0) { + // int32 idEntity = 1; + if (this->identity() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_identity(), target); + } + + // string model = 2; + if (!this->model().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_model().data(), static_cast(this->_internal_model().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.GenericReply.model"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_model(), target); + } + + // string dataset = 3; + if (!this->dataset().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_dataset().data(), static_cast(this->_internal_dataset().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.GenericReply.dataset"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_dataset(), target); + } + + // string scenario = 4; + if (!this->scenario().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_scenario().data(), static_cast(this->_internal_scenario().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.GenericReply.scenario"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_scenario(), target); + } + + // int32 seed = 5; + if (this->seed() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_seed(), target); + } + + // bool nonIID = 6; + if (this->noniid() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_idvehicle(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_noniid(), target); } - // repeated bytes tensors = 2; - for (int i = 0, n = this->_internal_tensors_size(); i < n; i++) { - const auto& s = this->_internal_tensors(i); - target = stream->WriteBytes(2, s, target); + // int32 idModel = 7; + if (this->idmodel() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_idmodel(), target); } - // int32 num_examples = 3; - if (this->num_examples() != 0) { + // int32 reply = 8; + if (this->reply() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_num_examples(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_reply(), target); + } + + // string msg = 9; + if (!this->msg().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_msg().data(), static_cast(this->_internal_msg().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.GenericReply.msg"); + target = stream->WriteStringMaybeAliased( + 9, this->_internal_msg(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:flexe.ModelReply) + // @@protoc_insertion_point(serialize_to_array_end:flexe.GenericReply) return target; } -size_t ModelReply::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:flexe.ModelReply) - size_t total_size = 0; +size_t GenericReply::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flexe.GenericReply) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string model = 2; + if (!this->model().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_model()); + } + + // string dataset = 3; + if (!this->dataset().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_dataset()); + } + + // string scenario = 4; + if (!this->scenario().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_scenario()); + } + + // string msg = 9; + if (!this->msg().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_msg()); + } + + // int32 idEntity = 1; + if (this->identity() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_identity()); + } - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; + // int32 seed = 5; + if (this->seed() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_seed()); + } - // repeated bytes tensors = 2; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(tensors_.size()); - for (int i = 0, n = tensors_.size(); i < n; i++) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( - tensors_.Get(i)); + // bool nonIID = 6; + if (this->noniid() != 0) { + total_size += 1 + 1; } - // int32 idVehicle = 1; - if (this->idvehicle() != 0) { + // int32 idModel = 7; + if (this->idmodel() != 0) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - this->_internal_idvehicle()); + this->_internal_idmodel()); } - // int32 num_examples = 3; - if (this->num_examples() != 0) { + // int32 reply = 8; + if (this->reply() != 0) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - this->_internal_num_examples()); + this->_internal_reply()); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -1330,173 +2267,299 @@ size_t ModelReply::ByteSizeLong() const { return total_size; } -void ModelReply::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:flexe.ModelReply) +void GenericReply::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flexe.GenericReply) GOOGLE_DCHECK_NE(&from, this); - const ModelReply* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + const GenericReply* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( &from); if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:flexe.ModelReply) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flexe.GenericReply) ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:flexe.ModelReply) + // @@protoc_insertion_point(generalized_merge_from_cast_success:flexe.GenericReply) MergeFrom(*source); } } -void ModelReply::MergeFrom(const ModelReply& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flexe.ModelReply) +void GenericReply::MergeFrom(const GenericReply& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flexe.GenericReply) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - tensors_.MergeFrom(from.tensors_); - if (from.idvehicle() != 0) { - _internal_set_idvehicle(from._internal_idvehicle()); + if (!from.model().empty()) { + _internal_set_model(from._internal_model()); + } + if (!from.dataset().empty()) { + _internal_set_dataset(from._internal_dataset()); + } + if (!from.scenario().empty()) { + _internal_set_scenario(from._internal_scenario()); + } + if (!from.msg().empty()) { + _internal_set_msg(from._internal_msg()); + } + if (from.identity() != 0) { + _internal_set_identity(from._internal_identity()); + } + if (from.seed() != 0) { + _internal_set_seed(from._internal_seed()); } - if (from.num_examples() != 0) { - _internal_set_num_examples(from._internal_num_examples()); + if (from.noniid() != 0) { + _internal_set_noniid(from._internal_noniid()); + } + if (from.idmodel() != 0) { + _internal_set_idmodel(from._internal_idmodel()); + } + if (from.reply() != 0) { + _internal_set_reply(from._internal_reply()); } } -void ModelReply::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:flexe.ModelReply) +void GenericReply::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flexe.GenericReply) if (&from == this) return; Clear(); MergeFrom(from); } -void ModelReply::CopyFrom(const ModelReply& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flexe.ModelReply) +void GenericReply::CopyFrom(const GenericReply& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flexe.GenericReply) if (&from == this) return; Clear(); MergeFrom(from); } -bool ModelReply::IsInitialized() const { +bool GenericReply::IsInitialized() const { return true; } -void ModelReply::InternalSwap(ModelReply* other) { +void GenericReply::InternalSwap(GenericReply* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - tensors_.InternalSwap(&other->tensors_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &model_, GetArenaForAllocation(), + &other->model_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &dataset_, GetArenaForAllocation(), + &other->dataset_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &scenario_, GetArenaForAllocation(), + &other->scenario_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &msg_, GetArenaForAllocation(), + &other->msg_, other->GetArenaForAllocation() + ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(ModelReply, num_examples_) - + sizeof(ModelReply::num_examples_) - - PROTOBUF_FIELD_OFFSET(ModelReply, idvehicle_)>( - reinterpret_cast(&idvehicle_), - reinterpret_cast(&other->idvehicle_)); + PROTOBUF_FIELD_OFFSET(GenericReply, reply_) + + sizeof(GenericReply::reply_) + - PROTOBUF_FIELD_OFFSET(GenericReply, identity_)>( + reinterpret_cast(&identity_), + reinterpret_cast(&other->identity_)); } -::PROTOBUF_NAMESPACE_ID::Metadata ModelReply::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata GenericReply::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flexe_2eproto_getter, &descriptor_table_flexe_2eproto_once, - file_level_metadata_flexe_2eproto[4]); + file_level_metadata_flexe_2eproto[3]); } // =================================================================== -class ModelRequest::_Internal { +class ModelReply::_Internal { public: }; -ModelRequest::ModelRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena) - : ::PROTOBUF_NAMESPACE_ID::Message(arena), - tensors_(arena) { +ModelReply::ModelReply(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { SharedCtor(); RegisterArenaDtor(arena); - // @@protoc_insertion_point(arena_constructor:flexe.ModelRequest) + // @@protoc_insertion_point(arena_constructor:flexe.ModelReply) } -ModelRequest::ModelRequest(const ModelRequest& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - tensors_(from.tensors_) { +ModelReply::ModelReply(const ModelReply& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&idvehicle_, &from.idvehicle_, - static_cast(reinterpret_cast(&num_examples_) - - reinterpret_cast(&idvehicle_)) + sizeof(num_examples_)); - // @@protoc_insertion_point(copy_constructor:flexe.ModelRequest) + model_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_model().empty()) { + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_model(), + GetArenaForAllocation()); + } + dataset_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_dataset().empty()) { + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_dataset(), + GetArenaForAllocation()); + } + scenario_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_scenario().empty()) { + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_scenario(), + GetArenaForAllocation()); + } + msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_msg().empty()) { + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_msg(), + GetArenaForAllocation()); + } + ::memcpy(&identity_, &from.identity_, + static_cast(reinterpret_cast(&numexamples_) - + reinterpret_cast(&identity_)) + sizeof(numexamples_)); + // @@protoc_insertion_point(copy_constructor:flexe.ModelReply) } -void ModelRequest::SharedCtor() { +void ModelReply::SharedCtor() { +model_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +dataset_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +scenario_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +msg_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&idvehicle_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&num_examples_) - - reinterpret_cast(&idvehicle_)) + sizeof(num_examples_)); + reinterpret_cast(&identity_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&numexamples_) - + reinterpret_cast(&identity_)) + sizeof(numexamples_)); } -ModelRequest::~ModelRequest() { - // @@protoc_insertion_point(destructor:flexe.ModelRequest) +ModelReply::~ModelReply() { + // @@protoc_insertion_point(destructor:flexe.ModelReply) SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -void ModelRequest::SharedDtor() { +void ModelReply::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + model_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + dataset_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + scenario_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + msg_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } -void ModelRequest::ArenaDtor(void* object) { - ModelRequest* _this = reinterpret_cast< ModelRequest* >(object); +void ModelReply::ArenaDtor(void* object) { + ModelReply* _this = reinterpret_cast< ModelReply* >(object); (void)_this; } -void ModelRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void ModelReply::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void ModelRequest::SetCachedSize(int size) const { +void ModelReply::SetCachedSize(int size) const { _cached_size_.Set(size); } -void ModelRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:flexe.ModelRequest) +void ModelReply::Clear() { +// @@protoc_insertion_point(message_clear_start:flexe.ModelReply) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - tensors_.Clear(); - ::memset(&idvehicle_, 0, static_cast( - reinterpret_cast(&num_examples_) - - reinterpret_cast(&idvehicle_)) + sizeof(num_examples_)); + model_.ClearToEmpty(); + dataset_.ClearToEmpty(); + scenario_.ClearToEmpty(); + msg_.ClearToEmpty(); + ::memset(&identity_, 0, static_cast( + reinterpret_cast(&numexamples_) - + reinterpret_cast(&identity_)) + sizeof(numexamples_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* ModelRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* ModelReply::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { ::PROTOBUF_NAMESPACE_ID::uint32 tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // int32 idVehicle = 1; + // int32 idEntity = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { - idvehicle_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + identity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // repeated bytes tensors = 2; + // string model = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr -= 1; - do { - ptr += 1; - auto str = _internal_add_tensors(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr)); + auto str = _internal_mutable_model(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.ModelReply.model")); + CHK_(ptr); } else goto handle_unusual; continue; - // int32 number_of_vehicles = 3; + // string dataset = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { - number_of_vehicles_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_dataset(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.ModelReply.dataset")); CHK_(ptr); } else goto handle_unusual; continue; - // int32 num_examples = 4; + // string scenario = 4; case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) { - num_examples_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + auto str = _internal_mutable_scenario(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.ModelReply.scenario")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 seed = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) { + seed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool nonIID = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) { + noniid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 idModel = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) { + idmodel_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 numExamples = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) { + numexamples_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // double entropy = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 73)) { + entropy_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(double); + } else goto handle_unusual; + continue; + // double loss = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 81)) { + loss_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(double); + } else goto handle_unusual; + continue; + // double accuracy = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 89)) { + accuracy_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(double); + } else goto handle_unusual; + continue; + // string msg = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) { + auto str = _internal_mutable_msg(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flexe.ModelReply.msg")); CHK_(ptr); } else goto handle_unusual; continue; @@ -1523,79 +2586,190 @@ const char* ModelRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_I #undef CHK_ } -::PROTOBUF_NAMESPACE_ID::uint8* ModelRequest::_InternalSerialize( +::PROTOBUF_NAMESPACE_ID::uint8* ModelReply::_InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:flexe.ModelRequest) + // @@protoc_insertion_point(serialize_to_array_start:flexe.ModelReply) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - // int32 idVehicle = 1; - if (this->idvehicle() != 0) { + // int32 idEntity = 1; + if (this->identity() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_idvehicle(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_identity(), target); } - // repeated bytes tensors = 2; - for (int i = 0, n = this->_internal_tensors_size(); i < n; i++) { - const auto& s = this->_internal_tensors(i); - target = stream->WriteBytes(2, s, target); + // string model = 2; + if (!this->model().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_model().data(), static_cast(this->_internal_model().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.ModelReply.model"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_model(), target); + } + + // string dataset = 3; + if (!this->dataset().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_dataset().data(), static_cast(this->_internal_dataset().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.ModelReply.dataset"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_dataset(), target); + } + + // string scenario = 4; + if (!this->scenario().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_scenario().data(), static_cast(this->_internal_scenario().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.ModelReply.scenario"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_scenario(), target); + } + + // int32 seed = 5; + if (this->seed() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_seed(), target); } - // int32 number_of_vehicles = 3; - if (this->number_of_vehicles() != 0) { + // bool nonIID = 6; + if (this->noniid() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_number_of_vehicles(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_noniid(), target); } - // int32 num_examples = 4; - if (this->num_examples() != 0) { + // int32 idModel = 7; + if (this->idmodel() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_num_examples(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_idmodel(), target); + } + + // int32 numExamples = 8; + if (this->numexamples() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_numexamples(), target); + } + + // double entropy = 9; + if (!(this->entropy() <= 0 && this->entropy() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(9, this->_internal_entropy(), target); + } + + // double loss = 10; + if (!(this->loss() <= 0 && this->loss() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(10, this->_internal_loss(), target); + } + + // double accuracy = 11; + if (!(this->accuracy() <= 0 && this->accuracy() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(11, this->_internal_accuracy(), target); + } + + // string msg = 12; + if (!this->msg().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_msg().data(), static_cast(this->_internal_msg().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flexe.ModelReply.msg"); + target = stream->WriteStringMaybeAliased( + 12, this->_internal_msg(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:flexe.ModelRequest) + // @@protoc_insertion_point(serialize_to_array_end:flexe.ModelReply) return target; } -size_t ModelRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:flexe.ModelRequest) +size_t ModelReply::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flexe.ModelReply) size_t total_size = 0; ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated bytes tensors = 2; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(tensors_.size()); - for (int i = 0, n = tensors_.size(); i < n; i++) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( - tensors_.Get(i)); + // string model = 2; + if (!this->model().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_model()); + } + + // string dataset = 3; + if (!this->dataset().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_dataset()); + } + + // string scenario = 4; + if (!this->scenario().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_scenario()); + } + + // string msg = 12; + if (!this->msg().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_msg()); } - // int32 idVehicle = 1; - if (this->idvehicle() != 0) { + // int32 idEntity = 1; + if (this->identity() != 0) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - this->_internal_idvehicle()); + this->_internal_identity()); } - // int32 number_of_vehicles = 3; - if (this->number_of_vehicles() != 0) { + // int32 seed = 5; + if (this->seed() != 0) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - this->_internal_number_of_vehicles()); + this->_internal_seed()); + } + + // bool nonIID = 6; + if (this->noniid() != 0) { + total_size += 1 + 1; + } + + // int32 idModel = 7; + if (this->idmodel() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_idmodel()); + } + + // double entropy = 9; + if (!(this->entropy() <= 0 && this->entropy() >= 0)) { + total_size += 1 + 8; + } + + // double loss = 10; + if (!(this->loss() <= 0 && this->loss() >= 0)) { + total_size += 1 + 8; + } + + // double accuracy = 11; + if (!(this->accuracy() <= 0 && this->accuracy() >= 0)) { + total_size += 1 + 8; } - // int32 num_examples = 4; - if (this->num_examples() != 0) { + // int32 numExamples = 8; + if (this->numexamples() != 0) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - this->_internal_num_examples()); + this->_internal_numexamples()); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -1607,97 +2781,139 @@ size_t ModelRequest::ByteSizeLong() const { return total_size; } -void ModelRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:flexe.ModelRequest) +void ModelReply::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flexe.ModelReply) GOOGLE_DCHECK_NE(&from, this); - const ModelRequest* source = - ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + const ModelReply* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( &from); if (source == nullptr) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:flexe.ModelRequest) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flexe.ModelReply) ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:flexe.ModelRequest) + // @@protoc_insertion_point(generalized_merge_from_cast_success:flexe.ModelReply) MergeFrom(*source); } } -void ModelRequest::MergeFrom(const ModelRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flexe.ModelRequest) +void ModelReply::MergeFrom(const ModelReply& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flexe.ModelReply) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - tensors_.MergeFrom(from.tensors_); - if (from.idvehicle() != 0) { - _internal_set_idvehicle(from._internal_idvehicle()); + if (!from.model().empty()) { + _internal_set_model(from._internal_model()); + } + if (!from.dataset().empty()) { + _internal_set_dataset(from._internal_dataset()); + } + if (!from.scenario().empty()) { + _internal_set_scenario(from._internal_scenario()); + } + if (!from.msg().empty()) { + _internal_set_msg(from._internal_msg()); + } + if (from.identity() != 0) { + _internal_set_identity(from._internal_identity()); } - if (from.number_of_vehicles() != 0) { - _internal_set_number_of_vehicles(from._internal_number_of_vehicles()); + if (from.seed() != 0) { + _internal_set_seed(from._internal_seed()); + } + if (from.noniid() != 0) { + _internal_set_noniid(from._internal_noniid()); + } + if (from.idmodel() != 0) { + _internal_set_idmodel(from._internal_idmodel()); + } + if (!(from.entropy() <= 0 && from.entropy() >= 0)) { + _internal_set_entropy(from._internal_entropy()); + } + if (!(from.loss() <= 0 && from.loss() >= 0)) { + _internal_set_loss(from._internal_loss()); + } + if (!(from.accuracy() <= 0 && from.accuracy() >= 0)) { + _internal_set_accuracy(from._internal_accuracy()); } - if (from.num_examples() != 0) { - _internal_set_num_examples(from._internal_num_examples()); + if (from.numexamples() != 0) { + _internal_set_numexamples(from._internal_numexamples()); } } -void ModelRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:flexe.ModelRequest) +void ModelReply::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flexe.ModelReply) if (&from == this) return; Clear(); MergeFrom(from); } -void ModelRequest::CopyFrom(const ModelRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flexe.ModelRequest) +void ModelReply::CopyFrom(const ModelReply& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flexe.ModelReply) if (&from == this) return; Clear(); MergeFrom(from); } -bool ModelRequest::IsInitialized() const { +bool ModelReply::IsInitialized() const { return true; } -void ModelRequest::InternalSwap(ModelRequest* other) { +void ModelReply::InternalSwap(ModelReply* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - tensors_.InternalSwap(&other->tensors_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &model_, GetArenaForAllocation(), + &other->model_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &dataset_, GetArenaForAllocation(), + &other->dataset_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &scenario_, GetArenaForAllocation(), + &other->scenario_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &msg_, GetArenaForAllocation(), + &other->msg_, other->GetArenaForAllocation() + ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(ModelRequest, num_examples_) - + sizeof(ModelRequest::num_examples_) - - PROTOBUF_FIELD_OFFSET(ModelRequest, idvehicle_)>( - reinterpret_cast(&idvehicle_), - reinterpret_cast(&other->idvehicle_)); + PROTOBUF_FIELD_OFFSET(ModelReply, numexamples_) + + sizeof(ModelReply::numexamples_) + - PROTOBUF_FIELD_OFFSET(ModelReply, identity_)>( + reinterpret_cast(&identity_), + reinterpret_cast(&other->identity_)); } -::PROTOBUF_NAMESPACE_ID::Metadata ModelRequest::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata ModelReply::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flexe_2eproto_getter, &descriptor_table_flexe_2eproto_once, - file_level_metadata_flexe_2eproto[5]); + file_level_metadata_flexe_2eproto[4]); } // @@protoc_insertion_point(namespace_scope) } // namespace flexe PROTOBUF_NAMESPACE_OPEN -template<> PROTOBUF_NOINLINE ::flexe::GenericRequest* Arena::CreateMaybeMessage< ::flexe::GenericRequest >(Arena* arena) { - return Arena::CreateMessageInternal< ::flexe::GenericRequest >(arena); -} -template<> PROTOBUF_NOINLINE ::flexe::GenericResponse* Arena::CreateMaybeMessage< ::flexe::GenericResponse >(Arena* arena) { - return Arena::CreateMessageInternal< ::flexe::GenericResponse >(arena); -} template<> PROTOBUF_NOINLINE ::flexe::TTRequest* Arena::CreateMaybeMessage< ::flexe::TTRequest >(Arena* arena) { return Arena::CreateMessageInternal< ::flexe::TTRequest >(arena); } -template<> PROTOBUF_NOINLINE ::flexe::EvaluateReply* Arena::CreateMaybeMessage< ::flexe::EvaluateReply >(Arena* arena) { - return Arena::CreateMessageInternal< ::flexe::EvaluateReply >(arena); +template<> PROTOBUF_NOINLINE ::flexe::AggregationRequest* Arena::CreateMaybeMessage< ::flexe::AggregationRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::flexe::AggregationRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flexe::GenericRequest* Arena::CreateMaybeMessage< ::flexe::GenericRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::flexe::GenericRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flexe::GenericReply* Arena::CreateMaybeMessage< ::flexe::GenericReply >(Arena* arena) { + return Arena::CreateMessageInternal< ::flexe::GenericReply >(arena); } template<> PROTOBUF_NOINLINE ::flexe::ModelReply* Arena::CreateMaybeMessage< ::flexe::ModelReply >(Arena* arena) { return Arena::CreateMessageInternal< ::flexe::ModelReply >(arena); } -template<> PROTOBUF_NOINLINE ::flexe::ModelRequest* Arena::CreateMaybeMessage< ::flexe::ModelRequest >(Arena* arena) { - return Arena::CreateMessageInternal< ::flexe::ModelRequest >(arena); -} PROTOBUF_NAMESPACE_CLOSE // @@protoc_insertion_point(global_scope) diff --git a/src/flexe/proto/flexe.pb.h b/src/flexe/proto/flexe.pb.h index d06d0cc..94f28b6 100644 --- a/src/flexe/proto/flexe.pb.h +++ b/src/flexe/proto/flexe.pb.h @@ -46,7 +46,7 @@ struct TableStruct_flexe_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[6] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[5] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -54,55 +54,51 @@ struct TableStruct_flexe_2eproto { }; extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_flexe_2eproto; namespace flexe { -class EvaluateReply; -struct EvaluateReplyDefaultTypeInternal; -extern EvaluateReplyDefaultTypeInternal _EvaluateReply_default_instance_; +class AggregationRequest; +struct AggregationRequestDefaultTypeInternal; +extern AggregationRequestDefaultTypeInternal _AggregationRequest_default_instance_; +class GenericReply; +struct GenericReplyDefaultTypeInternal; +extern GenericReplyDefaultTypeInternal _GenericReply_default_instance_; class GenericRequest; struct GenericRequestDefaultTypeInternal; extern GenericRequestDefaultTypeInternal _GenericRequest_default_instance_; -class GenericResponse; -struct GenericResponseDefaultTypeInternal; -extern GenericResponseDefaultTypeInternal _GenericResponse_default_instance_; class ModelReply; struct ModelReplyDefaultTypeInternal; extern ModelReplyDefaultTypeInternal _ModelReply_default_instance_; -class ModelRequest; -struct ModelRequestDefaultTypeInternal; -extern ModelRequestDefaultTypeInternal _ModelRequest_default_instance_; class TTRequest; struct TTRequestDefaultTypeInternal; extern TTRequestDefaultTypeInternal _TTRequest_default_instance_; } // namespace flexe PROTOBUF_NAMESPACE_OPEN -template<> ::flexe::EvaluateReply* Arena::CreateMaybeMessage<::flexe::EvaluateReply>(Arena*); +template<> ::flexe::AggregationRequest* Arena::CreateMaybeMessage<::flexe::AggregationRequest>(Arena*); +template<> ::flexe::GenericReply* Arena::CreateMaybeMessage<::flexe::GenericReply>(Arena*); template<> ::flexe::GenericRequest* Arena::CreateMaybeMessage<::flexe::GenericRequest>(Arena*); -template<> ::flexe::GenericResponse* Arena::CreateMaybeMessage<::flexe::GenericResponse>(Arena*); template<> ::flexe::ModelReply* Arena::CreateMaybeMessage<::flexe::ModelReply>(Arena*); -template<> ::flexe::ModelRequest* Arena::CreateMaybeMessage<::flexe::ModelRequest>(Arena*); template<> ::flexe::TTRequest* Arena::CreateMaybeMessage<::flexe::TTRequest>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace flexe { // =================================================================== -class GenericRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flexe.GenericRequest) */ { +class TTRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flexe.TTRequest) */ { public: - inline GenericRequest() : GenericRequest(nullptr) {} - ~GenericRequest() override; - explicit constexpr GenericRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TTRequest() : TTRequest(nullptr) {} + ~TTRequest() override; + explicit constexpr TTRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - GenericRequest(const GenericRequest& from); - GenericRequest(GenericRequest&& from) noexcept - : GenericRequest() { + TTRequest(const TTRequest& from); + TTRequest(TTRequest&& from) noexcept + : TTRequest() { *this = ::std::move(from); } - inline GenericRequest& operator=(const GenericRequest& from) { + inline TTRequest& operator=(const TTRequest& from) { CopyFrom(from); return *this; } - inline GenericRequest& operator=(GenericRequest&& from) noexcept { + inline TTRequest& operator=(TTRequest&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena()) { InternalSwap(&from); @@ -121,20 +117,20 @@ class GenericRequest final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const GenericRequest& default_instance() { + static const TTRequest& default_instance() { return *internal_default_instance(); } - static inline const GenericRequest* internal_default_instance() { - return reinterpret_cast( - &_GenericRequest_default_instance_); + static inline const TTRequest* internal_default_instance() { + return reinterpret_cast( + &_TTRequest_default_instance_); } static constexpr int kIndexInFileMessages = 0; - friend void swap(GenericRequest& a, GenericRequest& b) { + friend void swap(TTRequest& a, TTRequest& b) { a.Swap(&b); } - inline void Swap(GenericRequest* other) { + inline void Swap(TTRequest* other) { if (other == this) return; if (GetOwningArena() == other->GetOwningArena()) { InternalSwap(other); @@ -142,7 +138,7 @@ class GenericRequest final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(GenericRequest* other) { + void UnsafeArenaSwap(TTRequest* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -150,17 +146,17 @@ class GenericRequest final : // implements Message ---------------------------------------------- - inline GenericRequest* New() const final { - return new GenericRequest(); + inline TTRequest* New() const final { + return new TTRequest(); } - GenericRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); + TTRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); } void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const GenericRequest& from); - void MergeFrom(const GenericRequest& from); + void CopyFrom(const TTRequest& from); + void MergeFrom(const TTRequest& from); PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; @@ -174,13 +170,13 @@ class GenericRequest final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(GenericRequest* other); + void InternalSwap(TTRequest* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "flexe.GenericRequest"; + return "flexe.TTRequest"; } protected: - explicit GenericRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena); + explicit TTRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena); private: static void ArenaDtor(void* object); inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); @@ -193,9 +189,78 @@ class GenericRequest final : // accessors ------------------------------------------------------- enum : int { - kMsgFieldNumber = 1, + kModelFieldNumber = 2, + kDatasetFieldNumber = 3, + kScenarioFieldNumber = 4, + kModelsFieldNumber = 13, + kMsgFieldNumber = 14, + kIdEntityFieldNumber = 1, + kSeedFieldNumber = 5, + kIdModelFieldNumber = 7, + kNonIIDFieldNumber = 6, + kTrainFlagFieldNumber = 8, + kEpochsFieldNumber = 9, + kBatchFieldNumber = 10, + kPercentDatasetFieldNumber = 12, + kNumClientsFieldNumber = 11, }; - // string msg = 1; + // string model = 2; + void clear_model(); + const std::string& model() const; + template + void set_model(ArgT0&& arg0, ArgT... args); + std::string* mutable_model(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_model(); + void set_allocated_model(std::string* model); + private: + const std::string& _internal_model() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_model(const std::string& value); + std::string* _internal_mutable_model(); + public: + + // string dataset = 3; + void clear_dataset(); + const std::string& dataset() const; + template + void set_dataset(ArgT0&& arg0, ArgT... args); + std::string* mutable_dataset(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_dataset(); + void set_allocated_dataset(std::string* dataset); + private: + const std::string& _internal_dataset() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dataset(const std::string& value); + std::string* _internal_mutable_dataset(); + public: + + // string scenario = 4; + void clear_scenario(); + const std::string& scenario() const; + template + void set_scenario(ArgT0&& arg0, ArgT... args); + std::string* mutable_scenario(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_scenario(); + void set_allocated_scenario(std::string* scenario); + private: + const std::string& _internal_scenario() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_scenario(const std::string& value); + std::string* _internal_mutable_scenario(); + public: + + // string models = 13; + void clear_models(); + const std::string& models() const; + template + void set_models(ArgT0&& arg0, ArgT... args); + std::string* mutable_models(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_models(); + void set_allocated_models(std::string* models); + private: + const std::string& _internal_models() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_models(const std::string& value); + std::string* _internal_mutable_models(); + public: + + // string msg = 14; void clear_msg(); const std::string& msg() const; template @@ -209,37 +274,131 @@ class GenericRequest final : std::string* _internal_mutable_msg(); public: - // @@protoc_insertion_point(class_scope:flexe.GenericRequest) + // int32 idEntity = 1; + void clear_identity(); + ::PROTOBUF_NAMESPACE_ID::int32 identity() const; + void set_identity(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_identity() const; + void _internal_set_identity(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // int32 seed = 5; + void clear_seed(); + ::PROTOBUF_NAMESPACE_ID::int32 seed() const; + void set_seed(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_seed() const; + void _internal_set_seed(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // int32 idModel = 7; + void clear_idmodel(); + ::PROTOBUF_NAMESPACE_ID::int32 idmodel() const; + void set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_idmodel() const; + void _internal_set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // bool nonIID = 6; + void clear_noniid(); + bool noniid() const; + void set_noniid(bool value); + private: + bool _internal_noniid() const; + void _internal_set_noniid(bool value); + public: + + // bool trainFlag = 8; + void clear_trainflag(); + bool trainflag() const; + void set_trainflag(bool value); + private: + bool _internal_trainflag() const; + void _internal_set_trainflag(bool value); + public: + + // int32 epochs = 9; + void clear_epochs(); + ::PROTOBUF_NAMESPACE_ID::int32 epochs() const; + void set_epochs(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_epochs() const; + void _internal_set_epochs(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // int32 batch = 10; + void clear_batch(); + ::PROTOBUF_NAMESPACE_ID::int32 batch() const; + void set_batch(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_batch() const; + void _internal_set_batch(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // double percentDataset = 12; + void clear_percentdataset(); + double percentdataset() const; + void set_percentdataset(double value); + private: + double _internal_percentdataset() const; + void _internal_set_percentdataset(double value); + public: + + // int32 numClients = 11; + void clear_numclients(); + ::PROTOBUF_NAMESPACE_ID::int32 numclients() const; + void set_numclients(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_numclients() const; + void _internal_set_numclients(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // @@protoc_insertion_point(class_scope:flexe.TTRequest) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr model_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dataset_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr scenario_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr models_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr msg_; + ::PROTOBUF_NAMESPACE_ID::int32 identity_; + ::PROTOBUF_NAMESPACE_ID::int32 seed_; + ::PROTOBUF_NAMESPACE_ID::int32 idmodel_; + bool noniid_; + bool trainflag_; + ::PROTOBUF_NAMESPACE_ID::int32 epochs_; + ::PROTOBUF_NAMESPACE_ID::int32 batch_; + double percentdataset_; + ::PROTOBUF_NAMESPACE_ID::int32 numclients_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_flexe_2eproto; }; // ------------------------------------------------------------------- -class GenericResponse final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flexe.GenericResponse) */ { +class AggregationRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flexe.AggregationRequest) */ { public: - inline GenericResponse() : GenericResponse(nullptr) {} - ~GenericResponse() override; - explicit constexpr GenericResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AggregationRequest() : AggregationRequest(nullptr) {} + ~AggregationRequest() override; + explicit constexpr AggregationRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - GenericResponse(const GenericResponse& from); - GenericResponse(GenericResponse&& from) noexcept - : GenericResponse() { + AggregationRequest(const AggregationRequest& from); + AggregationRequest(AggregationRequest&& from) noexcept + : AggregationRequest() { *this = ::std::move(from); } - inline GenericResponse& operator=(const GenericResponse& from) { + inline AggregationRequest& operator=(const AggregationRequest& from) { CopyFrom(from); return *this; } - inline GenericResponse& operator=(GenericResponse&& from) noexcept { + inline AggregationRequest& operator=(AggregationRequest&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena()) { InternalSwap(&from); @@ -258,20 +417,20 @@ class GenericResponse final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const GenericResponse& default_instance() { + static const AggregationRequest& default_instance() { return *internal_default_instance(); } - static inline const GenericResponse* internal_default_instance() { - return reinterpret_cast( - &_GenericResponse_default_instance_); + static inline const AggregationRequest* internal_default_instance() { + return reinterpret_cast( + &_AggregationRequest_default_instance_); } static constexpr int kIndexInFileMessages = 1; - friend void swap(GenericResponse& a, GenericResponse& b) { + friend void swap(AggregationRequest& a, AggregationRequest& b) { a.Swap(&b); } - inline void Swap(GenericResponse* other) { + inline void Swap(AggregationRequest* other) { if (other == this) return; if (GetOwningArena() == other->GetOwningArena()) { InternalSwap(other); @@ -279,7 +438,7 @@ class GenericResponse final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(GenericResponse* other) { + void UnsafeArenaSwap(AggregationRequest* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -287,17 +446,17 @@ class GenericResponse final : // implements Message ---------------------------------------------- - inline GenericResponse* New() const final { - return new GenericResponse(); + inline AggregationRequest* New() const final { + return new AggregationRequest(); } - GenericResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); + AggregationRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); } void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const GenericResponse& from); - void MergeFrom(const GenericResponse& from); + void CopyFrom(const AggregationRequest& from); + void MergeFrom(const AggregationRequest& from); PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; @@ -311,13 +470,13 @@ class GenericResponse final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(GenericResponse* other); + void InternalSwap(AggregationRequest* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "flexe.GenericResponse"; + return "flexe.AggregationRequest"; } protected: - explicit GenericResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + explicit AggregationRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena); private: static void ArenaDtor(void* object); inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); @@ -330,48 +489,204 @@ class GenericResponse final : // accessors ------------------------------------------------------- enum : int { - kReplyFieldNumber = 1, + kModelFieldNumber = 2, + kDatasetFieldNumber = 3, + kScenarioFieldNumber = 4, + kNumExamplesFieldNumber = 9, + kModelsFieldNumber = 10, + kStrategyFieldNumber = 11, + kMsgFieldNumber = 12, + kIdEntityFieldNumber = 1, + kSeedFieldNumber = 5, + kNonIIDFieldNumber = 6, + kIdModelFieldNumber = 7, + kNumClientsFieldNumber = 8, }; - // int32 reply = 1; - void clear_reply(); - ::PROTOBUF_NAMESPACE_ID::int32 reply() const; - void set_reply(::PROTOBUF_NAMESPACE_ID::int32 value); + // string model = 2; + void clear_model(); + const std::string& model() const; + template + void set_model(ArgT0&& arg0, ArgT... args); + std::string* mutable_model(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_model(); + void set_allocated_model(std::string* model); private: - ::PROTOBUF_NAMESPACE_ID::int32 _internal_reply() const; - void _internal_set_reply(::PROTOBUF_NAMESPACE_ID::int32 value); + const std::string& _internal_model() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_model(const std::string& value); + std::string* _internal_mutable_model(); + public: + + // string dataset = 3; + void clear_dataset(); + const std::string& dataset() const; + template + void set_dataset(ArgT0&& arg0, ArgT... args); + std::string* mutable_dataset(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_dataset(); + void set_allocated_dataset(std::string* dataset); + private: + const std::string& _internal_dataset() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dataset(const std::string& value); + std::string* _internal_mutable_dataset(); + public: + + // string scenario = 4; + void clear_scenario(); + const std::string& scenario() const; + template + void set_scenario(ArgT0&& arg0, ArgT... args); + std::string* mutable_scenario(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_scenario(); + void set_allocated_scenario(std::string* scenario); + private: + const std::string& _internal_scenario() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_scenario(const std::string& value); + std::string* _internal_mutable_scenario(); + public: + + // string numExamples = 9; + void clear_numexamples(); + const std::string& numexamples() const; + template + void set_numexamples(ArgT0&& arg0, ArgT... args); + std::string* mutable_numexamples(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_numexamples(); + void set_allocated_numexamples(std::string* numexamples); + private: + const std::string& _internal_numexamples() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_numexamples(const std::string& value); + std::string* _internal_mutable_numexamples(); + public: + + // string models = 10; + void clear_models(); + const std::string& models() const; + template + void set_models(ArgT0&& arg0, ArgT... args); + std::string* mutable_models(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_models(); + void set_allocated_models(std::string* models); + private: + const std::string& _internal_models() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_models(const std::string& value); + std::string* _internal_mutable_models(); + public: + + // string strategy = 11; + void clear_strategy(); + const std::string& strategy() const; + template + void set_strategy(ArgT0&& arg0, ArgT... args); + std::string* mutable_strategy(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_strategy(); + void set_allocated_strategy(std::string* strategy); + private: + const std::string& _internal_strategy() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_strategy(const std::string& value); + std::string* _internal_mutable_strategy(); + public: + + // string msg = 12; + void clear_msg(); + const std::string& msg() const; + template + void set_msg(ArgT0&& arg0, ArgT... args); + std::string* mutable_msg(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_msg(); + void set_allocated_msg(std::string* msg); + private: + const std::string& _internal_msg() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_msg(const std::string& value); + std::string* _internal_mutable_msg(); + public: + + // int32 idEntity = 1; + void clear_identity(); + ::PROTOBUF_NAMESPACE_ID::int32 identity() const; + void set_identity(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_identity() const; + void _internal_set_identity(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // int32 seed = 5; + void clear_seed(); + ::PROTOBUF_NAMESPACE_ID::int32 seed() const; + void set_seed(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_seed() const; + void _internal_set_seed(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // bool nonIID = 6; + void clear_noniid(); + bool noniid() const; + void set_noniid(bool value); + private: + bool _internal_noniid() const; + void _internal_set_noniid(bool value); + public: + + // int32 idModel = 7; + void clear_idmodel(); + ::PROTOBUF_NAMESPACE_ID::int32 idmodel() const; + void set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_idmodel() const; + void _internal_set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value); public: - // @@protoc_insertion_point(class_scope:flexe.GenericResponse) + // int32 numClients = 8; + void clear_numclients(); + ::PROTOBUF_NAMESPACE_ID::int32 numclients() const; + void set_numclients(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_numclients() const; + void _internal_set_numclients(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // @@protoc_insertion_point(class_scope:flexe.AggregationRequest) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::int32 reply_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr model_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dataset_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr scenario_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr numexamples_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr models_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr strategy_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr msg_; + ::PROTOBUF_NAMESPACE_ID::int32 identity_; + ::PROTOBUF_NAMESPACE_ID::int32 seed_; + bool noniid_; + ::PROTOBUF_NAMESPACE_ID::int32 idmodel_; + ::PROTOBUF_NAMESPACE_ID::int32 numclients_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_flexe_2eproto; }; // ------------------------------------------------------------------- -class TTRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flexe.TTRequest) */ { +class GenericRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flexe.GenericRequest) */ { public: - inline TTRequest() : TTRequest(nullptr) {} - ~TTRequest() override; - explicit constexpr TTRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GenericRequest() : GenericRequest(nullptr) {} + ~GenericRequest() override; + explicit constexpr GenericRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - TTRequest(const TTRequest& from); - TTRequest(TTRequest&& from) noexcept - : TTRequest() { + GenericRequest(const GenericRequest& from); + GenericRequest(GenericRequest&& from) noexcept + : GenericRequest() { *this = ::std::move(from); } - inline TTRequest& operator=(const TTRequest& from) { + inline GenericRequest& operator=(const GenericRequest& from) { CopyFrom(from); return *this; } - inline TTRequest& operator=(TTRequest&& from) noexcept { + inline GenericRequest& operator=(GenericRequest&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena()) { InternalSwap(&from); @@ -390,20 +705,20 @@ class TTRequest final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TTRequest& default_instance() { + static const GenericRequest& default_instance() { return *internal_default_instance(); } - static inline const TTRequest* internal_default_instance() { - return reinterpret_cast( - &_TTRequest_default_instance_); + static inline const GenericRequest* internal_default_instance() { + return reinterpret_cast( + &_GenericRequest_default_instance_); } static constexpr int kIndexInFileMessages = 2; - friend void swap(TTRequest& a, TTRequest& b) { + friend void swap(GenericRequest& a, GenericRequest& b) { a.Swap(&b); } - inline void Swap(TTRequest* other) { + inline void Swap(GenericRequest* other) { if (other == this) return; if (GetOwningArena() == other->GetOwningArena()) { InternalSwap(other); @@ -411,7 +726,7 @@ class TTRequest final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TTRequest* other) { + void UnsafeArenaSwap(GenericRequest* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -419,17 +734,17 @@ class TTRequest final : // implements Message ---------------------------------------------- - inline TTRequest* New() const final { - return new TTRequest(); + inline GenericRequest* New() const final { + return new GenericRequest(); } - TTRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); + GenericRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); } void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const TTRequest& from); - void MergeFrom(const TTRequest& from); + void CopyFrom(const GenericRequest& from); + void MergeFrom(const GenericRequest& from); PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; @@ -443,13 +758,13 @@ class TTRequest final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(TTRequest* other); + void InternalSwap(GenericRequest* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "flexe.TTRequest"; + return "flexe.GenericRequest"; } protected: - explicit TTRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena); + explicit GenericRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena); private: static void ArenaDtor(void* object); inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); @@ -462,97 +777,145 @@ class TTRequest final : // accessors ------------------------------------------------------- enum : int { - kModelNameFieldNumber = 3, - kIdVehicleFieldNumber = 1, - kTrainFlagFieldNumber = 2, - kEpochsFieldNumber = 4, - kBatchSizeFieldNumber = 5, + kModelFieldNumber = 2, + kDatasetFieldNumber = 3, + kScenarioFieldNumber = 4, + kMsgFieldNumber = 8, + kIdEntityFieldNumber = 1, + kSeedFieldNumber = 5, + kNonIIDFieldNumber = 6, + kIdModelFieldNumber = 7, }; - // string modelName = 3; - void clear_modelname(); - const std::string& modelname() const; + // string model = 2; + void clear_model(); + const std::string& model() const; template - void set_modelname(ArgT0&& arg0, ArgT... args); - std::string* mutable_modelname(); - PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_modelname(); - void set_allocated_modelname(std::string* modelname); - private: - const std::string& _internal_modelname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_modelname(const std::string& value); - std::string* _internal_mutable_modelname(); + void set_model(ArgT0&& arg0, ArgT... args); + std::string* mutable_model(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_model(); + void set_allocated_model(std::string* model); + private: + const std::string& _internal_model() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_model(const std::string& value); + std::string* _internal_mutable_model(); public: - // int32 idVehicle = 1; - void clear_idvehicle(); - ::PROTOBUF_NAMESPACE_ID::int32 idvehicle() const; - void set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value); + // string dataset = 3; + void clear_dataset(); + const std::string& dataset() const; + template + void set_dataset(ArgT0&& arg0, ArgT... args); + std::string* mutable_dataset(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_dataset(); + void set_allocated_dataset(std::string* dataset); private: - ::PROTOBUF_NAMESPACE_ID::int32 _internal_idvehicle() const; - void _internal_set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value); + const std::string& _internal_dataset() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dataset(const std::string& value); + std::string* _internal_mutable_dataset(); public: - // bool trainFlag = 2; - void clear_trainflag(); - bool trainflag() const; - void set_trainflag(bool value); + // string scenario = 4; + void clear_scenario(); + const std::string& scenario() const; + template + void set_scenario(ArgT0&& arg0, ArgT... args); + std::string* mutable_scenario(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_scenario(); + void set_allocated_scenario(std::string* scenario); private: - bool _internal_trainflag() const; - void _internal_set_trainflag(bool value); + const std::string& _internal_scenario() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_scenario(const std::string& value); + std::string* _internal_mutable_scenario(); public: - // int32 epochs = 4; - void clear_epochs(); - ::PROTOBUF_NAMESPACE_ID::int32 epochs() const; - void set_epochs(::PROTOBUF_NAMESPACE_ID::int32 value); + // string msg = 8; + void clear_msg(); + const std::string& msg() const; + template + void set_msg(ArgT0&& arg0, ArgT... args); + std::string* mutable_msg(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_msg(); + void set_allocated_msg(std::string* msg); private: - ::PROTOBUF_NAMESPACE_ID::int32 _internal_epochs() const; - void _internal_set_epochs(::PROTOBUF_NAMESPACE_ID::int32 value); + const std::string& _internal_msg() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_msg(const std::string& value); + std::string* _internal_mutable_msg(); public: - // int32 batch_size = 5; - void clear_batch_size(); - ::PROTOBUF_NAMESPACE_ID::int32 batch_size() const; - void set_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value); + // int32 idEntity = 1; + void clear_identity(); + ::PROTOBUF_NAMESPACE_ID::int32 identity() const; + void set_identity(::PROTOBUF_NAMESPACE_ID::int32 value); private: - ::PROTOBUF_NAMESPACE_ID::int32 _internal_batch_size() const; - void _internal_set_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value); + ::PROTOBUF_NAMESPACE_ID::int32 _internal_identity() const; + void _internal_set_identity(::PROTOBUF_NAMESPACE_ID::int32 value); public: - // @@protoc_insertion_point(class_scope:flexe.TTRequest) + // int32 seed = 5; + void clear_seed(); + ::PROTOBUF_NAMESPACE_ID::int32 seed() const; + void set_seed(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_seed() const; + void _internal_set_seed(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // bool nonIID = 6; + void clear_noniid(); + bool noniid() const; + void set_noniid(bool value); + private: + bool _internal_noniid() const; + void _internal_set_noniid(bool value); + public: + + // int32 idModel = 7; + void clear_idmodel(); + ::PROTOBUF_NAMESPACE_ID::int32 idmodel() const; + void set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_idmodel() const; + void _internal_set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // @@protoc_insertion_point(class_scope:flexe.GenericRequest) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr modelname_; - ::PROTOBUF_NAMESPACE_ID::int32 idvehicle_; - bool trainflag_; - ::PROTOBUF_NAMESPACE_ID::int32 epochs_; - ::PROTOBUF_NAMESPACE_ID::int32 batch_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr model_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dataset_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr scenario_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr msg_; + ::PROTOBUF_NAMESPACE_ID::int32 identity_; + ::PROTOBUF_NAMESPACE_ID::int32 seed_; + bool noniid_; + ::PROTOBUF_NAMESPACE_ID::int32 idmodel_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_flexe_2eproto; }; // ------------------------------------------------------------------- -class EvaluateReply final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flexe.EvaluateReply) */ { +class GenericReply final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flexe.GenericReply) */ { public: - inline EvaluateReply() : EvaluateReply(nullptr) {} - ~EvaluateReply() override; - explicit constexpr EvaluateReply(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GenericReply() : GenericReply(nullptr) {} + ~GenericReply() override; + explicit constexpr GenericReply(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - EvaluateReply(const EvaluateReply& from); - EvaluateReply(EvaluateReply&& from) noexcept - : EvaluateReply() { + GenericReply(const GenericReply& from); + GenericReply(GenericReply&& from) noexcept + : GenericReply() { *this = ::std::move(from); } - inline EvaluateReply& operator=(const EvaluateReply& from) { + inline GenericReply& operator=(const GenericReply& from) { CopyFrom(from); return *this; } - inline EvaluateReply& operator=(EvaluateReply&& from) noexcept { + inline GenericReply& operator=(GenericReply&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena()) { InternalSwap(&from); @@ -571,20 +934,20 @@ class EvaluateReply final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const EvaluateReply& default_instance() { + static const GenericReply& default_instance() { return *internal_default_instance(); } - static inline const EvaluateReply* internal_default_instance() { - return reinterpret_cast( - &_EvaluateReply_default_instance_); + static inline const GenericReply* internal_default_instance() { + return reinterpret_cast( + &_GenericReply_default_instance_); } static constexpr int kIndexInFileMessages = 3; - friend void swap(EvaluateReply& a, EvaluateReply& b) { + friend void swap(GenericReply& a, GenericReply& b) { a.Swap(&b); } - inline void Swap(EvaluateReply* other) { + inline void Swap(GenericReply* other) { if (other == this) return; if (GetOwningArena() == other->GetOwningArena()) { InternalSwap(other); @@ -592,7 +955,7 @@ class EvaluateReply final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(EvaluateReply* other) { + void UnsafeArenaSwap(GenericReply* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -600,17 +963,17 @@ class EvaluateReply final : // implements Message ---------------------------------------------- - inline EvaluateReply* New() const final { - return new EvaluateReply(); + inline GenericReply* New() const final { + return new GenericReply(); } - EvaluateReply* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); + GenericReply* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); } void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const EvaluateReply& from); - void MergeFrom(const EvaluateReply& from); + void CopyFrom(const GenericReply& from); + void MergeFrom(const GenericReply& from); PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; @@ -624,13 +987,13 @@ class EvaluateReply final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(EvaluateReply* other); + void InternalSwap(GenericReply* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "flexe.EvaluateReply"; + return "flexe.GenericReply"; } protected: - explicit EvaluateReply(::PROTOBUF_NAMESPACE_ID::Arena* arena); + explicit GenericReply(::PROTOBUF_NAMESPACE_ID::Arena* arena); private: static void ArenaDtor(void* object); inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); @@ -643,36 +1006,133 @@ class EvaluateReply final : // accessors ------------------------------------------------------- enum : int { - kLossFieldNumber = 1, - kAccuracyFieldNumber = 2, + kModelFieldNumber = 2, + kDatasetFieldNumber = 3, + kScenarioFieldNumber = 4, + kMsgFieldNumber = 9, + kIdEntityFieldNumber = 1, + kSeedFieldNumber = 5, + kNonIIDFieldNumber = 6, + kIdModelFieldNumber = 7, + kReplyFieldNumber = 8, }; - // double loss = 1; - void clear_loss(); - double loss() const; - void set_loss(double value); + // string model = 2; + void clear_model(); + const std::string& model() const; + template + void set_model(ArgT0&& arg0, ArgT... args); + std::string* mutable_model(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_model(); + void set_allocated_model(std::string* model); private: - double _internal_loss() const; - void _internal_set_loss(double value); + const std::string& _internal_model() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_model(const std::string& value); + std::string* _internal_mutable_model(); public: - // double accuracy = 2; - void clear_accuracy(); - double accuracy() const; - void set_accuracy(double value); + // string dataset = 3; + void clear_dataset(); + const std::string& dataset() const; + template + void set_dataset(ArgT0&& arg0, ArgT... args); + std::string* mutable_dataset(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_dataset(); + void set_allocated_dataset(std::string* dataset); private: - double _internal_accuracy() const; - void _internal_set_accuracy(double value); + const std::string& _internal_dataset() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dataset(const std::string& value); + std::string* _internal_mutable_dataset(); + public: + + // string scenario = 4; + void clear_scenario(); + const std::string& scenario() const; + template + void set_scenario(ArgT0&& arg0, ArgT... args); + std::string* mutable_scenario(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_scenario(); + void set_allocated_scenario(std::string* scenario); + private: + const std::string& _internal_scenario() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_scenario(const std::string& value); + std::string* _internal_mutable_scenario(); + public: + + // string msg = 9; + void clear_msg(); + const std::string& msg() const; + template + void set_msg(ArgT0&& arg0, ArgT... args); + std::string* mutable_msg(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_msg(); + void set_allocated_msg(std::string* msg); + private: + const std::string& _internal_msg() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_msg(const std::string& value); + std::string* _internal_mutable_msg(); + public: + + // int32 idEntity = 1; + void clear_identity(); + ::PROTOBUF_NAMESPACE_ID::int32 identity() const; + void set_identity(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_identity() const; + void _internal_set_identity(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // int32 seed = 5; + void clear_seed(); + ::PROTOBUF_NAMESPACE_ID::int32 seed() const; + void set_seed(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_seed() const; + void _internal_set_seed(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // bool nonIID = 6; + void clear_noniid(); + bool noniid() const; + void set_noniid(bool value); + private: + bool _internal_noniid() const; + void _internal_set_noniid(bool value); + public: + + // int32 idModel = 7; + void clear_idmodel(); + ::PROTOBUF_NAMESPACE_ID::int32 idmodel() const; + void set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_idmodel() const; + void _internal_set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // int32 reply = 8; + void clear_reply(); + ::PROTOBUF_NAMESPACE_ID::int32 reply() const; + void set_reply(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_reply() const; + void _internal_set_reply(::PROTOBUF_NAMESPACE_ID::int32 value); public: - // @@protoc_insertion_point(class_scope:flexe.EvaluateReply) + // @@protoc_insertion_point(class_scope:flexe.GenericReply) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - double loss_; - double accuracy_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr model_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dataset_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr scenario_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr msg_; + ::PROTOBUF_NAMESPACE_ID::int32 identity_; + ::PROTOBUF_NAMESPACE_ID::int32 seed_; + bool noniid_; + ::PROTOBUF_NAMESPACE_ID::int32 idmodel_; + ::PROTOBUF_NAMESPACE_ID::int32 reply_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_flexe_2eproto; }; @@ -786,242 +1246,166 @@ class ModelReply final : // accessors ------------------------------------------------------- enum : int { - kTensorsFieldNumber = 2, - kIdVehicleFieldNumber = 1, - kNumExamplesFieldNumber = 3, + kModelFieldNumber = 2, + kDatasetFieldNumber = 3, + kScenarioFieldNumber = 4, + kMsgFieldNumber = 12, + kIdEntityFieldNumber = 1, + kSeedFieldNumber = 5, + kNonIIDFieldNumber = 6, + kIdModelFieldNumber = 7, + kEntropyFieldNumber = 9, + kLossFieldNumber = 10, + kAccuracyFieldNumber = 11, + kNumExamplesFieldNumber = 8, }; - // repeated bytes tensors = 2; - int tensors_size() const; + // string model = 2; + void clear_model(); + const std::string& model() const; + template + void set_model(ArgT0&& arg0, ArgT... args); + std::string* mutable_model(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_model(); + void set_allocated_model(std::string* model); private: - int _internal_tensors_size() const; - public: - void clear_tensors(); - const std::string& tensors(int index) const; - std::string* mutable_tensors(int index); - void set_tensors(int index, const std::string& value); - void set_tensors(int index, std::string&& value); - void set_tensors(int index, const char* value); - void set_tensors(int index, const void* value, size_t size); - std::string* add_tensors(); - void add_tensors(const std::string& value); - void add_tensors(std::string&& value); - void add_tensors(const char* value); - void add_tensors(const void* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& tensors() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_tensors(); - private: - const std::string& _internal_tensors(int index) const; - std::string* _internal_add_tensors(); + const std::string& _internal_model() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_model(const std::string& value); + std::string* _internal_mutable_model(); public: - // int32 idVehicle = 1; - void clear_idvehicle(); - ::PROTOBUF_NAMESPACE_ID::int32 idvehicle() const; - void set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value); + // string dataset = 3; + void clear_dataset(); + const std::string& dataset() const; + template + void set_dataset(ArgT0&& arg0, ArgT... args); + std::string* mutable_dataset(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_dataset(); + void set_allocated_dataset(std::string* dataset); private: - ::PROTOBUF_NAMESPACE_ID::int32 _internal_idvehicle() const; - void _internal_set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value); + const std::string& _internal_dataset() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dataset(const std::string& value); + std::string* _internal_mutable_dataset(); public: - // int32 num_examples = 3; - void clear_num_examples(); - ::PROTOBUF_NAMESPACE_ID::int32 num_examples() const; - void set_num_examples(::PROTOBUF_NAMESPACE_ID::int32 value); + // string scenario = 4; + void clear_scenario(); + const std::string& scenario() const; + template + void set_scenario(ArgT0&& arg0, ArgT... args); + std::string* mutable_scenario(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_scenario(); + void set_allocated_scenario(std::string* scenario); private: - ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_examples() const; - void _internal_set_num_examples(::PROTOBUF_NAMESPACE_ID::int32 value); + const std::string& _internal_scenario() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_scenario(const std::string& value); + std::string* _internal_mutable_scenario(); public: - // @@protoc_insertion_point(class_scope:flexe.ModelReply) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField tensors_; - ::PROTOBUF_NAMESPACE_ID::int32 idvehicle_; - ::PROTOBUF_NAMESPACE_ID::int32 num_examples_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_flexe_2eproto; -}; -// ------------------------------------------------------------------- - -class ModelRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flexe.ModelRequest) */ { - public: - inline ModelRequest() : ModelRequest(nullptr) {} - ~ModelRequest() override; - explicit constexpr ModelRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ModelRequest(const ModelRequest& from); - ModelRequest(ModelRequest&& from) noexcept - : ModelRequest() { - *this = ::std::move(from); - } - - inline ModelRequest& operator=(const ModelRequest& from) { - CopyFrom(from); - return *this; - } - inline ModelRequest& operator=(ModelRequest&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const ModelRequest& default_instance() { - return *internal_default_instance(); - } - static inline const ModelRequest* internal_default_instance() { - return reinterpret_cast( - &_ModelRequest_default_instance_); - } - static constexpr int kIndexInFileMessages = - 5; - - friend void swap(ModelRequest& a, ModelRequest& b) { - a.Swap(&b); - } - inline void Swap(ModelRequest* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(ModelRequest* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline ModelRequest* New() const final { - return new ModelRequest(); - } - - ModelRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; - void CopyFrom(const ModelRequest& from); - void MergeFrom(const ModelRequest& from); - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ModelRequest* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "flexe.ModelRequest"; - } - protected: - explicit ModelRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena); + // string msg = 12; + void clear_msg(); + const std::string& msg() const; + template + void set_msg(ArgT0&& arg0, ArgT... args); + std::string* mutable_msg(); + PROTOBUF_FUTURE_MUST_USE_RESULT std::string* release_msg(); + void set_allocated_msg(std::string* msg); private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + const std::string& _internal_msg() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_msg(const std::string& value); + std::string* _internal_mutable_msg(); public: - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + // int32 idEntity = 1; + void clear_identity(); + ::PROTOBUF_NAMESPACE_ID::int32 identity() const; + void set_identity(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_identity() const; + void _internal_set_identity(::PROTOBUF_NAMESPACE_ID::int32 value); + public: - // nested types ---------------------------------------------------- + // int32 seed = 5; + void clear_seed(); + ::PROTOBUF_NAMESPACE_ID::int32 seed() const; + void set_seed(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_seed() const; + void _internal_set_seed(::PROTOBUF_NAMESPACE_ID::int32 value); + public: - // accessors ------------------------------------------------------- + // bool nonIID = 6; + void clear_noniid(); + bool noniid() const; + void set_noniid(bool value); + private: + bool _internal_noniid() const; + void _internal_set_noniid(bool value); + public: - enum : int { - kTensorsFieldNumber = 2, - kIdVehicleFieldNumber = 1, - kNumberOfVehiclesFieldNumber = 3, - kNumExamplesFieldNumber = 4, - }; - // repeated bytes tensors = 2; - int tensors_size() const; + // int32 idModel = 7; + void clear_idmodel(); + ::PROTOBUF_NAMESPACE_ID::int32 idmodel() const; + void set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value); private: - int _internal_tensors_size() const; + ::PROTOBUF_NAMESPACE_ID::int32 _internal_idmodel() const; + void _internal_set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value); public: - void clear_tensors(); - const std::string& tensors(int index) const; - std::string* mutable_tensors(int index); - void set_tensors(int index, const std::string& value); - void set_tensors(int index, std::string&& value); - void set_tensors(int index, const char* value); - void set_tensors(int index, const void* value, size_t size); - std::string* add_tensors(); - void add_tensors(const std::string& value); - void add_tensors(std::string&& value); - void add_tensors(const char* value); - void add_tensors(const void* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& tensors() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_tensors(); - private: - const std::string& _internal_tensors(int index) const; - std::string* _internal_add_tensors(); + + // double entropy = 9; + void clear_entropy(); + double entropy() const; + void set_entropy(double value); + private: + double _internal_entropy() const; + void _internal_set_entropy(double value); public: - // int32 idVehicle = 1; - void clear_idvehicle(); - ::PROTOBUF_NAMESPACE_ID::int32 idvehicle() const; - void set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value); + // double loss = 10; + void clear_loss(); + double loss() const; + void set_loss(double value); private: - ::PROTOBUF_NAMESPACE_ID::int32 _internal_idvehicle() const; - void _internal_set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value); + double _internal_loss() const; + void _internal_set_loss(double value); public: - // int32 number_of_vehicles = 3; - void clear_number_of_vehicles(); - ::PROTOBUF_NAMESPACE_ID::int32 number_of_vehicles() const; - void set_number_of_vehicles(::PROTOBUF_NAMESPACE_ID::int32 value); + // double accuracy = 11; + void clear_accuracy(); + double accuracy() const; + void set_accuracy(double value); private: - ::PROTOBUF_NAMESPACE_ID::int32 _internal_number_of_vehicles() const; - void _internal_set_number_of_vehicles(::PROTOBUF_NAMESPACE_ID::int32 value); + double _internal_accuracy() const; + void _internal_set_accuracy(double value); public: - // int32 num_examples = 4; - void clear_num_examples(); - ::PROTOBUF_NAMESPACE_ID::int32 num_examples() const; - void set_num_examples(::PROTOBUF_NAMESPACE_ID::int32 value); + // int32 numExamples = 8; + void clear_numexamples(); + ::PROTOBUF_NAMESPACE_ID::int32 numexamples() const; + void set_numexamples(::PROTOBUF_NAMESPACE_ID::int32 value); private: - ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_examples() const; - void _internal_set_num_examples(::PROTOBUF_NAMESPACE_ID::int32 value); + ::PROTOBUF_NAMESPACE_ID::int32 _internal_numexamples() const; + void _internal_set_numexamples(::PROTOBUF_NAMESPACE_ID::int32 value); public: - // @@protoc_insertion_point(class_scope:flexe.ModelRequest) + // @@protoc_insertion_point(class_scope:flexe.ModelReply) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField tensors_; - ::PROTOBUF_NAMESPACE_ID::int32 idvehicle_; - ::PROTOBUF_NAMESPACE_ID::int32 number_of_vehicles_; - ::PROTOBUF_NAMESPACE_ID::int32 num_examples_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr model_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dataset_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr scenario_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr msg_; + ::PROTOBUF_NAMESPACE_ID::int32 identity_; + ::PROTOBUF_NAMESPACE_ID::int32 seed_; + bool noniid_; + ::PROTOBUF_NAMESPACE_ID::int32 idmodel_; + double entropy_; + double loss_; + double accuracy_; + ::PROTOBUF_NAMESPACE_ID::int32 numexamples_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_flexe_2eproto; }; @@ -1034,174 +1418,251 @@ class ModelRequest final : #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstrict-aliasing" #endif // __GNUC__ -// GenericRequest +// TTRequest -// string msg = 1; -inline void GenericRequest::clear_msg() { - msg_.ClearToEmpty(); +// int32 idEntity = 1; +inline void TTRequest::clear_identity() { + identity_ = 0; } -inline const std::string& GenericRequest::msg() const { - // @@protoc_insertion_point(field_get:flexe.GenericRequest.msg) - return _internal_msg(); +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::_internal_identity() const { + return identity_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::identity() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.idEntity) + return _internal_identity(); +} +inline void TTRequest::_internal_set_identity(::PROTOBUF_NAMESPACE_ID::int32 value) { + + identity_ = value; +} +inline void TTRequest::set_identity(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_identity(value); + // @@protoc_insertion_point(field_set:flexe.TTRequest.idEntity) +} + +// string model = 2; +inline void TTRequest::clear_model() { + model_.ClearToEmpty(); +} +inline const std::string& TTRequest::model() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.model) + return _internal_model(); } template inline PROTOBUF_ALWAYS_INLINE -void GenericRequest::set_msg(ArgT0&& arg0, ArgT... args) { +void TTRequest::set_model(ArgT0&& arg0, ArgT... args) { - msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:flexe.GenericRequest.msg) + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.TTRequest.model) } -inline std::string* GenericRequest::mutable_msg() { - // @@protoc_insertion_point(field_mutable:flexe.GenericRequest.msg) - return _internal_mutable_msg(); +inline std::string* TTRequest::mutable_model() { + // @@protoc_insertion_point(field_mutable:flexe.TTRequest.model) + return _internal_mutable_model(); } -inline const std::string& GenericRequest::_internal_msg() const { - return msg_.Get(); +inline const std::string& TTRequest::_internal_model() const { + return model_.Get(); } -inline void GenericRequest::_internal_set_msg(const std::string& value) { +inline void TTRequest::_internal_set_model(const std::string& value) { - msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline std::string* GenericRequest::_internal_mutable_msg() { +inline std::string* TTRequest::_internal_mutable_model() { - return msg_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); + return model_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); } -inline std::string* GenericRequest::release_msg() { - // @@protoc_insertion_point(field_release:flexe.GenericRequest.msg) - return msg_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +inline std::string* TTRequest::release_model() { + // @@protoc_insertion_point(field_release:flexe.TTRequest.model) + return model_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); } -inline void GenericRequest::set_allocated_msg(std::string* msg) { - if (msg != nullptr) { +inline void TTRequest::set_allocated_model(std::string* model) { + if (model != nullptr) { } else { } - msg_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), msg, + model_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), model, GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:flexe.GenericRequest.msg) + // @@protoc_insertion_point(field_set_allocated:flexe.TTRequest.model) } -// ------------------------------------------------------------------- - -// GenericResponse - -// int32 reply = 1; -inline void GenericResponse::clear_reply() { - reply_ = 0; -} -inline ::PROTOBUF_NAMESPACE_ID::int32 GenericResponse::_internal_reply() const { - return reply_; -} -inline ::PROTOBUF_NAMESPACE_ID::int32 GenericResponse::reply() const { - // @@protoc_insertion_point(field_get:flexe.GenericResponse.reply) - return _internal_reply(); +// string dataset = 3; +inline void TTRequest::clear_dataset() { + dataset_.ClearToEmpty(); } -inline void GenericResponse::_internal_set_reply(::PROTOBUF_NAMESPACE_ID::int32 value) { - - reply_ = value; -} -inline void GenericResponse::set_reply(::PROTOBUF_NAMESPACE_ID::int32 value) { - _internal_set_reply(value); - // @@protoc_insertion_point(field_set:flexe.GenericResponse.reply) +inline const std::string& TTRequest::dataset() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.dataset) + return _internal_dataset(); } - -// ------------------------------------------------------------------- - -// TTRequest - -// int32 idVehicle = 1; -inline void TTRequest::clear_idvehicle() { - idvehicle_ = 0; +template +inline PROTOBUF_ALWAYS_INLINE +void TTRequest::set_dataset(ArgT0&& arg0, ArgT... args) { + + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.TTRequest.dataset) } -inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::_internal_idvehicle() const { - return idvehicle_; +inline std::string* TTRequest::mutable_dataset() { + // @@protoc_insertion_point(field_mutable:flexe.TTRequest.dataset) + return _internal_mutable_dataset(); } -inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::idvehicle() const { - // @@protoc_insertion_point(field_get:flexe.TTRequest.idVehicle) - return _internal_idvehicle(); +inline const std::string& TTRequest::_internal_dataset() const { + return dataset_.Get(); } -inline void TTRequest::_internal_set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value) { +inline void TTRequest::_internal_set_dataset(const std::string& value) { - idvehicle_ = value; -} -inline void TTRequest::set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value) { - _internal_set_idvehicle(value); - // @@protoc_insertion_point(field_set:flexe.TTRequest.idVehicle) -} - -// bool trainFlag = 2; -inline void TTRequest::clear_trainflag() { - trainflag_ = false; -} -inline bool TTRequest::_internal_trainflag() const { - return trainflag_; -} -inline bool TTRequest::trainflag() const { - // @@protoc_insertion_point(field_get:flexe.TTRequest.trainFlag) - return _internal_trainflag(); + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline void TTRequest::_internal_set_trainflag(bool value) { +inline std::string* TTRequest::_internal_mutable_dataset() { - trainflag_ = value; + return dataset_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); } -inline void TTRequest::set_trainflag(bool value) { - _internal_set_trainflag(value); - // @@protoc_insertion_point(field_set:flexe.TTRequest.trainFlag) +inline std::string* TTRequest::release_dataset() { + // @@protoc_insertion_point(field_release:flexe.TTRequest.dataset) + return dataset_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void TTRequest::set_allocated_dataset(std::string* dataset) { + if (dataset != nullptr) { + + } else { + + } + dataset_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), dataset, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.TTRequest.dataset) } -// string modelName = 3; -inline void TTRequest::clear_modelname() { - modelname_.ClearToEmpty(); +// string scenario = 4; +inline void TTRequest::clear_scenario() { + scenario_.ClearToEmpty(); } -inline const std::string& TTRequest::modelname() const { - // @@protoc_insertion_point(field_get:flexe.TTRequest.modelName) - return _internal_modelname(); +inline const std::string& TTRequest::scenario() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.scenario) + return _internal_scenario(); } template inline PROTOBUF_ALWAYS_INLINE -void TTRequest::set_modelname(ArgT0&& arg0, ArgT... args) { +void TTRequest::set_scenario(ArgT0&& arg0, ArgT... args) { - modelname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:flexe.TTRequest.modelName) + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.TTRequest.scenario) } -inline std::string* TTRequest::mutable_modelname() { - // @@protoc_insertion_point(field_mutable:flexe.TTRequest.modelName) - return _internal_mutable_modelname(); +inline std::string* TTRequest::mutable_scenario() { + // @@protoc_insertion_point(field_mutable:flexe.TTRequest.scenario) + return _internal_mutable_scenario(); } -inline const std::string& TTRequest::_internal_modelname() const { - return modelname_.Get(); +inline const std::string& TTRequest::_internal_scenario() const { + return scenario_.Get(); } -inline void TTRequest::_internal_set_modelname(const std::string& value) { +inline void TTRequest::_internal_set_scenario(const std::string& value) { - modelname_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline std::string* TTRequest::_internal_mutable_modelname() { +inline std::string* TTRequest::_internal_mutable_scenario() { - return modelname_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); + return scenario_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); } -inline std::string* TTRequest::release_modelname() { - // @@protoc_insertion_point(field_release:flexe.TTRequest.modelName) - return modelname_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +inline std::string* TTRequest::release_scenario() { + // @@protoc_insertion_point(field_release:flexe.TTRequest.scenario) + return scenario_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); } -inline void TTRequest::set_allocated_modelname(std::string* modelname) { - if (modelname != nullptr) { +inline void TTRequest::set_allocated_scenario(std::string* scenario) { + if (scenario != nullptr) { } else { } - modelname_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), modelname, + scenario_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), scenario, GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:flexe.TTRequest.modelName) + // @@protoc_insertion_point(field_set_allocated:flexe.TTRequest.scenario) } -// int32 epochs = 4; -inline void TTRequest::clear_epochs() { - epochs_ = 0; +// int32 seed = 5; +inline void TTRequest::clear_seed() { + seed_ = 0; } -inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::_internal_epochs() const { - return epochs_; +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::_internal_seed() const { + return seed_; } -inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::epochs() const { +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::seed() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.seed) + return _internal_seed(); +} +inline void TTRequest::_internal_set_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { + + seed_ = value; +} +inline void TTRequest::set_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_seed(value); + // @@protoc_insertion_point(field_set:flexe.TTRequest.seed) +} + +// bool nonIID = 6; +inline void TTRequest::clear_noniid() { + noniid_ = false; +} +inline bool TTRequest::_internal_noniid() const { + return noniid_; +} +inline bool TTRequest::noniid() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.nonIID) + return _internal_noniid(); +} +inline void TTRequest::_internal_set_noniid(bool value) { + + noniid_ = value; +} +inline void TTRequest::set_noniid(bool value) { + _internal_set_noniid(value); + // @@protoc_insertion_point(field_set:flexe.TTRequest.nonIID) +} + +// int32 idModel = 7; +inline void TTRequest::clear_idmodel() { + idmodel_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::_internal_idmodel() const { + return idmodel_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::idmodel() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.idModel) + return _internal_idmodel(); +} +inline void TTRequest::_internal_set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value) { + + idmodel_ = value; +} +inline void TTRequest::set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_idmodel(value); + // @@protoc_insertion_point(field_set:flexe.TTRequest.idModel) +} + +// bool trainFlag = 8; +inline void TTRequest::clear_trainflag() { + trainflag_ = false; +} +inline bool TTRequest::_internal_trainflag() const { + return trainflag_; +} +inline bool TTRequest::trainflag() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.trainFlag) + return _internal_trainflag(); +} +inline void TTRequest::_internal_set_trainflag(bool value) { + + trainflag_ = value; +} +inline void TTRequest::set_trainflag(bool value) { + _internal_set_trainflag(value); + // @@protoc_insertion_point(field_set:flexe.TTRequest.trainFlag) +} + +// int32 epochs = 9; +inline void TTRequest::clear_epochs() { + epochs_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::_internal_epochs() const { + return epochs_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::epochs() const { // @@protoc_insertion_point(field_get:flexe.TTRequest.epochs) return _internal_epochs(); } @@ -1214,331 +1675,1470 @@ inline void TTRequest::set_epochs(::PROTOBUF_NAMESPACE_ID::int32 value) { // @@protoc_insertion_point(field_set:flexe.TTRequest.epochs) } -// int32 batch_size = 5; -inline void TTRequest::clear_batch_size() { - batch_size_ = 0; +// int32 batch = 10; +inline void TTRequest::clear_batch() { + batch_ = 0; } -inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::_internal_batch_size() const { - return batch_size_; +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::_internal_batch() const { + return batch_; } -inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::batch_size() const { - // @@protoc_insertion_point(field_get:flexe.TTRequest.batch_size) - return _internal_batch_size(); +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::batch() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.batch) + return _internal_batch(); } -inline void TTRequest::_internal_set_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value) { +inline void TTRequest::_internal_set_batch(::PROTOBUF_NAMESPACE_ID::int32 value) { - batch_size_ = value; + batch_ = value; } -inline void TTRequest::set_batch_size(::PROTOBUF_NAMESPACE_ID::int32 value) { - _internal_set_batch_size(value); - // @@protoc_insertion_point(field_set:flexe.TTRequest.batch_size) +inline void TTRequest::set_batch(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_batch(value); + // @@protoc_insertion_point(field_set:flexe.TTRequest.batch) } -// ------------------------------------------------------------------- +// int32 numClients = 11; +inline void TTRequest::clear_numclients() { + numclients_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::_internal_numclients() const { + return numclients_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 TTRequest::numclients() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.numClients) + return _internal_numclients(); +} +inline void TTRequest::_internal_set_numclients(::PROTOBUF_NAMESPACE_ID::int32 value) { + + numclients_ = value; +} +inline void TTRequest::set_numclients(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_numclients(value); + // @@protoc_insertion_point(field_set:flexe.TTRequest.numClients) +} -// EvaluateReply +// double percentDataset = 12; +inline void TTRequest::clear_percentdataset() { + percentdataset_ = 0; +} +inline double TTRequest::_internal_percentdataset() const { + return percentdataset_; +} +inline double TTRequest::percentdataset() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.percentDataset) + return _internal_percentdataset(); +} +inline void TTRequest::_internal_set_percentdataset(double value) { + + percentdataset_ = value; +} +inline void TTRequest::set_percentdataset(double value) { + _internal_set_percentdataset(value); + // @@protoc_insertion_point(field_set:flexe.TTRequest.percentDataset) +} -// double loss = 1; -inline void EvaluateReply::clear_loss() { - loss_ = 0; +// string models = 13; +inline void TTRequest::clear_models() { + models_.ClearToEmpty(); } -inline double EvaluateReply::_internal_loss() const { - return loss_; +inline const std::string& TTRequest::models() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.models) + return _internal_models(); } -inline double EvaluateReply::loss() const { - // @@protoc_insertion_point(field_get:flexe.EvaluateReply.loss) - return _internal_loss(); +template +inline PROTOBUF_ALWAYS_INLINE +void TTRequest::set_models(ArgT0&& arg0, ArgT... args) { + + models_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.TTRequest.models) } -inline void EvaluateReply::_internal_set_loss(double value) { +inline std::string* TTRequest::mutable_models() { + // @@protoc_insertion_point(field_mutable:flexe.TTRequest.models) + return _internal_mutable_models(); +} +inline const std::string& TTRequest::_internal_models() const { + return models_.Get(); +} +inline void TTRequest::_internal_set_models(const std::string& value) { - loss_ = value; + models_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline void EvaluateReply::set_loss(double value) { - _internal_set_loss(value); - // @@protoc_insertion_point(field_set:flexe.EvaluateReply.loss) +inline std::string* TTRequest::_internal_mutable_models() { + + return models_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* TTRequest::release_models() { + // @@protoc_insertion_point(field_release:flexe.TTRequest.models) + return models_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void TTRequest::set_allocated_models(std::string* models) { + if (models != nullptr) { + + } else { + + } + models_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), models, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.TTRequest.models) } -// double accuracy = 2; -inline void EvaluateReply::clear_accuracy() { - accuracy_ = 0; +// string msg = 14; +inline void TTRequest::clear_msg() { + msg_.ClearToEmpty(); } -inline double EvaluateReply::_internal_accuracy() const { - return accuracy_; +inline const std::string& TTRequest::msg() const { + // @@protoc_insertion_point(field_get:flexe.TTRequest.msg) + return _internal_msg(); } -inline double EvaluateReply::accuracy() const { - // @@protoc_insertion_point(field_get:flexe.EvaluateReply.accuracy) - return _internal_accuracy(); +template +inline PROTOBUF_ALWAYS_INLINE +void TTRequest::set_msg(ArgT0&& arg0, ArgT... args) { + + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.TTRequest.msg) +} +inline std::string* TTRequest::mutable_msg() { + // @@protoc_insertion_point(field_mutable:flexe.TTRequest.msg) + return _internal_mutable_msg(); +} +inline const std::string& TTRequest::_internal_msg() const { + return msg_.Get(); } -inline void EvaluateReply::_internal_set_accuracy(double value) { +inline void TTRequest::_internal_set_msg(const std::string& value) { - accuracy_ = value; + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline void EvaluateReply::set_accuracy(double value) { - _internal_set_accuracy(value); - // @@protoc_insertion_point(field_set:flexe.EvaluateReply.accuracy) +inline std::string* TTRequest::_internal_mutable_msg() { + + return msg_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* TTRequest::release_msg() { + // @@protoc_insertion_point(field_release:flexe.TTRequest.msg) + return msg_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void TTRequest::set_allocated_msg(std::string* msg) { + if (msg != nullptr) { + + } else { + + } + msg_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), msg, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.TTRequest.msg) } // ------------------------------------------------------------------- -// ModelReply +// AggregationRequest + +// int32 idEntity = 1; +inline void AggregationRequest::clear_identity() { + identity_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 AggregationRequest::_internal_identity() const { + return identity_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 AggregationRequest::identity() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.idEntity) + return _internal_identity(); +} +inline void AggregationRequest::_internal_set_identity(::PROTOBUF_NAMESPACE_ID::int32 value) { + + identity_ = value; +} +inline void AggregationRequest::set_identity(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_identity(value); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.idEntity) +} -// int32 idVehicle = 1; -inline void ModelReply::clear_idvehicle() { - idvehicle_ = 0; +// string model = 2; +inline void AggregationRequest::clear_model() { + model_.ClearToEmpty(); } -inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::_internal_idvehicle() const { - return idvehicle_; +inline const std::string& AggregationRequest::model() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.model) + return _internal_model(); } -inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::idvehicle() const { - // @@protoc_insertion_point(field_get:flexe.ModelReply.idVehicle) - return _internal_idvehicle(); +template +inline PROTOBUF_ALWAYS_INLINE +void AggregationRequest::set_model(ArgT0&& arg0, ArgT... args) { + + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.model) +} +inline std::string* AggregationRequest::mutable_model() { + // @@protoc_insertion_point(field_mutable:flexe.AggregationRequest.model) + return _internal_mutable_model(); } -inline void ModelReply::_internal_set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value) { +inline const std::string& AggregationRequest::_internal_model() const { + return model_.Get(); +} +inline void AggregationRequest::_internal_set_model(const std::string& value) { + + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* AggregationRequest::_internal_mutable_model() { - idvehicle_ = value; + return model_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* AggregationRequest::release_model() { + // @@protoc_insertion_point(field_release:flexe.AggregationRequest.model) + return model_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); } -inline void ModelReply::set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value) { - _internal_set_idvehicle(value); - // @@protoc_insertion_point(field_set:flexe.ModelReply.idVehicle) +inline void AggregationRequest::set_allocated_model(std::string* model) { + if (model != nullptr) { + + } else { + + } + model_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), model, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.AggregationRequest.model) } -// repeated bytes tensors = 2; -inline int ModelReply::_internal_tensors_size() const { - return tensors_.size(); +// string dataset = 3; +inline void AggregationRequest::clear_dataset() { + dataset_.ClearToEmpty(); } -inline int ModelReply::tensors_size() const { - return _internal_tensors_size(); +inline const std::string& AggregationRequest::dataset() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.dataset) + return _internal_dataset(); } -inline void ModelReply::clear_tensors() { - tensors_.Clear(); +template +inline PROTOBUF_ALWAYS_INLINE +void AggregationRequest::set_dataset(ArgT0&& arg0, ArgT... args) { + + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.dataset) } -inline std::string* ModelReply::add_tensors() { - // @@protoc_insertion_point(field_add_mutable:flexe.ModelReply.tensors) - return _internal_add_tensors(); +inline std::string* AggregationRequest::mutable_dataset() { + // @@protoc_insertion_point(field_mutable:flexe.AggregationRequest.dataset) + return _internal_mutable_dataset(); } -inline const std::string& ModelReply::_internal_tensors(int index) const { - return tensors_.Get(index); +inline const std::string& AggregationRequest::_internal_dataset() const { + return dataset_.Get(); } -inline const std::string& ModelReply::tensors(int index) const { - // @@protoc_insertion_point(field_get:flexe.ModelReply.tensors) - return _internal_tensors(index); +inline void AggregationRequest::_internal_set_dataset(const std::string& value) { + + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline std::string* ModelReply::mutable_tensors(int index) { - // @@protoc_insertion_point(field_mutable:flexe.ModelReply.tensors) - return tensors_.Mutable(index); +inline std::string* AggregationRequest::_internal_mutable_dataset() { + + return dataset_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); } -inline void ModelReply::set_tensors(int index, const std::string& value) { - // @@protoc_insertion_point(field_set:flexe.ModelReply.tensors) - tensors_.Mutable(index)->assign(value); +inline std::string* AggregationRequest::release_dataset() { + // @@protoc_insertion_point(field_release:flexe.AggregationRequest.dataset) + return dataset_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); } -inline void ModelReply::set_tensors(int index, std::string&& value) { - // @@protoc_insertion_point(field_set:flexe.ModelReply.tensors) - tensors_.Mutable(index)->assign(std::move(value)); +inline void AggregationRequest::set_allocated_dataset(std::string* dataset) { + if (dataset != nullptr) { + + } else { + + } + dataset_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), dataset, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.AggregationRequest.dataset) } -inline void ModelReply::set_tensors(int index, const char* value) { - GOOGLE_DCHECK(value != nullptr); - tensors_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:flexe.ModelReply.tensors) + +// string scenario = 4; +inline void AggregationRequest::clear_scenario() { + scenario_.ClearToEmpty(); } -inline void ModelReply::set_tensors(int index, const void* value, size_t size) { - tensors_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:flexe.ModelReply.tensors) +inline const std::string& AggregationRequest::scenario() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.scenario) + return _internal_scenario(); } -inline std::string* ModelReply::_internal_add_tensors() { - return tensors_.Add(); +template +inline PROTOBUF_ALWAYS_INLINE +void AggregationRequest::set_scenario(ArgT0&& arg0, ArgT... args) { + + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.scenario) } -inline void ModelReply::add_tensors(const std::string& value) { - tensors_.Add()->assign(value); - // @@protoc_insertion_point(field_add:flexe.ModelReply.tensors) +inline std::string* AggregationRequest::mutable_scenario() { + // @@protoc_insertion_point(field_mutable:flexe.AggregationRequest.scenario) + return _internal_mutable_scenario(); } -inline void ModelReply::add_tensors(std::string&& value) { - tensors_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:flexe.ModelReply.tensors) +inline const std::string& AggregationRequest::_internal_scenario() const { + return scenario_.Get(); } -inline void ModelReply::add_tensors(const char* value) { - GOOGLE_DCHECK(value != nullptr); - tensors_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:flexe.ModelReply.tensors) +inline void AggregationRequest::_internal_set_scenario(const std::string& value) { + + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline void ModelReply::add_tensors(const void* value, size_t size) { - tensors_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:flexe.ModelReply.tensors) +inline std::string* AggregationRequest::_internal_mutable_scenario() { + + return scenario_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& -ModelReply::tensors() const { - // @@protoc_insertion_point(field_list:flexe.ModelReply.tensors) - return tensors_; +inline std::string* AggregationRequest::release_scenario() { + // @@protoc_insertion_point(field_release:flexe.AggregationRequest.scenario) + return scenario_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* -ModelReply::mutable_tensors() { - // @@protoc_insertion_point(field_mutable_list:flexe.ModelReply.tensors) - return &tensors_; +inline void AggregationRequest::set_allocated_scenario(std::string* scenario) { + if (scenario != nullptr) { + + } else { + + } + scenario_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), scenario, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.AggregationRequest.scenario) } -// int32 num_examples = 3; -inline void ModelReply::clear_num_examples() { - num_examples_ = 0; +// int32 seed = 5; +inline void AggregationRequest::clear_seed() { + seed_ = 0; } -inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::_internal_num_examples() const { - return num_examples_; +inline ::PROTOBUF_NAMESPACE_ID::int32 AggregationRequest::_internal_seed() const { + return seed_; } -inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::num_examples() const { - // @@protoc_insertion_point(field_get:flexe.ModelReply.num_examples) - return _internal_num_examples(); +inline ::PROTOBUF_NAMESPACE_ID::int32 AggregationRequest::seed() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.seed) + return _internal_seed(); } -inline void ModelReply::_internal_set_num_examples(::PROTOBUF_NAMESPACE_ID::int32 value) { +inline void AggregationRequest::_internal_set_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { - num_examples_ = value; + seed_ = value; } -inline void ModelReply::set_num_examples(::PROTOBUF_NAMESPACE_ID::int32 value) { - _internal_set_num_examples(value); - // @@protoc_insertion_point(field_set:flexe.ModelReply.num_examples) +inline void AggregationRequest::set_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_seed(value); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.seed) } -// ------------------------------------------------------------------- +// bool nonIID = 6; +inline void AggregationRequest::clear_noniid() { + noniid_ = false; +} +inline bool AggregationRequest::_internal_noniid() const { + return noniid_; +} +inline bool AggregationRequest::noniid() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.nonIID) + return _internal_noniid(); +} +inline void AggregationRequest::_internal_set_noniid(bool value) { + + noniid_ = value; +} +inline void AggregationRequest::set_noniid(bool value) { + _internal_set_noniid(value); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.nonIID) +} -// ModelRequest +// int32 idModel = 7; +inline void AggregationRequest::clear_idmodel() { + idmodel_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 AggregationRequest::_internal_idmodel() const { + return idmodel_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 AggregationRequest::idmodel() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.idModel) + return _internal_idmodel(); +} +inline void AggregationRequest::_internal_set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value) { + + idmodel_ = value; +} +inline void AggregationRequest::set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_idmodel(value); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.idModel) +} -// int32 idVehicle = 1; -inline void ModelRequest::clear_idvehicle() { - idvehicle_ = 0; +// int32 numClients = 8; +inline void AggregationRequest::clear_numclients() { + numclients_ = 0; } -inline ::PROTOBUF_NAMESPACE_ID::int32 ModelRequest::_internal_idvehicle() const { - return idvehicle_; +inline ::PROTOBUF_NAMESPACE_ID::int32 AggregationRequest::_internal_numclients() const { + return numclients_; } -inline ::PROTOBUF_NAMESPACE_ID::int32 ModelRequest::idvehicle() const { - // @@protoc_insertion_point(field_get:flexe.ModelRequest.idVehicle) - return _internal_idvehicle(); +inline ::PROTOBUF_NAMESPACE_ID::int32 AggregationRequest::numclients() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.numClients) + return _internal_numclients(); } -inline void ModelRequest::_internal_set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value) { +inline void AggregationRequest::_internal_set_numclients(::PROTOBUF_NAMESPACE_ID::int32 value) { - idvehicle_ = value; + numclients_ = value; } -inline void ModelRequest::set_idvehicle(::PROTOBUF_NAMESPACE_ID::int32 value) { - _internal_set_idvehicle(value); - // @@protoc_insertion_point(field_set:flexe.ModelRequest.idVehicle) +inline void AggregationRequest::set_numclients(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_numclients(value); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.numClients) } -// repeated bytes tensors = 2; -inline int ModelRequest::_internal_tensors_size() const { - return tensors_.size(); +// string numExamples = 9; +inline void AggregationRequest::clear_numexamples() { + numexamples_.ClearToEmpty(); } -inline int ModelRequest::tensors_size() const { - return _internal_tensors_size(); +inline const std::string& AggregationRequest::numexamples() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.numExamples) + return _internal_numexamples(); } -inline void ModelRequest::clear_tensors() { - tensors_.Clear(); +template +inline PROTOBUF_ALWAYS_INLINE +void AggregationRequest::set_numexamples(ArgT0&& arg0, ArgT... args) { + + numexamples_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.numExamples) } -inline std::string* ModelRequest::add_tensors() { - // @@protoc_insertion_point(field_add_mutable:flexe.ModelRequest.tensors) - return _internal_add_tensors(); +inline std::string* AggregationRequest::mutable_numexamples() { + // @@protoc_insertion_point(field_mutable:flexe.AggregationRequest.numExamples) + return _internal_mutable_numexamples(); } -inline const std::string& ModelRequest::_internal_tensors(int index) const { - return tensors_.Get(index); +inline const std::string& AggregationRequest::_internal_numexamples() const { + return numexamples_.Get(); } -inline const std::string& ModelRequest::tensors(int index) const { - // @@protoc_insertion_point(field_get:flexe.ModelRequest.tensors) - return _internal_tensors(index); +inline void AggregationRequest::_internal_set_numexamples(const std::string& value) { + + numexamples_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline std::string* ModelRequest::mutable_tensors(int index) { - // @@protoc_insertion_point(field_mutable:flexe.ModelRequest.tensors) - return tensors_.Mutable(index); +inline std::string* AggregationRequest::_internal_mutable_numexamples() { + + return numexamples_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); } -inline void ModelRequest::set_tensors(int index, const std::string& value) { - // @@protoc_insertion_point(field_set:flexe.ModelRequest.tensors) - tensors_.Mutable(index)->assign(value); +inline std::string* AggregationRequest::release_numexamples() { + // @@protoc_insertion_point(field_release:flexe.AggregationRequest.numExamples) + return numexamples_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); } -inline void ModelRequest::set_tensors(int index, std::string&& value) { - // @@protoc_insertion_point(field_set:flexe.ModelRequest.tensors) - tensors_.Mutable(index)->assign(std::move(value)); +inline void AggregationRequest::set_allocated_numexamples(std::string* numexamples) { + if (numexamples != nullptr) { + + } else { + + } + numexamples_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), numexamples, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.AggregationRequest.numExamples) } -inline void ModelRequest::set_tensors(int index, const char* value) { - GOOGLE_DCHECK(value != nullptr); - tensors_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:flexe.ModelRequest.tensors) + +// string models = 10; +inline void AggregationRequest::clear_models() { + models_.ClearToEmpty(); } -inline void ModelRequest::set_tensors(int index, const void* value, size_t size) { - tensors_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:flexe.ModelRequest.tensors) +inline const std::string& AggregationRequest::models() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.models) + return _internal_models(); } -inline std::string* ModelRequest::_internal_add_tensors() { - return tensors_.Add(); +template +inline PROTOBUF_ALWAYS_INLINE +void AggregationRequest::set_models(ArgT0&& arg0, ArgT... args) { + + models_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.models) } -inline void ModelRequest::add_tensors(const std::string& value) { - tensors_.Add()->assign(value); - // @@protoc_insertion_point(field_add:flexe.ModelRequest.tensors) +inline std::string* AggregationRequest::mutable_models() { + // @@protoc_insertion_point(field_mutable:flexe.AggregationRequest.models) + return _internal_mutable_models(); } -inline void ModelRequest::add_tensors(std::string&& value) { - tensors_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:flexe.ModelRequest.tensors) +inline const std::string& AggregationRequest::_internal_models() const { + return models_.Get(); } -inline void ModelRequest::add_tensors(const char* value) { - GOOGLE_DCHECK(value != nullptr); - tensors_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:flexe.ModelRequest.tensors) +inline void AggregationRequest::_internal_set_models(const std::string& value) { + + models_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline void ModelRequest::add_tensors(const void* value, size_t size) { - tensors_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:flexe.ModelRequest.tensors) +inline std::string* AggregationRequest::_internal_mutable_models() { + + return models_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& -ModelRequest::tensors() const { - // @@protoc_insertion_point(field_list:flexe.ModelRequest.tensors) - return tensors_; +inline std::string* AggregationRequest::release_models() { + // @@protoc_insertion_point(field_release:flexe.AggregationRequest.models) + return models_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* -ModelRequest::mutable_tensors() { - // @@protoc_insertion_point(field_mutable_list:flexe.ModelRequest.tensors) - return &tensors_; +inline void AggregationRequest::set_allocated_models(std::string* models) { + if (models != nullptr) { + + } else { + + } + models_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), models, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.AggregationRequest.models) } -// int32 number_of_vehicles = 3; -inline void ModelRequest::clear_number_of_vehicles() { - number_of_vehicles_ = 0; +// string strategy = 11; +inline void AggregationRequest::clear_strategy() { + strategy_.ClearToEmpty(); +} +inline const std::string& AggregationRequest::strategy() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.strategy) + return _internal_strategy(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void AggregationRequest::set_strategy(ArgT0&& arg0, ArgT... args) { + + strategy_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.strategy) +} +inline std::string* AggregationRequest::mutable_strategy() { + // @@protoc_insertion_point(field_mutable:flexe.AggregationRequest.strategy) + return _internal_mutable_strategy(); } -inline ::PROTOBUF_NAMESPACE_ID::int32 ModelRequest::_internal_number_of_vehicles() const { - return number_of_vehicles_; +inline const std::string& AggregationRequest::_internal_strategy() const { + return strategy_.Get(); } -inline ::PROTOBUF_NAMESPACE_ID::int32 ModelRequest::number_of_vehicles() const { - // @@protoc_insertion_point(field_get:flexe.ModelRequest.number_of_vehicles) - return _internal_number_of_vehicles(); +inline void AggregationRequest::_internal_set_strategy(const std::string& value) { + + strategy_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline void ModelRequest::_internal_set_number_of_vehicles(::PROTOBUF_NAMESPACE_ID::int32 value) { +inline std::string* AggregationRequest::_internal_mutable_strategy() { - number_of_vehicles_ = value; + return strategy_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* AggregationRequest::release_strategy() { + // @@protoc_insertion_point(field_release:flexe.AggregationRequest.strategy) + return strategy_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); } -inline void ModelRequest::set_number_of_vehicles(::PROTOBUF_NAMESPACE_ID::int32 value) { - _internal_set_number_of_vehicles(value); - // @@protoc_insertion_point(field_set:flexe.ModelRequest.number_of_vehicles) +inline void AggregationRequest::set_allocated_strategy(std::string* strategy) { + if (strategy != nullptr) { + + } else { + + } + strategy_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), strategy, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.AggregationRequest.strategy) } -// int32 num_examples = 4; -inline void ModelRequest::clear_num_examples() { - num_examples_ = 0; +// string msg = 12; +inline void AggregationRequest::clear_msg() { + msg_.ClearToEmpty(); +} +inline const std::string& AggregationRequest::msg() const { + // @@protoc_insertion_point(field_get:flexe.AggregationRequest.msg) + return _internal_msg(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void AggregationRequest::set_msg(ArgT0&& arg0, ArgT... args) { + + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.AggregationRequest.msg) +} +inline std::string* AggregationRequest::mutable_msg() { + // @@protoc_insertion_point(field_mutable:flexe.AggregationRequest.msg) + return _internal_mutable_msg(); } -inline ::PROTOBUF_NAMESPACE_ID::int32 ModelRequest::_internal_num_examples() const { - return num_examples_; +inline const std::string& AggregationRequest::_internal_msg() const { + return msg_.Get(); } -inline ::PROTOBUF_NAMESPACE_ID::int32 ModelRequest::num_examples() const { - // @@protoc_insertion_point(field_get:flexe.ModelRequest.num_examples) - return _internal_num_examples(); +inline void AggregationRequest::_internal_set_msg(const std::string& value) { + + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline void ModelRequest::_internal_set_num_examples(::PROTOBUF_NAMESPACE_ID::int32 value) { +inline std::string* AggregationRequest::_internal_mutable_msg() { - num_examples_ = value; + return msg_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* AggregationRequest::release_msg() { + // @@protoc_insertion_point(field_release:flexe.AggregationRequest.msg) + return msg_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); } -inline void ModelRequest::set_num_examples(::PROTOBUF_NAMESPACE_ID::int32 value) { - _internal_set_num_examples(value); - // @@protoc_insertion_point(field_set:flexe.ModelRequest.num_examples) +inline void AggregationRequest::set_allocated_msg(std::string* msg) { + if (msg != nullptr) { + + } else { + + } + msg_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), msg, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.AggregationRequest.msg) } -#ifdef __GNUC__ - #pragma GCC diagnostic pop -#endif // __GNUC__ // ------------------------------------------------------------------- +// GenericRequest + +// int32 idEntity = 1; +inline void GenericRequest::clear_identity() { + identity_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericRequest::_internal_identity() const { + return identity_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericRequest::identity() const { + // @@protoc_insertion_point(field_get:flexe.GenericRequest.idEntity) + return _internal_identity(); +} +inline void GenericRequest::_internal_set_identity(::PROTOBUF_NAMESPACE_ID::int32 value) { + + identity_ = value; +} +inline void GenericRequest::set_identity(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_identity(value); + // @@protoc_insertion_point(field_set:flexe.GenericRequest.idEntity) +} + +// string model = 2; +inline void GenericRequest::clear_model() { + model_.ClearToEmpty(); +} +inline const std::string& GenericRequest::model() const { + // @@protoc_insertion_point(field_get:flexe.GenericRequest.model) + return _internal_model(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GenericRequest::set_model(ArgT0&& arg0, ArgT... args) { + + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.GenericRequest.model) +} +inline std::string* GenericRequest::mutable_model() { + // @@protoc_insertion_point(field_mutable:flexe.GenericRequest.model) + return _internal_mutable_model(); +} +inline const std::string& GenericRequest::_internal_model() const { + return model_.Get(); +} +inline void GenericRequest::_internal_set_model(const std::string& value) { + + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* GenericRequest::_internal_mutable_model() { + + return model_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* GenericRequest::release_model() { + // @@protoc_insertion_point(field_release:flexe.GenericRequest.model) + return model_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void GenericRequest::set_allocated_model(std::string* model) { + if (model != nullptr) { + + } else { + + } + model_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), model, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.GenericRequest.model) +} + +// string dataset = 3; +inline void GenericRequest::clear_dataset() { + dataset_.ClearToEmpty(); +} +inline const std::string& GenericRequest::dataset() const { + // @@protoc_insertion_point(field_get:flexe.GenericRequest.dataset) + return _internal_dataset(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GenericRequest::set_dataset(ArgT0&& arg0, ArgT... args) { + + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.GenericRequest.dataset) +} +inline std::string* GenericRequest::mutable_dataset() { + // @@protoc_insertion_point(field_mutable:flexe.GenericRequest.dataset) + return _internal_mutable_dataset(); +} +inline const std::string& GenericRequest::_internal_dataset() const { + return dataset_.Get(); +} +inline void GenericRequest::_internal_set_dataset(const std::string& value) { + + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* GenericRequest::_internal_mutable_dataset() { + + return dataset_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* GenericRequest::release_dataset() { + // @@protoc_insertion_point(field_release:flexe.GenericRequest.dataset) + return dataset_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void GenericRequest::set_allocated_dataset(std::string* dataset) { + if (dataset != nullptr) { + + } else { + + } + dataset_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), dataset, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.GenericRequest.dataset) +} + +// string scenario = 4; +inline void GenericRequest::clear_scenario() { + scenario_.ClearToEmpty(); +} +inline const std::string& GenericRequest::scenario() const { + // @@protoc_insertion_point(field_get:flexe.GenericRequest.scenario) + return _internal_scenario(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GenericRequest::set_scenario(ArgT0&& arg0, ArgT... args) { + + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.GenericRequest.scenario) +} +inline std::string* GenericRequest::mutable_scenario() { + // @@protoc_insertion_point(field_mutable:flexe.GenericRequest.scenario) + return _internal_mutable_scenario(); +} +inline const std::string& GenericRequest::_internal_scenario() const { + return scenario_.Get(); +} +inline void GenericRequest::_internal_set_scenario(const std::string& value) { + + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* GenericRequest::_internal_mutable_scenario() { + + return scenario_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* GenericRequest::release_scenario() { + // @@protoc_insertion_point(field_release:flexe.GenericRequest.scenario) + return scenario_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void GenericRequest::set_allocated_scenario(std::string* scenario) { + if (scenario != nullptr) { + + } else { + + } + scenario_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), scenario, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.GenericRequest.scenario) +} + +// int32 seed = 5; +inline void GenericRequest::clear_seed() { + seed_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericRequest::_internal_seed() const { + return seed_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericRequest::seed() const { + // @@protoc_insertion_point(field_get:flexe.GenericRequest.seed) + return _internal_seed(); +} +inline void GenericRequest::_internal_set_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { + + seed_ = value; +} +inline void GenericRequest::set_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_seed(value); + // @@protoc_insertion_point(field_set:flexe.GenericRequest.seed) +} + +// bool nonIID = 6; +inline void GenericRequest::clear_noniid() { + noniid_ = false; +} +inline bool GenericRequest::_internal_noniid() const { + return noniid_; +} +inline bool GenericRequest::noniid() const { + // @@protoc_insertion_point(field_get:flexe.GenericRequest.nonIID) + return _internal_noniid(); +} +inline void GenericRequest::_internal_set_noniid(bool value) { + + noniid_ = value; +} +inline void GenericRequest::set_noniid(bool value) { + _internal_set_noniid(value); + // @@protoc_insertion_point(field_set:flexe.GenericRequest.nonIID) +} + +// int32 idModel = 7; +inline void GenericRequest::clear_idmodel() { + idmodel_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericRequest::_internal_idmodel() const { + return idmodel_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericRequest::idmodel() const { + // @@protoc_insertion_point(field_get:flexe.GenericRequest.idModel) + return _internal_idmodel(); +} +inline void GenericRequest::_internal_set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value) { + + idmodel_ = value; +} +inline void GenericRequest::set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_idmodel(value); + // @@protoc_insertion_point(field_set:flexe.GenericRequest.idModel) +} + +// string msg = 8; +inline void GenericRequest::clear_msg() { + msg_.ClearToEmpty(); +} +inline const std::string& GenericRequest::msg() const { + // @@protoc_insertion_point(field_get:flexe.GenericRequest.msg) + return _internal_msg(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GenericRequest::set_msg(ArgT0&& arg0, ArgT... args) { + + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.GenericRequest.msg) +} +inline std::string* GenericRequest::mutable_msg() { + // @@protoc_insertion_point(field_mutable:flexe.GenericRequest.msg) + return _internal_mutable_msg(); +} +inline const std::string& GenericRequest::_internal_msg() const { + return msg_.Get(); +} +inline void GenericRequest::_internal_set_msg(const std::string& value) { + + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* GenericRequest::_internal_mutable_msg() { + + return msg_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* GenericRequest::release_msg() { + // @@protoc_insertion_point(field_release:flexe.GenericRequest.msg) + return msg_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void GenericRequest::set_allocated_msg(std::string* msg) { + if (msg != nullptr) { + + } else { + + } + msg_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), msg, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.GenericRequest.msg) +} + +// ------------------------------------------------------------------- + +// GenericReply + +// int32 idEntity = 1; +inline void GenericReply::clear_identity() { + identity_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericReply::_internal_identity() const { + return identity_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericReply::identity() const { + // @@protoc_insertion_point(field_get:flexe.GenericReply.idEntity) + return _internal_identity(); +} +inline void GenericReply::_internal_set_identity(::PROTOBUF_NAMESPACE_ID::int32 value) { + + identity_ = value; +} +inline void GenericReply::set_identity(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_identity(value); + // @@protoc_insertion_point(field_set:flexe.GenericReply.idEntity) +} + +// string model = 2; +inline void GenericReply::clear_model() { + model_.ClearToEmpty(); +} +inline const std::string& GenericReply::model() const { + // @@protoc_insertion_point(field_get:flexe.GenericReply.model) + return _internal_model(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GenericReply::set_model(ArgT0&& arg0, ArgT... args) { + + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.GenericReply.model) +} +inline std::string* GenericReply::mutable_model() { + // @@protoc_insertion_point(field_mutable:flexe.GenericReply.model) + return _internal_mutable_model(); +} +inline const std::string& GenericReply::_internal_model() const { + return model_.Get(); +} +inline void GenericReply::_internal_set_model(const std::string& value) { + + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* GenericReply::_internal_mutable_model() { + + return model_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* GenericReply::release_model() { + // @@protoc_insertion_point(field_release:flexe.GenericReply.model) + return model_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void GenericReply::set_allocated_model(std::string* model) { + if (model != nullptr) { + + } else { + + } + model_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), model, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.GenericReply.model) +} + +// string dataset = 3; +inline void GenericReply::clear_dataset() { + dataset_.ClearToEmpty(); +} +inline const std::string& GenericReply::dataset() const { + // @@protoc_insertion_point(field_get:flexe.GenericReply.dataset) + return _internal_dataset(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GenericReply::set_dataset(ArgT0&& arg0, ArgT... args) { + + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.GenericReply.dataset) +} +inline std::string* GenericReply::mutable_dataset() { + // @@protoc_insertion_point(field_mutable:flexe.GenericReply.dataset) + return _internal_mutable_dataset(); +} +inline const std::string& GenericReply::_internal_dataset() const { + return dataset_.Get(); +} +inline void GenericReply::_internal_set_dataset(const std::string& value) { + + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* GenericReply::_internal_mutable_dataset() { + + return dataset_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* GenericReply::release_dataset() { + // @@protoc_insertion_point(field_release:flexe.GenericReply.dataset) + return dataset_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void GenericReply::set_allocated_dataset(std::string* dataset) { + if (dataset != nullptr) { + + } else { + + } + dataset_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), dataset, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.GenericReply.dataset) +} + +// string scenario = 4; +inline void GenericReply::clear_scenario() { + scenario_.ClearToEmpty(); +} +inline const std::string& GenericReply::scenario() const { + // @@protoc_insertion_point(field_get:flexe.GenericReply.scenario) + return _internal_scenario(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GenericReply::set_scenario(ArgT0&& arg0, ArgT... args) { + + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.GenericReply.scenario) +} +inline std::string* GenericReply::mutable_scenario() { + // @@protoc_insertion_point(field_mutable:flexe.GenericReply.scenario) + return _internal_mutable_scenario(); +} +inline const std::string& GenericReply::_internal_scenario() const { + return scenario_.Get(); +} +inline void GenericReply::_internal_set_scenario(const std::string& value) { + + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* GenericReply::_internal_mutable_scenario() { + + return scenario_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* GenericReply::release_scenario() { + // @@protoc_insertion_point(field_release:flexe.GenericReply.scenario) + return scenario_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void GenericReply::set_allocated_scenario(std::string* scenario) { + if (scenario != nullptr) { + + } else { + + } + scenario_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), scenario, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.GenericReply.scenario) +} + +// int32 seed = 5; +inline void GenericReply::clear_seed() { + seed_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericReply::_internal_seed() const { + return seed_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericReply::seed() const { + // @@protoc_insertion_point(field_get:flexe.GenericReply.seed) + return _internal_seed(); +} +inline void GenericReply::_internal_set_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { + + seed_ = value; +} +inline void GenericReply::set_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_seed(value); + // @@protoc_insertion_point(field_set:flexe.GenericReply.seed) +} + +// bool nonIID = 6; +inline void GenericReply::clear_noniid() { + noniid_ = false; +} +inline bool GenericReply::_internal_noniid() const { + return noniid_; +} +inline bool GenericReply::noniid() const { + // @@protoc_insertion_point(field_get:flexe.GenericReply.nonIID) + return _internal_noniid(); +} +inline void GenericReply::_internal_set_noniid(bool value) { + + noniid_ = value; +} +inline void GenericReply::set_noniid(bool value) { + _internal_set_noniid(value); + // @@protoc_insertion_point(field_set:flexe.GenericReply.nonIID) +} + +// int32 idModel = 7; +inline void GenericReply::clear_idmodel() { + idmodel_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericReply::_internal_idmodel() const { + return idmodel_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericReply::idmodel() const { + // @@protoc_insertion_point(field_get:flexe.GenericReply.idModel) + return _internal_idmodel(); +} +inline void GenericReply::_internal_set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value) { + + idmodel_ = value; +} +inline void GenericReply::set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_idmodel(value); + // @@protoc_insertion_point(field_set:flexe.GenericReply.idModel) +} + +// int32 reply = 8; +inline void GenericReply::clear_reply() { + reply_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericReply::_internal_reply() const { + return reply_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 GenericReply::reply() const { + // @@protoc_insertion_point(field_get:flexe.GenericReply.reply) + return _internal_reply(); +} +inline void GenericReply::_internal_set_reply(::PROTOBUF_NAMESPACE_ID::int32 value) { + + reply_ = value; +} +inline void GenericReply::set_reply(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_reply(value); + // @@protoc_insertion_point(field_set:flexe.GenericReply.reply) +} + +// string msg = 9; +inline void GenericReply::clear_msg() { + msg_.ClearToEmpty(); +} +inline const std::string& GenericReply::msg() const { + // @@protoc_insertion_point(field_get:flexe.GenericReply.msg) + return _internal_msg(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GenericReply::set_msg(ArgT0&& arg0, ArgT... args) { + + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.GenericReply.msg) +} +inline std::string* GenericReply::mutable_msg() { + // @@protoc_insertion_point(field_mutable:flexe.GenericReply.msg) + return _internal_mutable_msg(); +} +inline const std::string& GenericReply::_internal_msg() const { + return msg_.Get(); +} +inline void GenericReply::_internal_set_msg(const std::string& value) { + + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* GenericReply::_internal_mutable_msg() { + + return msg_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* GenericReply::release_msg() { + // @@protoc_insertion_point(field_release:flexe.GenericReply.msg) + return msg_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void GenericReply::set_allocated_msg(std::string* msg) { + if (msg != nullptr) { + + } else { + + } + msg_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), msg, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.GenericReply.msg) +} + +// ------------------------------------------------------------------- + +// ModelReply + +// int32 idEntity = 1; +inline void ModelReply::clear_identity() { + identity_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::_internal_identity() const { + return identity_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::identity() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.idEntity) + return _internal_identity(); +} +inline void ModelReply::_internal_set_identity(::PROTOBUF_NAMESPACE_ID::int32 value) { + + identity_ = value; +} +inline void ModelReply::set_identity(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_identity(value); + // @@protoc_insertion_point(field_set:flexe.ModelReply.idEntity) +} + +// string model = 2; +inline void ModelReply::clear_model() { + model_.ClearToEmpty(); +} +inline const std::string& ModelReply::model() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.model) + return _internal_model(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ModelReply::set_model(ArgT0&& arg0, ArgT... args) { + + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.ModelReply.model) +} +inline std::string* ModelReply::mutable_model() { + // @@protoc_insertion_point(field_mutable:flexe.ModelReply.model) + return _internal_mutable_model(); +} +inline const std::string& ModelReply::_internal_model() const { + return model_.Get(); +} +inline void ModelReply::_internal_set_model(const std::string& value) { + + model_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ModelReply::_internal_mutable_model() { + + return model_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ModelReply::release_model() { + // @@protoc_insertion_point(field_release:flexe.ModelReply.model) + return model_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ModelReply::set_allocated_model(std::string* model) { + if (model != nullptr) { + + } else { + + } + model_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), model, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.ModelReply.model) +} + +// string dataset = 3; +inline void ModelReply::clear_dataset() { + dataset_.ClearToEmpty(); +} +inline const std::string& ModelReply::dataset() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.dataset) + return _internal_dataset(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ModelReply::set_dataset(ArgT0&& arg0, ArgT... args) { + + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.ModelReply.dataset) +} +inline std::string* ModelReply::mutable_dataset() { + // @@protoc_insertion_point(field_mutable:flexe.ModelReply.dataset) + return _internal_mutable_dataset(); +} +inline const std::string& ModelReply::_internal_dataset() const { + return dataset_.Get(); +} +inline void ModelReply::_internal_set_dataset(const std::string& value) { + + dataset_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ModelReply::_internal_mutable_dataset() { + + return dataset_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ModelReply::release_dataset() { + // @@protoc_insertion_point(field_release:flexe.ModelReply.dataset) + return dataset_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ModelReply::set_allocated_dataset(std::string* dataset) { + if (dataset != nullptr) { + + } else { + + } + dataset_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), dataset, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.ModelReply.dataset) +} + +// string scenario = 4; +inline void ModelReply::clear_scenario() { + scenario_.ClearToEmpty(); +} +inline const std::string& ModelReply::scenario() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.scenario) + return _internal_scenario(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ModelReply::set_scenario(ArgT0&& arg0, ArgT... args) { + + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.ModelReply.scenario) +} +inline std::string* ModelReply::mutable_scenario() { + // @@protoc_insertion_point(field_mutable:flexe.ModelReply.scenario) + return _internal_mutable_scenario(); +} +inline const std::string& ModelReply::_internal_scenario() const { + return scenario_.Get(); +} +inline void ModelReply::_internal_set_scenario(const std::string& value) { + + scenario_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ModelReply::_internal_mutable_scenario() { + + return scenario_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ModelReply::release_scenario() { + // @@protoc_insertion_point(field_release:flexe.ModelReply.scenario) + return scenario_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ModelReply::set_allocated_scenario(std::string* scenario) { + if (scenario != nullptr) { + + } else { + + } + scenario_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), scenario, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.ModelReply.scenario) +} + +// int32 seed = 5; +inline void ModelReply::clear_seed() { + seed_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::_internal_seed() const { + return seed_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::seed() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.seed) + return _internal_seed(); +} +inline void ModelReply::_internal_set_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { + + seed_ = value; +} +inline void ModelReply::set_seed(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_seed(value); + // @@protoc_insertion_point(field_set:flexe.ModelReply.seed) +} + +// bool nonIID = 6; +inline void ModelReply::clear_noniid() { + noniid_ = false; +} +inline bool ModelReply::_internal_noniid() const { + return noniid_; +} +inline bool ModelReply::noniid() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.nonIID) + return _internal_noniid(); +} +inline void ModelReply::_internal_set_noniid(bool value) { + + noniid_ = value; +} +inline void ModelReply::set_noniid(bool value) { + _internal_set_noniid(value); + // @@protoc_insertion_point(field_set:flexe.ModelReply.nonIID) +} + +// int32 idModel = 7; +inline void ModelReply::clear_idmodel() { + idmodel_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::_internal_idmodel() const { + return idmodel_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::idmodel() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.idModel) + return _internal_idmodel(); +} +inline void ModelReply::_internal_set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value) { + + idmodel_ = value; +} +inline void ModelReply::set_idmodel(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_idmodel(value); + // @@protoc_insertion_point(field_set:flexe.ModelReply.idModel) +} + +// int32 numExamples = 8; +inline void ModelReply::clear_numexamples() { + numexamples_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::_internal_numexamples() const { + return numexamples_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ModelReply::numexamples() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.numExamples) + return _internal_numexamples(); +} +inline void ModelReply::_internal_set_numexamples(::PROTOBUF_NAMESPACE_ID::int32 value) { + + numexamples_ = value; +} +inline void ModelReply::set_numexamples(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_numexamples(value); + // @@protoc_insertion_point(field_set:flexe.ModelReply.numExamples) +} + +// double entropy = 9; +inline void ModelReply::clear_entropy() { + entropy_ = 0; +} +inline double ModelReply::_internal_entropy() const { + return entropy_; +} +inline double ModelReply::entropy() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.entropy) + return _internal_entropy(); +} +inline void ModelReply::_internal_set_entropy(double value) { + + entropy_ = value; +} +inline void ModelReply::set_entropy(double value) { + _internal_set_entropy(value); + // @@protoc_insertion_point(field_set:flexe.ModelReply.entropy) +} + +// double loss = 10; +inline void ModelReply::clear_loss() { + loss_ = 0; +} +inline double ModelReply::_internal_loss() const { + return loss_; +} +inline double ModelReply::loss() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.loss) + return _internal_loss(); +} +inline void ModelReply::_internal_set_loss(double value) { + + loss_ = value; +} +inline void ModelReply::set_loss(double value) { + _internal_set_loss(value); + // @@protoc_insertion_point(field_set:flexe.ModelReply.loss) +} + +// double accuracy = 11; +inline void ModelReply::clear_accuracy() { + accuracy_ = 0; +} +inline double ModelReply::_internal_accuracy() const { + return accuracy_; +} +inline double ModelReply::accuracy() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.accuracy) + return _internal_accuracy(); +} +inline void ModelReply::_internal_set_accuracy(double value) { + + accuracy_ = value; +} +inline void ModelReply::set_accuracy(double value) { + _internal_set_accuracy(value); + // @@protoc_insertion_point(field_set:flexe.ModelReply.accuracy) +} + +// string msg = 12; +inline void ModelReply::clear_msg() { + msg_.ClearToEmpty(); +} +inline const std::string& ModelReply::msg() const { + // @@protoc_insertion_point(field_get:flexe.ModelReply.msg) + return _internal_msg(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ModelReply::set_msg(ArgT0&& arg0, ArgT... args) { + + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flexe.ModelReply.msg) +} +inline std::string* ModelReply::mutable_msg() { + // @@protoc_insertion_point(field_mutable:flexe.ModelReply.msg) + return _internal_mutable_msg(); +} +inline const std::string& ModelReply::_internal_msg() const { + return msg_.Get(); +} +inline void ModelReply::_internal_set_msg(const std::string& value) { + + msg_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ModelReply::_internal_mutable_msg() { + + return msg_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ModelReply::release_msg() { + // @@protoc_insertion_point(field_release:flexe.ModelReply.msg) + return msg_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ModelReply::set_allocated_msg(std::string* msg) { + if (msg != nullptr) { + + } else { + + } + msg_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), msg, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flexe.ModelReply.msg) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ // ------------------------------------------------------------------- // -------------------------------------------------------------------