From 957b26e90bb46042b67de94c762d43271b098193 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 16:23:58 +0100 Subject: [PATCH 01/15] refactor(framework) Move everything into a framework folder --- {dev => framework/dev}/add-swift-api-footer.sh | 0 {dev => framework/dev}/bootstrap.sh | 0 {dev => framework/dev}/build-baseline-docs.sh | 0 {dev => framework/dev}/build-docker-image-matrix.py | 0 {dev => framework/dev}/build-docs.sh | 0 {dev => framework/dev}/build-example-docs.py | 0 {dev => framework/dev}/build-swift-api-ref.sh | 0 {dev => framework/dev}/build.sh | 0 .../dev}/certificates/certificate.conf | 0 {dev => framework/dev}/certificates/generate.sh | 0 {dev => framework/dev}/changelog_config.toml | 0 {dev => framework/dev}/check-protos.sh | 0 {dev => framework/dev}/check-requirements-txt.sh | 0 {dev => framework/dev}/check_pr_title.py | 0 {dev => framework/dev}/deploy-swift-docs.sh | 0 {dev => framework/dev}/fnt.sh | 0 {dev => framework/dev}/format.sh | 0 {dev => framework/dev}/generate-requirements-txt.sh | 0 {dev => framework/dev}/get-latest-changelog.sh | 0 {dev => framework/dev}/install-cuda-step-1.sh | 0 {dev => framework/dev}/install-cuda-step-2.sh | 0 {dev => framework/dev}/plot.sh | 0 {dev => framework/dev}/publish-nightly.sh | 0 {dev => framework/dev}/rm-caches.sh | 0 {dev => framework/dev}/setup-defaults.sh | 0 {dev => framework/dev}/setup-envs.sh | 0 .../dev}/swift-docs-resources/footer.css | 0 .../dev}/swift-docs-resources/footer.html | 0 .../logo_secondary-w-border.png | Bin {dev => framework/dev}/test-copyright.sh | 0 {dev => framework/dev}/test-tool.sh | 0 {dev => framework/dev}/test-wheel.sh | 0 {dev => framework/dev}/test.sh | 0 {dev => framework/dev}/update_changelog.py | 0 {dev => framework/dev}/update_python.py | 0 {dev => framework/dev}/update_version.py | 0 {dev => framework/dev}/venv-create.sh | 0 {dev => framework/dev}/venv-delete.sh | 0 {dev => framework/dev}/venv-reset.sh | 0 {doc => framework/doc}/Makefile | 0 {doc => framework/doc}/build-versioned-docs.sh | 0 .../doc}/locales/fr/LC_MESSAGES/framework-docs.po | 0 .../doc}/locales/fr/LC_MESSAGES/sphinx.po | 0 .../doc}/locales/ko/LC_MESSAGES/framework-docs.po | 0 .../doc}/locales/ko/LC_MESSAGES/sphinx.po | 0 .../locales/pt_BR/LC_MESSAGES/framework-docs.po | 0 .../doc}/locales/pt_BR/LC_MESSAGES/sphinx.po | 0 .../locales/zh_Hans/LC_MESSAGES/framework-docs.po | 0 .../doc}/locales/zh_Hans/LC_MESSAGES/sphinx.po | 0 {doc => framework/doc}/make.bat | 0 {doc => framework/doc}/source/.gitignore | 0 {doc => framework/doc}/source/_static/DP/CDP.png | Bin {doc => framework/doc}/source/_static/DP/LDP.png | Bin .../doc}/source/_static/DP/clientsideCDP.png | Bin .../doc}/source/_static/DP/clipping.png | Bin .../doc}/source/_static/DP/dp-intro.png | Bin .../doc}/source/_static/DP/localdp.png | Bin .../doc}/source/_static/DP/serversideCDP.png | Bin .../doc}/source/_static/changes_requested.png | Bin .../doc}/source/_static/cloning_fork.png | Bin .../doc}/source/_static/cloning_repo.png | Bin .../doc}/source/_static/compare_and_pr.png | Bin .../doc}/source/_static/creating_pr.png | Bin {doc => framework/doc}/source/_static/custom.css | 0 {doc => framework/doc}/source/_static/draft_pr.png | Bin {doc => framework/doc}/source/_static/favicon.ico | Bin .../doc}/source/_static/flower-actors.drawio.png | Bin .../flower-architecture-basic-architecture.svg | 0 .../_static/flower-architecture-hub-and-spoke.svg | 0 .../_static/flower-architecture-multi-run-1.svg | 0 .../_static/flower-architecture-multi-run-2.svg | 0 .../_static/flower-architecture-multi-run.svg | 0 .../doc}/source/_static/flower-logo.png | Bin .../doc}/source/_static/fork_button.png | Bin {doc => framework/doc}/source/_static/fork_link.png | Bin .../doc}/source/_static/forking-repo.png | Bin .../doc}/source/_static/github_schema.png | Bin .../doc}/source/_static/make_changes.png | Bin .../doc}/source/_static/merging_branch.png | Bin .../doc}/source/_static/merging_pr.png | Bin {doc => framework/doc}/source/_static/opened_pr.png | Bin .../doc}/source/_static/opening-pr.png | Bin .../doc}/source/_static/resolve_conv.png | Bin .../_static/tutorial/central-model-training.png | Bin .../_static/tutorial/centralized-impossible.png | Bin .../_static/tutorial/centralized-possible.png | Bin .../doc}/source/_static/tutorial/collect-data.png | Bin .../doc}/source/_static/tutorial/data-on-phone.png | Bin .../_static/tutorial/fl-aggregate-model-updates.png | Bin .../_static/tutorial/fl-initialize-global-model.png | Bin .../source/_static/tutorial/fl-local-training.png | Bin .../_static/tutorial/fl-send-global-model.png | Bin .../_static/tutorial/fl-send-model-updates.png | Bin .../doc}/source/_static/tutorial/flower-any.jpeg | Bin .../_static/tutorial/many-devices-with-data.png | Bin .../doc}/source/_static/tutorial/model-and-data.png | Bin .../doc}/source/_static/tutorial/train-model.png | Bin .../doc}/source/_static/upstream_link.png | Bin .../doc}/source/_static/weblate_interface.png | Bin .../doc}/source/_static/weblate_status.png | Bin .../doc}/source/_templates/autosummary/base.rst | 0 .../doc}/source/_templates/autosummary/class.rst | 0 .../doc}/source/_templates/autosummary/module.rst | 0 {doc => framework/doc}/source/_templates/base.html | 0 .../doc}/source/_templates/sidebar/brand.html | 0 .../doc}/source/_templates/sidebar/lang.html | 0 .../doc}/source/_templates/sidebar/search.html | 0 .../doc}/source/_templates/sidebar/versioning.html | 0 {doc => framework/doc}/source/conf.py | 0 ...tributor-explanation-public-and-private-apis.rst | 0 .../contributor-how-to-build-docker-images.rst | 0 .../contributor-how-to-contribute-translations.rst | 0 ...utor-how-to-develop-in-vscode-dev-containers.rst | 0 ...tributor-how-to-install-development-versions.rst | 0 .../source/contributor-how-to-release-flower.rst | 0 .../contributor-how-to-set-up-a-virtual-env.rst | 0 .../contributor-how-to-write-documentation.rst | 0 .../contributor-ref-good-first-contributions.rst | 0 ...contributor-ref-secure-aggregation-protocols.rst | 0 .../contributor-tutorial-contribute-on-github.rst | 0 ...ibutor-tutorial-get-started-as-a-contributor.rst | 0 {doc => framework/doc}/source/docker/enable-tls.rst | 0 {doc => framework/doc}/source/docker/index.rst | 0 .../doc}/source/docker/persist-superlink-state.rst | 0 .../doc}/source/docker/pin-version.rst | 0 .../doc}/source/docker/run-as-root-user.rst | 0 .../doc}/source/docker/run-as-subprocess.rst | 0 .../run-quickstart-examples-docker-compose.rst | 0 .../source/docker/set-environment-variables.rst | 0 .../docker/tutorial-deploy-on-multiple-machines.rst | 0 .../docker/tutorial-quickstart-docker-compose.rst | 0 .../source/docker/tutorial-quickstart-docker.rst | 0 .../doc}/source/docker/use-a-different-version.rst | 0 .../source/explanation-differential-privacy.rst | 0 .../source/explanation-federated-evaluation.rst | 0 .../doc}/source/explanation-flower-architecture.rst | 0 .../source/how-to-aggregate-evaluation-results.rst | 0 .../doc}/source/how-to-authenticate-supernodes.rst | 0 .../doc}/source/how-to-configure-clients.rst | 0 .../doc}/source/how-to-design-stateful-clients.rst | 0 .../doc}/source/how-to-enable-tls-connections.rst | 0 .../doc}/source/how-to-implement-fedbn.rst | 0 .../doc}/source/how-to-implement-strategies.rst | 0 .../doc}/source/how-to-install-flower.rst | 0 .../doc}/source/how-to-run-simulations.rst | 0 .../how-to-save-and-load-model-checkpoints.rst | 0 .../doc}/source/how-to-upgrade-to-flower-1.0.rst | 0 .../doc}/source/how-to-upgrade-to-flower-1.13.rst | 0 .../doc}/source/how-to-use-built-in-mods.rst | 0 .../doc}/source/how-to-use-differential-privacy.rst | 0 .../doc}/source/how-to-use-strategies.rst | 0 {doc => framework/doc}/source/index.rst | 0 {doc => framework/doc}/source/ref-api-cli.rst | 0 {doc => framework/doc}/source/ref-changelog.md | 0 .../doc}/source/ref-example-projects.rst | 0 {doc => framework/doc}/source/ref-faq.rst | 0 {doc => framework/doc}/source/ref-telemetry.md | 0 .../doc}/source/tutorial-quickstart-android.rst | 0 .../doc}/source/tutorial-quickstart-fastai.rst | 0 .../doc}/source/tutorial-quickstart-huggingface.rst | 0 .../doc}/source/tutorial-quickstart-ios.rst | 0 .../doc}/source/tutorial-quickstart-jax.rst | 0 .../doc}/source/tutorial-quickstart-mlx.rst | 0 .../doc}/source/tutorial-quickstart-pandas.rst | 0 .../tutorial-quickstart-pytorch-lightning.rst | 0 .../doc}/source/tutorial-quickstart-pytorch.rst | 0 .../doc}/source/tutorial-quickstart-scikitlearn.rst | 0 .../doc}/source/tutorial-quickstart-tensorflow.rst | 0 .../doc}/source/tutorial-quickstart-xgboost.rst | 0 ...ries-build-a-strategy-from-scratch-pytorch.ipynb | 0 ...torial-series-customize-the-client-pytorch.ipynb | 0 ...ial-series-get-started-with-flower-pytorch.ipynb | 0 ...-use-a-federated-learning-strategy-pytorch.ipynb | 0 ...tutorial-series-what-is-federated-learning.ipynb | 0 {e2e => framework/e2e}/README.md | 0 {e2e => framework/e2e}/docker/README.md | 0 {e2e => framework/e2e}/docker/client.py | 0 {e2e => framework/e2e}/docker/compose.yaml | 0 {e2e => framework/e2e}/docker/pyproject.toml | 0 {e2e => framework/e2e}/docker/server.py | 0 {e2e => framework/e2e}/docker/serverapp.Dockerfile | 0 {e2e => framework/e2e}/docker/supernode.Dockerfile | 0 {e2e => framework/e2e}/e2e-bare-auth/README.md | 0 .../e2e}/e2e-bare-auth/certificate.conf | 0 .../e2e}/e2e-bare-auth/e2e_bare_auth/__init__.py | 0 .../e2e}/e2e-bare-auth/e2e_bare_auth/client_app.py | 0 .../e2e}/e2e-bare-auth/e2e_bare_auth/server_app.py | 0 {e2e => framework/e2e}/e2e-bare-auth/generate.sh | 0 {e2e => framework/e2e}/e2e-bare-auth/pyproject.toml | 0 {e2e => framework/e2e}/e2e-bare-https/README.md | 0 .../e2e}/e2e-bare-https/certificate.conf | 0 .../e2e}/e2e-bare-https/e2e_bare_https/__init__.py | 0 .../e2e-bare-https/e2e_bare_https/client_app.py | 0 .../e2e-bare-https/e2e_bare_https/server_app.py | 0 {e2e => framework/e2e}/e2e-bare-https/generate.sh | 0 .../e2e}/e2e-bare-https/pyproject.toml | 0 {e2e => framework/e2e}/e2e-bare-https/simulation.py | 0 {e2e => framework/e2e}/e2e-bare/README.md | 0 .../e2e}/e2e-bare/e2e_bare/__init__.py | 0 .../e2e}/e2e-bare/e2e_bare/client_app.py | 0 .../e2e}/e2e-bare/e2e_bare/server_app.py | 0 {e2e => framework/e2e}/e2e-bare/pyproject.toml | 0 {e2e => framework/e2e}/e2e-bare/simulation.py | 0 {e2e => framework/e2e}/e2e-fastai/README.md | 0 .../e2e}/e2e-fastai/e2e_fastai/__init__.py | 0 .../e2e}/e2e-fastai/e2e_fastai/client_app.py | 0 .../e2e}/e2e-fastai/e2e_fastai/server_app.py | 0 {e2e => framework/e2e}/e2e-fastai/pyproject.toml | 0 {e2e => framework/e2e}/e2e-fastai/simulation.py | 0 {e2e => framework/e2e}/e2e-jax/README.md | 0 {e2e => framework/e2e}/e2e-jax/e2e_jax/__init__.py | 0 .../e2e}/e2e-jax/e2e_jax/client_app.py | 0 .../e2e}/e2e-jax/e2e_jax/jax_training.py | 0 .../e2e}/e2e-jax/e2e_jax/server_app.py | 0 {e2e => framework/e2e}/e2e-jax/pyproject.toml | 0 {e2e => framework/e2e}/e2e-jax/simulation.py | 0 {e2e => framework/e2e}/e2e-opacus/.gitignore | 0 {e2e => framework/e2e}/e2e-opacus/README.md | 0 .../e2e}/e2e-opacus/e2e_opacus/__init__.py | 0 .../e2e}/e2e-opacus/e2e_opacus/client_app.py | 0 .../e2e}/e2e-opacus/e2e_opacus/server_app.py | 0 {e2e => framework/e2e}/e2e-opacus/pyproject.toml | 0 {e2e => framework/e2e}/e2e-opacus/simulation.py | 0 {e2e => framework/e2e}/e2e-pandas/README.md | 0 .../e2e}/e2e-pandas/e2e_pandas/__init__.py | 0 .../e2e}/e2e-pandas/e2e_pandas/client_app.py | 0 .../e2e}/e2e-pandas/e2e_pandas/server_app.py | 0 .../e2e}/e2e-pandas/e2e_pandas/strategy.py | 0 {e2e => framework/e2e}/e2e-pandas/pyproject.toml | 0 {e2e => framework/e2e}/e2e-pandas/simulation.py | 0 .../e2e}/e2e-pytorch-lightning/README.md | 0 .../e2e_pytorch_lightning/__init__.py | 0 .../e2e_pytorch_lightning/client_app.py | 0 .../e2e_pytorch_lightning/mnist.py | 0 .../e2e_pytorch_lightning/server_app.py | 0 .../e2e}/e2e-pytorch-lightning/pyproject.toml | 0 .../e2e}/e2e-pytorch-lightning/simulation.py | 0 {e2e => framework/e2e}/e2e-pytorch/README.md | 0 .../e2e}/e2e-pytorch/e2e_pytorch/__init__.py | 0 .../e2e}/e2e-pytorch/e2e_pytorch/client_app.py | 0 .../e2e}/e2e-pytorch/e2e_pytorch/server_app.py | 0 {e2e => framework/e2e}/e2e-pytorch/pyproject.toml | 0 {e2e => framework/e2e}/e2e-pytorch/simulation.py | 0 .../e2e}/e2e-pytorch/simulation_next.py | 0 {e2e => framework/e2e}/e2e-scikit-learn/README.md | 0 .../e2e-scikit-learn/e2e_scikit_learn/__init__.py | 0 .../e2e-scikit-learn/e2e_scikit_learn/client_app.py | 0 .../e2e-scikit-learn/e2e_scikit_learn/server_app.py | 0 .../e2e}/e2e-scikit-learn/e2e_scikit_learn/utils.py | 0 .../e2e}/e2e-scikit-learn/pyproject.toml | 0 .../e2e}/e2e-scikit-learn/simulation.py | 0 {e2e => framework/e2e}/e2e-tensorflow/README.md | 0 .../e2e}/e2e-tensorflow/e2e_tensorflow/__init__.py | 0 .../e2e-tensorflow/e2e_tensorflow/client_app.py | 0 .../e2e-tensorflow/e2e_tensorflow/server_app.py | 0 .../e2e}/e2e-tensorflow/pyproject.toml | 0 {e2e => framework/e2e}/e2e-tensorflow/simulation.py | 0 .../e2e}/e2e-tensorflow/simulation_next.py | 0 {e2e => framework/e2e}/pyproject.toml | 0 {e2e => framework/e2e}/strategies/README.md | 0 {e2e => framework/e2e}/strategies/client.py | 0 {e2e => framework/e2e}/strategies/pyproject.toml | 0 {e2e => framework/e2e}/strategies/test.py | 0 {e2e => framework/e2e}/test_exec_api.sh | 0 {e2e => framework/e2e}/test_legacy.sh | 0 {e2e => framework/e2e}/test_reconnection.sh | 0 {e2e => framework/e2e}/test_superlink.sh | 0 {src => framework/src}/cc/flwr/.gitignore | 0 {src => framework/src}/cc/flwr/CMakeLists.txt | 0 .../src}/cc/flwr/cmake/StartLibConfig.cmake.in | 0 .../src}/cc/flwr/cmake/flwrConfig.cmake.in | 0 {src => framework/src}/cc/flwr/include/client.h | 0 .../src}/cc/flwr/include/communicator.h | 0 .../cc/flwr/include/flwr/proto/error.grpc.pb.cc | 0 .../src}/cc/flwr/include/flwr/proto/error.grpc.pb.h | 0 .../src}/cc/flwr/include/flwr/proto/error.pb.cc | 0 .../src}/cc/flwr/include/flwr/proto/error.pb.h | 0 .../cc/flwr/include/flwr/proto/fleet.grpc.pb.cc | 0 .../src}/cc/flwr/include/flwr/proto/fleet.grpc.pb.h | 0 .../src}/cc/flwr/include/flwr/proto/fleet.pb.cc | 0 .../src}/cc/flwr/include/flwr/proto/fleet.pb.h | 0 .../src}/cc/flwr/include/flwr/proto/node.grpc.pb.cc | 0 .../src}/cc/flwr/include/flwr/proto/node.grpc.pb.h | 0 .../src}/cc/flwr/include/flwr/proto/node.pb.cc | 0 .../src}/cc/flwr/include/flwr/proto/node.pb.h | 0 .../cc/flwr/include/flwr/proto/recordset.grpc.pb.cc | 0 .../cc/flwr/include/flwr/proto/recordset.grpc.pb.h | 0 .../src}/cc/flwr/include/flwr/proto/recordset.pb.cc | 0 .../src}/cc/flwr/include/flwr/proto/recordset.pb.h | 0 .../src}/cc/flwr/include/flwr/proto/task.grpc.pb.cc | 0 .../src}/cc/flwr/include/flwr/proto/task.grpc.pb.h | 0 .../src}/cc/flwr/include/flwr/proto/task.pb.cc | 0 .../src}/cc/flwr/include/flwr/proto/task.pb.h | 0 .../cc/flwr/include/flwr/proto/transport.grpc.pb.cc | 0 .../cc/flwr/include/flwr/proto/transport.grpc.pb.h | 0 .../src}/cc/flwr/include/flwr/proto/transport.pb.cc | 0 .../src}/cc/flwr/include/flwr/proto/transport.pb.h | 0 {src => framework/src}/cc/flwr/include/grpc_rere.h | 0 .../src}/cc/flwr/include/message_handler.h | 0 {src => framework/src}/cc/flwr/include/serde.h | 0 {src => framework/src}/cc/flwr/include/start.h | 0 {src => framework/src}/cc/flwr/include/typing.h | 0 {src => framework/src}/cc/flwr/src/communicator.cc | 0 {src => framework/src}/cc/flwr/src/grpc_rere.cc | 0 .../src}/cc/flwr/src/message_handler.cc | 0 {src => framework/src}/cc/flwr/src/serde.cc | 0 {src => framework/src}/cc/flwr/src/start.cc | 0 {src => framework/src}/docker/base/README.md | 0 .../src}/docker/base/alpine/Dockerfile | 0 .../src}/docker/base/ubuntu-cuda/Dockerfile | 0 .../src}/docker/base/ubuntu/Dockerfile | 0 {src => framework/src}/docker/clientapp/Dockerfile | 0 {src => framework/src}/docker/clientapp/README.md | 0 {src => framework/src}/docker/complete/.gitignore | 0 {src => framework/src}/docker/complete/certs.yml | 0 {src => framework/src}/docker/complete/compose.yml | 0 .../src}/docker/complete/with-state.yml | 0 {src => framework/src}/docker/complete/with-tls.yml | 0 .../src}/docker/distributed/.gitignore | 0 {src => framework/src}/docker/distributed/certs.yml | 0 .../src}/docker/distributed/client/compose.yml | 0 .../src}/docker/distributed/server/compose.yml | 0 {src => framework/src}/docker/serverapp/Dockerfile | 0 {src => framework/src}/docker/serverapp/README.md | 0 {src => framework/src}/docker/superlink/Dockerfile | 0 {src => framework/src}/docker/superlink/README.md | 0 {src => framework/src}/docker/supernode/Dockerfile | 0 {src => framework/src}/docker/supernode/README.md | 0 {src => framework/src}/kotlin/build.gradle.kts | 0 {src => framework/src}/kotlin/flwr/build.gradle.kts | 0 .../src}/kotlin/flwr/proguard-rules.pro | 0 .../src}/kotlin/flwr/src/main/AndroidManifest.xml | 0 .../flwr/src/main/java/dev/flower/android/Client.kt | 0 .../flwr/src/main/java/dev/flower/android/Grpc.kt | 0 .../main/java/dev/flower/android/MessageHandler.kt | 0 .../flwr/src/main/java/dev/flower/android/Serde.kt | 0 .../src/main/java/dev/flower/android/TaskHandler.kt | 0 .../flwr/src/main/java/dev/flower/android/Typing.kt | 0 {src => framework/src}/kotlin/gradle.properties | 0 .../src}/kotlin/gradle/wrapper/gradle-wrapper.jar | Bin .../kotlin/gradle/wrapper/gradle-wrapper.properties | 0 {src => framework/src}/kotlin/gradlew | 0 {src => framework/src}/kotlin/gradlew.bat | 0 {src => framework/src}/kotlin/settings.gradle.kts | 0 .../src}/proto/flwr/proto/clientappio.proto | 0 {src => framework/src}/proto/flwr/proto/error.proto | 0 {src => framework/src}/proto/flwr/proto/exec.proto | 0 {src => framework/src}/proto/flwr/proto/fab.proto | 0 {src => framework/src}/proto/flwr/proto/fleet.proto | 0 .../src}/proto/flwr/proto/grpcadapter.proto | 0 {src => framework/src}/proto/flwr/proto/log.proto | 0 .../src}/proto/flwr/proto/message.proto | 0 {src => framework/src}/proto/flwr/proto/node.proto | 0 .../src}/proto/flwr/proto/recordset.proto | 0 {src => framework/src}/proto/flwr/proto/run.proto | 0 .../src}/proto/flwr/proto/serverappio.proto | 0 .../src}/proto/flwr/proto/simulationio.proto | 0 {src => framework/src}/proto/flwr/proto/task.proto | 0 .../src}/proto/flwr/proto/transport.proto | 0 {src => framework/src}/py/flwr/__init__.py | 0 {src => framework/src}/py/flwr/__init___test.py | 0 {src => framework/src}/py/flwr/cli/__init__.py | 0 {src => framework/src}/py/flwr/cli/app.py | 0 {src => framework/src}/py/flwr/cli/build.py | 0 {src => framework/src}/py/flwr/cli/config_utils.py | 0 .../src}/py/flwr/cli/config_utils_test.py | 0 {src => framework/src}/py/flwr/cli/example.py | 0 {src => framework/src}/py/flwr/cli/install.py | 0 {src => framework/src}/py/flwr/cli/log.py | 0 {src => framework/src}/py/flwr/cli/log_test.py | 0 {src => framework/src}/py/flwr/cli/ls.py | 0 {src => framework/src}/py/flwr/cli/new/__init__.py | 0 {src => framework/src}/py/flwr/cli/new/new.py | 0 {src => framework/src}/py/flwr/cli/new/new_test.py | 0 .../src}/py/flwr/cli/new/templates/__init__.py | 0 .../py/flwr/cli/new/templates/app/.gitignore.tpl | 0 .../src}/py/flwr/cli/new/templates/app/LICENSE.tpl | 0 .../cli/new/templates/app/README.baseline.md.tpl | 0 .../cli/new/templates/app/README.flowertune.md.tpl | 0 .../py/flwr/cli/new/templates/app/README.md.tpl | 0 .../src}/py/flwr/cli/new/templates/app/__init__.py | 0 .../new/templates/app/code/__init__.baseline.py.tpl | 0 .../py/flwr/cli/new/templates/app/code/__init__.py | 0 .../flwr/cli/new/templates/app/code/__init__.py.tpl | 0 .../new/templates/app/code/client.baseline.py.tpl | 0 .../templates/app/code/client.huggingface.py.tpl | 0 .../cli/new/templates/app/code/client.jax.py.tpl | 0 .../cli/new/templates/app/code/client.mlx.py.tpl | 0 .../cli/new/templates/app/code/client.numpy.py.tpl | 0 .../new/templates/app/code/client.pytorch.py.tpl | 0 .../new/templates/app/code/client.sklearn.py.tpl | 0 .../new/templates/app/code/client.tensorflow.py.tpl | 0 .../new/templates/app/code/dataset.baseline.py.tpl | 0 .../new/templates/app/code/flwr_tune/__init__.py | 0 .../templates/app/code/flwr_tune/client_app.py.tpl | 0 .../new/templates/app/code/flwr_tune/dataset.py.tpl | 0 .../new/templates/app/code/flwr_tune/models.py.tpl | 0 .../templates/app/code/flwr_tune/server_app.py.tpl | 0 .../templates/app/code/flwr_tune/strategy.py.tpl | 0 .../new/templates/app/code/model.baseline.py.tpl | 0 .../new/templates/app/code/server.baseline.py.tpl | 0 .../templates/app/code/server.huggingface.py.tpl | 0 .../cli/new/templates/app/code/server.jax.py.tpl | 0 .../cli/new/templates/app/code/server.mlx.py.tpl | 0 .../cli/new/templates/app/code/server.numpy.py.tpl | 0 .../new/templates/app/code/server.pytorch.py.tpl | 0 .../new/templates/app/code/server.sklearn.py.tpl | 0 .../new/templates/app/code/server.tensorflow.py.tpl | 0 .../new/templates/app/code/strategy.baseline.py.tpl | 0 .../new/templates/app/code/task.huggingface.py.tpl | 0 .../flwr/cli/new/templates/app/code/task.jax.py.tpl | 0 .../flwr/cli/new/templates/app/code/task.mlx.py.tpl | 0 .../cli/new/templates/app/code/task.numpy.py.tpl | 0 .../cli/new/templates/app/code/task.pytorch.py.tpl | 0 .../cli/new/templates/app/code/task.sklearn.py.tpl | 0 .../new/templates/app/code/task.tensorflow.py.tpl | 0 .../new/templates/app/code/utils.baseline.py.tpl | 0 .../new/templates/app/pyproject.baseline.toml.tpl | 0 .../new/templates/app/pyproject.flowertune.toml.tpl | 0 .../templates/app/pyproject.huggingface.toml.tpl | 0 .../cli/new/templates/app/pyproject.jax.toml.tpl | 0 .../cli/new/templates/app/pyproject.mlx.toml.tpl | 0 .../cli/new/templates/app/pyproject.numpy.toml.tpl | 0 .../new/templates/app/pyproject.pytorch.toml.tpl | 0 .../new/templates/app/pyproject.sklearn.toml.tpl | 0 .../new/templates/app/pyproject.tensorflow.toml.tpl | 0 {src => framework/src}/py/flwr/cli/run/__init__.py | 0 {src => framework/src}/py/flwr/cli/run/run.py | 0 {src => framework/src}/py/flwr/cli/utils.py | 0 {src => framework/src}/py/flwr/client/__init__.py | 0 {src => framework/src}/py/flwr/client/app.py | 0 {src => framework/src}/py/flwr/client/app_test.py | 0 {src => framework/src}/py/flwr/client/client.py | 0 {src => framework/src}/py/flwr/client/client_app.py | 0 .../src}/py/flwr/client/client_test.py | 0 .../src}/py/flwr/client/clientapp/__init__.py | 0 .../src}/py/flwr/client/clientapp/app.py | 0 .../flwr/client/clientapp/clientappio_servicer.py | 0 .../client/clientapp/clientappio_servicer_test.py | 0 .../src}/py/flwr/client/clientapp/utils.py | 0 .../src}/py/flwr/client/dpfedavg_numpy_client.py | 0 .../py/flwr/client/grpc_adapter_client/__init__.py | 0 .../flwr/client/grpc_adapter_client/connection.py | 0 .../src}/py/flwr/client/grpc_client/__init__.py | 0 .../src}/py/flwr/client/grpc_client/connection.py | 0 .../py/flwr/client/grpc_client/connection_test.py | 0 .../py/flwr/client/grpc_rere_client/__init__.py | 0 .../client/grpc_rere_client/client_interceptor.py | 0 .../grpc_rere_client/client_interceptor_test.py | 0 .../py/flwr/client/grpc_rere_client/connection.py | 0 .../py/flwr/client/grpc_rere_client/grpc_adapter.py | 0 .../client/grpc_rere_client/grpc_adapter_test.py | 0 {src => framework/src}/py/flwr/client/heartbeat.py | 0 .../src}/py/flwr/client/heartbeat_test.py | 0 .../src}/py/flwr/client/message_handler/__init__.py | 0 .../flwr/client/message_handler/message_handler.py | 0 .../client/message_handler/message_handler_test.py | 0 .../py/flwr/client/message_handler/task_handler.py | 0 .../client/message_handler/task_handler_test.py | 0 .../src}/py/flwr/client/mod/__init__.py | 0 .../src}/py/flwr/client/mod/centraldp_mods.py | 0 .../src}/py/flwr/client/mod/comms_mods.py | 0 .../src}/py/flwr/client/mod/localdp_mod.py | 0 .../flwr/client/mod/secure_aggregation/__init__.py | 0 .../client/mod/secure_aggregation/secagg_mod.py | 0 .../client/mod/secure_aggregation/secaggplus_mod.py | 0 .../mod/secure_aggregation/secaggplus_mod_test.py | 0 {src => framework/src}/py/flwr/client/mod/utils.py | 0 .../src}/py/flwr/client/mod/utils_test.py | 0 .../src}/py/flwr/client/node_state_test.py | 0 .../src}/py/flwr/client/nodestate/__init__.py | 0 .../py/flwr/client/nodestate/in_memory_nodestate.py | 0 .../src}/py/flwr/client/nodestate/nodestate.py | 0 .../py/flwr/client/nodestate/nodestate_factory.py | 0 .../src}/py/flwr/client/nodestate/nodestate_test.py | 0 .../src}/py/flwr/client/numpy_client.py | 0 .../src}/py/flwr/client/numpy_client_test.py | 0 .../src}/py/flwr/client/rest_client/__init__.py | 0 .../src}/py/flwr/client/rest_client/connection.py | 0 .../src}/py/flwr/client/run_info_store.py | 0 .../src}/py/flwr/client/supernode/__init__.py | 0 .../src}/py/flwr/client/supernode/app.py | 0 {src => framework/src}/py/flwr/client/typing.py | 0 {src => framework/src}/py/flwr/common/__init__.py | 0 {src => framework/src}/py/flwr/common/address.py | 0 .../src}/py/flwr/common/address_test.py | 0 {src => framework/src}/py/flwr/common/args.py | 0 {src => framework/src}/py/flwr/common/config.py | 0 .../src}/py/flwr/common/config_test.py | 0 {src => framework/src}/py/flwr/common/constant.py | 0 {src => framework/src}/py/flwr/common/context.py | 0 {src => framework/src}/py/flwr/common/date.py | 0 .../src}/py/flwr/common/differential_privacy.py | 0 .../flwr/common/differential_privacy_constants.py | 0 .../py/flwr/common/differential_privacy_test.py | 0 {src => framework/src}/py/flwr/common/dp.py | 0 .../src}/py/flwr/common/exit_handlers.py | 0 {src => framework/src}/py/flwr/common/grpc.py | 0 {src => framework/src}/py/flwr/common/logger.py | 0 .../src}/py/flwr/common/logger_test.py | 0 {src => framework/src}/py/flwr/common/message.py | 0 .../src}/py/flwr/common/message_test.py | 0 {src => framework/src}/py/flwr/common/object_ref.py | 0 .../src}/py/flwr/common/object_ref_test.py | 0 {src => framework/src}/py/flwr/common/parameter.py | 0 .../src}/py/flwr/common/parameter_test.py | 0 {src => framework/src}/py/flwr/common/pyproject.py | 0 .../src}/py/flwr/common/pyproject_test.py | 0 .../src}/py/flwr/common/record/__init__.py | 0 .../src}/py/flwr/common/record/configsrecord.py | 0 .../src}/py/flwr/common/record/conversion_utils.py | 0 .../py/flwr/common/record/conversion_utils_test.py | 0 .../src}/py/flwr/common/record/metricsrecord.py | 0 .../src}/py/flwr/common/record/parametersrecord.py | 0 .../py/flwr/common/record/parametersrecord_test.py | 0 .../src}/py/flwr/common/record/recordset.py | 0 .../src}/py/flwr/common/record/recordset_test.py | 0 .../src}/py/flwr/common/record/typeddict.py | 0 .../src}/py/flwr/common/recordset_compat.py | 0 .../src}/py/flwr/common/recordset_compat_test.py | 0 .../src}/py/flwr/common/retry_invoker.py | 0 .../src}/py/flwr/common/retry_invoker_test.py | 0 .../py/flwr/common/secure_aggregation/__init__.py | 0 .../common/secure_aggregation/crypto/__init__.py | 0 .../flwr/common/secure_aggregation/crypto/shamir.py | 0 .../crypto/symmetric_encryption.py | 0 .../crypto/symmetric_encryption_test.py | 0 .../secure_aggregation/ndarrays_arithmetic.py | 0 .../flwr/common/secure_aggregation/quantization.py | 0 .../secure_aggregation/secaggplus_constants.py | 0 .../common/secure_aggregation/secaggplus_utils.py | 0 {src => framework/src}/py/flwr/common/serde.py | 0 {src => framework/src}/py/flwr/common/serde_test.py | 0 {src => framework/src}/py/flwr/common/telemetry.py | 0 .../src}/py/flwr/common/telemetry_test.py | 0 {src => framework/src}/py/flwr/common/typing.py | 0 {src => framework/src}/py/flwr/common/version.py | 0 {src => framework/src}/py/flwr/proto/__init__.py | 0 .../src}/py/flwr/proto/clientappio_pb2.py | 0 .../src}/py/flwr/proto/clientappio_pb2.pyi | 0 .../src}/py/flwr/proto/clientappio_pb2_grpc.py | 0 .../src}/py/flwr/proto/clientappio_pb2_grpc.pyi | 0 {src => framework/src}/py/flwr/proto/error_pb2.py | 0 {src => framework/src}/py/flwr/proto/error_pb2.pyi | 0 .../src}/py/flwr/proto/error_pb2_grpc.py | 0 .../src}/py/flwr/proto/error_pb2_grpc.pyi | 0 {src => framework/src}/py/flwr/proto/exec_pb2.py | 0 {src => framework/src}/py/flwr/proto/exec_pb2.pyi | 0 .../src}/py/flwr/proto/exec_pb2_grpc.py | 0 .../src}/py/flwr/proto/exec_pb2_grpc.pyi | 0 {src => framework/src}/py/flwr/proto/fab_pb2.py | 0 {src => framework/src}/py/flwr/proto/fab_pb2.pyi | 0 .../src}/py/flwr/proto/fab_pb2_grpc.py | 0 .../src}/py/flwr/proto/fab_pb2_grpc.pyi | 0 {src => framework/src}/py/flwr/proto/fleet_pb2.py | 0 {src => framework/src}/py/flwr/proto/fleet_pb2.pyi | 0 .../src}/py/flwr/proto/fleet_pb2_grpc.py | 0 .../src}/py/flwr/proto/fleet_pb2_grpc.pyi | 0 .../src}/py/flwr/proto/grpcadapter_pb2.py | 0 .../src}/py/flwr/proto/grpcadapter_pb2.pyi | 0 .../src}/py/flwr/proto/grpcadapter_pb2_grpc.py | 0 .../src}/py/flwr/proto/grpcadapter_pb2_grpc.pyi | 0 {src => framework/src}/py/flwr/proto/log_pb2.py | 0 {src => framework/src}/py/flwr/proto/log_pb2.pyi | 0 .../src}/py/flwr/proto/log_pb2_grpc.py | 0 .../src}/py/flwr/proto/log_pb2_grpc.pyi | 0 {src => framework/src}/py/flwr/proto/message_pb2.py | 0 .../src}/py/flwr/proto/message_pb2.pyi | 0 .../src}/py/flwr/proto/message_pb2_grpc.py | 0 .../src}/py/flwr/proto/message_pb2_grpc.pyi | 0 {src => framework/src}/py/flwr/proto/node_pb2.py | 0 {src => framework/src}/py/flwr/proto/node_pb2.pyi | 0 .../src}/py/flwr/proto/node_pb2_grpc.py | 0 .../src}/py/flwr/proto/node_pb2_grpc.pyi | 0 .../src}/py/flwr/proto/recordset_pb2.py | 0 .../src}/py/flwr/proto/recordset_pb2.pyi | 0 .../src}/py/flwr/proto/recordset_pb2_grpc.py | 0 .../src}/py/flwr/proto/recordset_pb2_grpc.pyi | 0 {src => framework/src}/py/flwr/proto/run_pb2.py | 0 {src => framework/src}/py/flwr/proto/run_pb2.pyi | 0 .../src}/py/flwr/proto/run_pb2_grpc.py | 0 .../src}/py/flwr/proto/run_pb2_grpc.pyi | 0 .../src}/py/flwr/proto/serverappio_pb2.py | 0 .../src}/py/flwr/proto/serverappio_pb2.pyi | 0 .../src}/py/flwr/proto/serverappio_pb2_grpc.py | 0 .../src}/py/flwr/proto/serverappio_pb2_grpc.pyi | 0 .../src}/py/flwr/proto/simulationio_pb2.py | 0 .../src}/py/flwr/proto/simulationio_pb2.pyi | 0 .../src}/py/flwr/proto/simulationio_pb2_grpc.py | 0 .../src}/py/flwr/proto/simulationio_pb2_grpc.pyi | 0 {src => framework/src}/py/flwr/proto/task_pb2.py | 0 {src => framework/src}/py/flwr/proto/task_pb2.pyi | 0 .../src}/py/flwr/proto/task_pb2_grpc.py | 0 .../src}/py/flwr/proto/task_pb2_grpc.pyi | 0 .../src}/py/flwr/proto/transport_pb2.py | 0 .../src}/py/flwr/proto/transport_pb2.pyi | 0 .../src}/py/flwr/proto/transport_pb2_grpc.py | 0 .../src}/py/flwr/proto/transport_pb2_grpc.pyi | 0 {src => framework/src}/py/flwr/py.typed | 0 {src => framework/src}/py/flwr/server/__init__.py | 0 {src => framework/src}/py/flwr/server/app.py | 0 .../src}/py/flwr/server/client_manager.py | 0 .../src}/py/flwr/server/client_manager_test.py | 0 .../src}/py/flwr/server/client_proxy.py | 0 .../src}/py/flwr/server/client_proxy_test.py | 0 .../src}/py/flwr/server/compat/__init__.py | 0 {src => framework/src}/py/flwr/server/compat/app.py | 0 .../src}/py/flwr/server/compat/app_utils.py | 0 .../src}/py/flwr/server/compat/app_utils_test.py | 0 .../py/flwr/server/compat/driver_client_proxy.py | 0 .../flwr/server/compat/driver_client_proxy_test.py | 0 .../src}/py/flwr/server/compat/legacy_context.py | 0 {src => framework/src}/py/flwr/server/criterion.py | 0 .../src}/py/flwr/server/criterion_test.py | 0 .../src}/py/flwr/server/driver/__init__.py | 0 .../src}/py/flwr/server/driver/driver.py | 0 .../src}/py/flwr/server/driver/grpc_driver.py | 0 .../src}/py/flwr/server/driver/grpc_driver_test.py | 0 .../src}/py/flwr/server/driver/inmemory_driver.py | 0 .../py/flwr/server/driver/inmemory_driver_test.py | 0 {src => framework/src}/py/flwr/server/history.py | 0 .../src}/py/flwr/server/history_test.py | 0 .../src}/py/flwr/server/run_serverapp.py | 0 {src => framework/src}/py/flwr/server/server.py | 0 {src => framework/src}/py/flwr/server/server_app.py | 0 .../src}/py/flwr/server/server_app_test.py | 0 .../src}/py/flwr/server/server_config.py | 0 .../src}/py/flwr/server/server_test.py | 0 .../src}/py/flwr/server/serverapp/__init__.py | 0 .../src}/py/flwr/server/serverapp/app.py | 0 .../src}/py/flwr/server/serverapp_components.py | 0 .../src}/py/flwr/server/strategy/__init__.py | 0 .../src}/py/flwr/server/strategy/aggregate.py | 0 .../src}/py/flwr/server/strategy/aggregate_test.py | 0 .../src}/py/flwr/server/strategy/bulyan.py | 0 .../src}/py/flwr/server/strategy/bulyan_test.py | 0 .../py/flwr/server/strategy/dp_adaptive_clipping.py | 0 .../py/flwr/server/strategy/dp_fixed_clipping.py | 0 .../py/flwr/server/strategy/dpfedavg_adaptive.py | 0 .../src}/py/flwr/server/strategy/dpfedavg_fixed.py | 0 .../flwr/server/strategy/fault_tolerant_fedavg.py | 0 .../server/strategy/fault_tolerant_fedavg_test.py | 0 .../src}/py/flwr/server/strategy/fedadagrad.py | 0 .../src}/py/flwr/server/strategy/fedadagrad_test.py | 0 .../src}/py/flwr/server/strategy/fedadam.py | 0 .../src}/py/flwr/server/strategy/fedavg.py | 0 .../src}/py/flwr/server/strategy/fedavg_android.py | 0 .../src}/py/flwr/server/strategy/fedavg_test.py | 0 .../src}/py/flwr/server/strategy/fedavgm.py | 0 .../src}/py/flwr/server/strategy/fedavgm_test.py | 0 .../src}/py/flwr/server/strategy/fedmedian.py | 0 .../src}/py/flwr/server/strategy/fedmedian_test.py | 0 .../src}/py/flwr/server/strategy/fedopt.py | 0 .../src}/py/flwr/server/strategy/fedprox.py | 0 .../src}/py/flwr/server/strategy/fedtrimmedavg.py | 0 .../src}/py/flwr/server/strategy/fedxgb_bagging.py | 0 .../src}/py/flwr/server/strategy/fedxgb_cyclic.py | 0 .../src}/py/flwr/server/strategy/fedxgb_nn_avg.py | 0 .../src}/py/flwr/server/strategy/fedyogi.py | 0 .../src}/py/flwr/server/strategy/krum.py | 0 .../src}/py/flwr/server/strategy/krum_test.py | 0 .../src}/py/flwr/server/strategy/multikrum_test.py | 0 .../src}/py/flwr/server/strategy/qfedavg.py | 0 .../src}/py/flwr/server/strategy/strategy.py | 0 .../src}/py/flwr/server/superlink/__init__.py | 0 .../py/flwr/server/superlink/driver/__init__.py | 0 .../server/superlink/driver/serverappio_grpc.py | 0 .../server/superlink/driver/serverappio_servicer.py | 0 .../superlink/driver/serverappio_servicer_test.py | 0 .../src}/py/flwr/server/superlink/ffs/__init__.py | 0 .../src}/py/flwr/server/superlink/ffs/disk_ffs.py | 0 .../src}/py/flwr/server/superlink/ffs/ffs.py | 0 .../py/flwr/server/superlink/ffs/ffs_factory.py | 0 .../flwr/server/superlink/ffs/ffs_factory_test.py | 0 .../src}/py/flwr/server/superlink/ffs/ffs_test.py | 0 .../src}/py/flwr/server/superlink/fleet/__init__.py | 0 .../server/superlink/fleet/grpc_adapter/__init__.py | 0 .../fleet/grpc_adapter/grpc_adapter_servicer.py | 0 .../server/superlink/fleet/grpc_bidi/__init__.py | 0 .../fleet/grpc_bidi/flower_service_servicer.py | 0 .../fleet/grpc_bidi/flower_service_servicer_test.py | 0 .../server/superlink/fleet/grpc_bidi/grpc_bridge.py | 0 .../superlink/fleet/grpc_bidi/grpc_bridge_test.py | 0 .../superlink/fleet/grpc_bidi/grpc_client_proxy.py | 0 .../fleet/grpc_bidi/grpc_client_proxy_test.py | 0 .../server/superlink/fleet/grpc_bidi/grpc_server.py | 0 .../superlink/fleet/grpc_bidi/grpc_server_test.py | 0 .../server/superlink/fleet/grpc_rere/__init__.py | 0 .../superlink/fleet/grpc_rere/fleet_servicer.py | 0 .../superlink/fleet/grpc_rere/server_interceptor.py | 0 .../fleet/grpc_rere/server_interceptor_test.py | 0 .../superlink/fleet/message_handler/__init__.py | 0 .../fleet/message_handler/message_handler.py | 0 .../fleet/message_handler/message_handler_test.py | 0 .../server/superlink/fleet/rest_rere/__init__.py | 0 .../server/superlink/fleet/rest_rere/rest_api.py | 0 .../py/flwr/server/superlink/fleet/vce/__init__.py | 0 .../server/superlink/fleet/vce/backend/__init__.py | 0 .../server/superlink/fleet/vce/backend/backend.py | 0 .../superlink/fleet/vce/backend/raybackend.py | 0 .../superlink/fleet/vce/backend/raybackend_test.py | 0 .../py/flwr/server/superlink/fleet/vce/vce_api.py | 0 .../flwr/server/superlink/fleet/vce/vce_api_test.py | 0 .../py/flwr/server/superlink/linkstate/__init__.py | 0 .../superlink/linkstate/in_memory_linkstate.py | 0 .../py/flwr/server/superlink/linkstate/linkstate.py | 0 .../server/superlink/linkstate/linkstate_factory.py | 0 .../server/superlink/linkstate/linkstate_test.py | 0 .../server/superlink/linkstate/sqlite_linkstate.py | 0 .../superlink/linkstate/sqlite_linkstate_test.py | 0 .../py/flwr/server/superlink/linkstate/utils.py | 0 .../flwr/server/superlink/linkstate/utils_test.py | 0 .../py/flwr/server/superlink/simulation/__init__.py | 0 .../superlink/simulation/simulationio_grpc.py | 0 .../superlink/simulation/simulationio_servicer.py | 0 {src => framework/src}/py/flwr/server/typing.py | 0 .../src}/py/flwr/server/utils/__init__.py | 0 .../src}/py/flwr/server/utils/tensorboard.py | 0 .../src}/py/flwr/server/utils/tensorboard_test.py | 0 .../src}/py/flwr/server/utils/validator.py | 0 .../src}/py/flwr/server/utils/validator_test.py | 0 .../src}/py/flwr/server/workflow/__init__.py | 0 .../src}/py/flwr/server/workflow/constant.py | 0 .../py/flwr/server/workflow/default_workflows.py | 0 .../server/workflow/secure_aggregation/__init__.py | 0 .../workflow/secure_aggregation/secagg_workflow.py | 0 .../secure_aggregation/secaggplus_workflow.py | 0 .../src}/py/flwr/simulation/__init__.py | 0 {src => framework/src}/py/flwr/simulation/app.py | 0 .../src}/py/flwr/simulation/legacy_app.py | 0 .../py/flwr/simulation/ray_transport/__init__.py | 0 .../py/flwr/simulation/ray_transport/ray_actor.py | 0 .../simulation/ray_transport/ray_client_proxy.py | 0 .../ray_transport/ray_client_proxy_test.py | 0 .../src}/py/flwr/simulation/ray_transport/utils.py | 0 .../src}/py/flwr/simulation/run_simulation.py | 0 .../py/flwr/simulation/simulationio_connection.py | 0 .../src}/py/flwr/superexec/__init__.py | 0 {src => framework/src}/py/flwr/superexec/app.py | 0 .../src}/py/flwr/superexec/deployment.py | 0 .../src}/py/flwr/superexec/exec_grpc.py | 0 .../src}/py/flwr/superexec/exec_servicer.py | 0 .../src}/py/flwr/superexec/exec_servicer_test.py | 0 .../src}/py/flwr/superexec/executor.py | 0 .../src}/py/flwr/superexec/simulation.py | 0 {src => framework/src}/py/flwr_tool/__init__.py | 0 .../src}/py/flwr_tool/check_copyright.py | 0 .../src}/py/flwr_tool/fix_copyright.py | 0 .../src}/py/flwr_tool/init_py_check.py | 0 {src => framework/src}/py/flwr_tool/init_py_fix.py | 0 {src => framework/src}/py/flwr_tool/protoc.py | 0 {src => framework/src}/py/flwr_tool/protoc_test.py | 0 {src => framework/src}/swift/flwr/.gitignore | 0 {src => framework/src}/swift/flwr/Package.swift | 0 {src => framework/src}/swift/flwr/README.md | 0 .../swift/flwr/Sources/Flower/Client/Client.swift | 0 .../flwr/Sources/Flower/Common/Exception.swift | 0 .../flwr/Sources/Flower/Common/Parameter.swift | 0 .../swift/flwr/Sources/Flower/Common/Serde.swift | 0 .../swift/flwr/Sources/Flower/Common/Typing.swift | 0 .../Sources/Flower/FlowerProto/transport.grpc.swift | 0 .../Sources/Flower/FlowerProto/transport.pb.swift | 0 .../swift/flwr/Sources/Flower/GRPC/FlwrGRPC.swift | 0 .../Sources/Flower/GRPC/InterceptorExtension.swift | 0 .../flwr/Sources/Flower/GRPC/Interceptors.swift | 0 .../flwr/Sources/Flower/GRPC/MessageHandler.swift | 0 .../swift/flwr/Sources/Flower/flwr.docc/flwr.md | 0 .../swift/flwr/Tests/FlowerTests/FlowerTests.swift | 0 768 files changed, 0 insertions(+), 0 deletions(-) rename {dev => framework/dev}/add-swift-api-footer.sh (100%) rename {dev => framework/dev}/bootstrap.sh (100%) rename {dev => framework/dev}/build-baseline-docs.sh (100%) rename {dev => framework/dev}/build-docker-image-matrix.py (100%) rename {dev => framework/dev}/build-docs.sh (100%) rename {dev => framework/dev}/build-example-docs.py (100%) rename {dev => framework/dev}/build-swift-api-ref.sh (100%) rename {dev => framework/dev}/build.sh (100%) rename {dev => framework/dev}/certificates/certificate.conf (100%) rename {dev => framework/dev}/certificates/generate.sh (100%) rename {dev => framework/dev}/changelog_config.toml (100%) rename {dev => framework/dev}/check-protos.sh (100%) rename {dev => framework/dev}/check-requirements-txt.sh (100%) rename {dev => framework/dev}/check_pr_title.py (100%) rename {dev => framework/dev}/deploy-swift-docs.sh (100%) rename {dev => framework/dev}/fnt.sh (100%) rename {dev => framework/dev}/format.sh (100%) rename {dev => framework/dev}/generate-requirements-txt.sh (100%) rename {dev => framework/dev}/get-latest-changelog.sh (100%) rename {dev => framework/dev}/install-cuda-step-1.sh (100%) rename {dev => framework/dev}/install-cuda-step-2.sh (100%) rename {dev => framework/dev}/plot.sh (100%) rename {dev => framework/dev}/publish-nightly.sh (100%) rename {dev => framework/dev}/rm-caches.sh (100%) rename {dev => framework/dev}/setup-defaults.sh (100%) rename {dev => framework/dev}/setup-envs.sh (100%) rename {dev => framework/dev}/swift-docs-resources/footer.css (100%) rename {dev => framework/dev}/swift-docs-resources/footer.html (100%) rename {dev => framework/dev}/swift-docs-resources/logo_secondary-w-border.png (100%) rename {dev => framework/dev}/test-copyright.sh (100%) rename {dev => framework/dev}/test-tool.sh (100%) rename {dev => framework/dev}/test-wheel.sh (100%) rename {dev => framework/dev}/test.sh (100%) rename {dev => framework/dev}/update_changelog.py (100%) rename {dev => framework/dev}/update_python.py (100%) rename {dev => framework/dev}/update_version.py (100%) rename {dev => framework/dev}/venv-create.sh (100%) rename {dev => framework/dev}/venv-delete.sh (100%) rename {dev => framework/dev}/venv-reset.sh (100%) rename {doc => framework/doc}/Makefile (100%) rename {doc => framework/doc}/build-versioned-docs.sh (100%) rename {doc => framework/doc}/locales/fr/LC_MESSAGES/framework-docs.po (100%) rename {doc => framework/doc}/locales/fr/LC_MESSAGES/sphinx.po (100%) rename {doc => framework/doc}/locales/ko/LC_MESSAGES/framework-docs.po (100%) rename {doc => framework/doc}/locales/ko/LC_MESSAGES/sphinx.po (100%) rename {doc => framework/doc}/locales/pt_BR/LC_MESSAGES/framework-docs.po (100%) rename {doc => framework/doc}/locales/pt_BR/LC_MESSAGES/sphinx.po (100%) rename {doc => framework/doc}/locales/zh_Hans/LC_MESSAGES/framework-docs.po (100%) rename {doc => framework/doc}/locales/zh_Hans/LC_MESSAGES/sphinx.po (100%) rename {doc => framework/doc}/make.bat (100%) rename {doc => framework/doc}/source/.gitignore (100%) rename {doc => framework/doc}/source/_static/DP/CDP.png (100%) rename {doc => framework/doc}/source/_static/DP/LDP.png (100%) rename {doc => framework/doc}/source/_static/DP/clientsideCDP.png (100%) rename {doc => framework/doc}/source/_static/DP/clipping.png (100%) rename {doc => framework/doc}/source/_static/DP/dp-intro.png (100%) rename {doc => framework/doc}/source/_static/DP/localdp.png (100%) rename {doc => framework/doc}/source/_static/DP/serversideCDP.png (100%) rename {doc => framework/doc}/source/_static/changes_requested.png (100%) rename {doc => framework/doc}/source/_static/cloning_fork.png (100%) rename {doc => framework/doc}/source/_static/cloning_repo.png (100%) rename {doc => framework/doc}/source/_static/compare_and_pr.png (100%) rename {doc => framework/doc}/source/_static/creating_pr.png (100%) rename {doc => framework/doc}/source/_static/custom.css (100%) rename {doc => framework/doc}/source/_static/draft_pr.png (100%) rename {doc => framework/doc}/source/_static/favicon.ico (100%) rename {doc => framework/doc}/source/_static/flower-actors.drawio.png (100%) rename {doc => framework/doc}/source/_static/flower-architecture-basic-architecture.svg (100%) rename {doc => framework/doc}/source/_static/flower-architecture-hub-and-spoke.svg (100%) rename {doc => framework/doc}/source/_static/flower-architecture-multi-run-1.svg (100%) rename {doc => framework/doc}/source/_static/flower-architecture-multi-run-2.svg (100%) rename {doc => framework/doc}/source/_static/flower-architecture-multi-run.svg (100%) rename {doc => framework/doc}/source/_static/flower-logo.png (100%) rename {doc => framework/doc}/source/_static/fork_button.png (100%) rename {doc => framework/doc}/source/_static/fork_link.png (100%) rename {doc => framework/doc}/source/_static/forking-repo.png (100%) rename {doc => framework/doc}/source/_static/github_schema.png (100%) rename {doc => framework/doc}/source/_static/make_changes.png (100%) rename {doc => framework/doc}/source/_static/merging_branch.png (100%) rename {doc => framework/doc}/source/_static/merging_pr.png (100%) rename {doc => framework/doc}/source/_static/opened_pr.png (100%) rename {doc => framework/doc}/source/_static/opening-pr.png (100%) rename {doc => framework/doc}/source/_static/resolve_conv.png (100%) rename {doc => framework/doc}/source/_static/tutorial/central-model-training.png (100%) rename {doc => framework/doc}/source/_static/tutorial/centralized-impossible.png (100%) rename {doc => framework/doc}/source/_static/tutorial/centralized-possible.png (100%) rename {doc => framework/doc}/source/_static/tutorial/collect-data.png (100%) rename {doc => framework/doc}/source/_static/tutorial/data-on-phone.png (100%) rename {doc => framework/doc}/source/_static/tutorial/fl-aggregate-model-updates.png (100%) rename {doc => framework/doc}/source/_static/tutorial/fl-initialize-global-model.png (100%) rename {doc => framework/doc}/source/_static/tutorial/fl-local-training.png (100%) rename {doc => framework/doc}/source/_static/tutorial/fl-send-global-model.png (100%) rename {doc => framework/doc}/source/_static/tutorial/fl-send-model-updates.png (100%) rename {doc => framework/doc}/source/_static/tutorial/flower-any.jpeg (100%) rename {doc => framework/doc}/source/_static/tutorial/many-devices-with-data.png (100%) rename {doc => framework/doc}/source/_static/tutorial/model-and-data.png (100%) rename {doc => framework/doc}/source/_static/tutorial/train-model.png (100%) rename {doc => framework/doc}/source/_static/upstream_link.png (100%) rename {doc => framework/doc}/source/_static/weblate_interface.png (100%) rename {doc => framework/doc}/source/_static/weblate_status.png (100%) rename {doc => framework/doc}/source/_templates/autosummary/base.rst (100%) rename {doc => framework/doc}/source/_templates/autosummary/class.rst (100%) rename {doc => framework/doc}/source/_templates/autosummary/module.rst (100%) rename {doc => framework/doc}/source/_templates/base.html (100%) rename {doc => framework/doc}/source/_templates/sidebar/brand.html (100%) rename {doc => framework/doc}/source/_templates/sidebar/lang.html (100%) rename {doc => framework/doc}/source/_templates/sidebar/search.html (100%) rename {doc => framework/doc}/source/_templates/sidebar/versioning.html (100%) rename {doc => framework/doc}/source/conf.py (100%) rename {doc => framework/doc}/source/contributor-explanation-public-and-private-apis.rst (100%) rename {doc => framework/doc}/source/contributor-how-to-build-docker-images.rst (100%) rename {doc => framework/doc}/source/contributor-how-to-contribute-translations.rst (100%) rename {doc => framework/doc}/source/contributor-how-to-develop-in-vscode-dev-containers.rst (100%) rename {doc => framework/doc}/source/contributor-how-to-install-development-versions.rst (100%) rename {doc => framework/doc}/source/contributor-how-to-release-flower.rst (100%) rename {doc => framework/doc}/source/contributor-how-to-set-up-a-virtual-env.rst (100%) rename {doc => framework/doc}/source/contributor-how-to-write-documentation.rst (100%) rename {doc => framework/doc}/source/contributor-ref-good-first-contributions.rst (100%) rename {doc => framework/doc}/source/contributor-ref-secure-aggregation-protocols.rst (100%) rename {doc => framework/doc}/source/contributor-tutorial-contribute-on-github.rst (100%) rename {doc => framework/doc}/source/contributor-tutorial-get-started-as-a-contributor.rst (100%) rename {doc => framework/doc}/source/docker/enable-tls.rst (100%) rename {doc => framework/doc}/source/docker/index.rst (100%) rename {doc => framework/doc}/source/docker/persist-superlink-state.rst (100%) rename {doc => framework/doc}/source/docker/pin-version.rst (100%) rename {doc => framework/doc}/source/docker/run-as-root-user.rst (100%) rename {doc => framework/doc}/source/docker/run-as-subprocess.rst (100%) rename {doc => framework/doc}/source/docker/run-quickstart-examples-docker-compose.rst (100%) rename {doc => framework/doc}/source/docker/set-environment-variables.rst (100%) rename {doc => framework/doc}/source/docker/tutorial-deploy-on-multiple-machines.rst (100%) rename {doc => framework/doc}/source/docker/tutorial-quickstart-docker-compose.rst (100%) rename {doc => framework/doc}/source/docker/tutorial-quickstart-docker.rst (100%) rename {doc => framework/doc}/source/docker/use-a-different-version.rst (100%) rename {doc => framework/doc}/source/explanation-differential-privacy.rst (100%) rename {doc => framework/doc}/source/explanation-federated-evaluation.rst (100%) rename {doc => framework/doc}/source/explanation-flower-architecture.rst (100%) rename {doc => framework/doc}/source/how-to-aggregate-evaluation-results.rst (100%) rename {doc => framework/doc}/source/how-to-authenticate-supernodes.rst (100%) rename {doc => framework/doc}/source/how-to-configure-clients.rst (100%) rename {doc => framework/doc}/source/how-to-design-stateful-clients.rst (100%) rename {doc => framework/doc}/source/how-to-enable-tls-connections.rst (100%) rename {doc => framework/doc}/source/how-to-implement-fedbn.rst (100%) rename {doc => framework/doc}/source/how-to-implement-strategies.rst (100%) rename {doc => framework/doc}/source/how-to-install-flower.rst (100%) rename {doc => framework/doc}/source/how-to-run-simulations.rst (100%) rename {doc => framework/doc}/source/how-to-save-and-load-model-checkpoints.rst (100%) rename {doc => framework/doc}/source/how-to-upgrade-to-flower-1.0.rst (100%) rename {doc => framework/doc}/source/how-to-upgrade-to-flower-1.13.rst (100%) rename {doc => framework/doc}/source/how-to-use-built-in-mods.rst (100%) rename {doc => framework/doc}/source/how-to-use-differential-privacy.rst (100%) rename {doc => framework/doc}/source/how-to-use-strategies.rst (100%) rename {doc => framework/doc}/source/index.rst (100%) rename {doc => framework/doc}/source/ref-api-cli.rst (100%) rename {doc => framework/doc}/source/ref-changelog.md (100%) rename {doc => framework/doc}/source/ref-example-projects.rst (100%) rename {doc => framework/doc}/source/ref-faq.rst (100%) rename {doc => framework/doc}/source/ref-telemetry.md (100%) rename {doc => framework/doc}/source/tutorial-quickstart-android.rst (100%) rename {doc => framework/doc}/source/tutorial-quickstart-fastai.rst (100%) rename {doc => framework/doc}/source/tutorial-quickstart-huggingface.rst (100%) rename {doc => framework/doc}/source/tutorial-quickstart-ios.rst (100%) rename {doc => framework/doc}/source/tutorial-quickstart-jax.rst (100%) rename {doc => framework/doc}/source/tutorial-quickstart-mlx.rst (100%) rename {doc => framework/doc}/source/tutorial-quickstart-pandas.rst (100%) rename {doc => framework/doc}/source/tutorial-quickstart-pytorch-lightning.rst (100%) rename {doc => framework/doc}/source/tutorial-quickstart-pytorch.rst (100%) rename {doc => framework/doc}/source/tutorial-quickstart-scikitlearn.rst (100%) rename {doc => framework/doc}/source/tutorial-quickstart-tensorflow.rst (100%) rename {doc => framework/doc}/source/tutorial-quickstart-xgboost.rst (100%) rename {doc => framework/doc}/source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb (100%) rename {doc => framework/doc}/source/tutorial-series-customize-the-client-pytorch.ipynb (100%) rename {doc => framework/doc}/source/tutorial-series-get-started-with-flower-pytorch.ipynb (100%) rename {doc => framework/doc}/source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb (100%) rename {doc => framework/doc}/source/tutorial-series-what-is-federated-learning.ipynb (100%) rename {e2e => framework/e2e}/README.md (100%) rename {e2e => framework/e2e}/docker/README.md (100%) rename {e2e => framework/e2e}/docker/client.py (100%) rename {e2e => framework/e2e}/docker/compose.yaml (100%) rename {e2e => framework/e2e}/docker/pyproject.toml (100%) rename {e2e => framework/e2e}/docker/server.py (100%) rename {e2e => framework/e2e}/docker/serverapp.Dockerfile (100%) rename {e2e => framework/e2e}/docker/supernode.Dockerfile (100%) rename {e2e => framework/e2e}/e2e-bare-auth/README.md (100%) rename {e2e => framework/e2e}/e2e-bare-auth/certificate.conf (100%) rename {e2e => framework/e2e}/e2e-bare-auth/e2e_bare_auth/__init__.py (100%) rename {e2e => framework/e2e}/e2e-bare-auth/e2e_bare_auth/client_app.py (100%) rename {e2e => framework/e2e}/e2e-bare-auth/e2e_bare_auth/server_app.py (100%) rename {e2e => framework/e2e}/e2e-bare-auth/generate.sh (100%) rename {e2e => framework/e2e}/e2e-bare-auth/pyproject.toml (100%) rename {e2e => framework/e2e}/e2e-bare-https/README.md (100%) rename {e2e => framework/e2e}/e2e-bare-https/certificate.conf (100%) rename {e2e => framework/e2e}/e2e-bare-https/e2e_bare_https/__init__.py (100%) rename {e2e => framework/e2e}/e2e-bare-https/e2e_bare_https/client_app.py (100%) rename {e2e => framework/e2e}/e2e-bare-https/e2e_bare_https/server_app.py (100%) rename {e2e => framework/e2e}/e2e-bare-https/generate.sh (100%) rename {e2e => framework/e2e}/e2e-bare-https/pyproject.toml (100%) rename {e2e => framework/e2e}/e2e-bare-https/simulation.py (100%) rename {e2e => framework/e2e}/e2e-bare/README.md (100%) rename {e2e => framework/e2e}/e2e-bare/e2e_bare/__init__.py (100%) rename {e2e => framework/e2e}/e2e-bare/e2e_bare/client_app.py (100%) rename {e2e => framework/e2e}/e2e-bare/e2e_bare/server_app.py (100%) rename {e2e => framework/e2e}/e2e-bare/pyproject.toml (100%) rename {e2e => framework/e2e}/e2e-bare/simulation.py (100%) rename {e2e => framework/e2e}/e2e-fastai/README.md (100%) rename {e2e => framework/e2e}/e2e-fastai/e2e_fastai/__init__.py (100%) rename {e2e => framework/e2e}/e2e-fastai/e2e_fastai/client_app.py (100%) rename {e2e => framework/e2e}/e2e-fastai/e2e_fastai/server_app.py (100%) rename {e2e => framework/e2e}/e2e-fastai/pyproject.toml (100%) rename {e2e => framework/e2e}/e2e-fastai/simulation.py (100%) rename {e2e => framework/e2e}/e2e-jax/README.md (100%) rename {e2e => framework/e2e}/e2e-jax/e2e_jax/__init__.py (100%) rename {e2e => framework/e2e}/e2e-jax/e2e_jax/client_app.py (100%) rename {e2e => framework/e2e}/e2e-jax/e2e_jax/jax_training.py (100%) rename {e2e => framework/e2e}/e2e-jax/e2e_jax/server_app.py (100%) rename {e2e => framework/e2e}/e2e-jax/pyproject.toml (100%) rename {e2e => framework/e2e}/e2e-jax/simulation.py (100%) rename {e2e => framework/e2e}/e2e-opacus/.gitignore (100%) rename {e2e => framework/e2e}/e2e-opacus/README.md (100%) rename {e2e => framework/e2e}/e2e-opacus/e2e_opacus/__init__.py (100%) rename {e2e => framework/e2e}/e2e-opacus/e2e_opacus/client_app.py (100%) rename {e2e => framework/e2e}/e2e-opacus/e2e_opacus/server_app.py (100%) rename {e2e => framework/e2e}/e2e-opacus/pyproject.toml (100%) rename {e2e => framework/e2e}/e2e-opacus/simulation.py (100%) rename {e2e => framework/e2e}/e2e-pandas/README.md (100%) rename {e2e => framework/e2e}/e2e-pandas/e2e_pandas/__init__.py (100%) rename {e2e => framework/e2e}/e2e-pandas/e2e_pandas/client_app.py (100%) rename {e2e => framework/e2e}/e2e-pandas/e2e_pandas/server_app.py (100%) rename {e2e => framework/e2e}/e2e-pandas/e2e_pandas/strategy.py (100%) rename {e2e => framework/e2e}/e2e-pandas/pyproject.toml (100%) rename {e2e => framework/e2e}/e2e-pandas/simulation.py (100%) rename {e2e => framework/e2e}/e2e-pytorch-lightning/README.md (100%) rename {e2e => framework/e2e}/e2e-pytorch-lightning/e2e_pytorch_lightning/__init__.py (100%) rename {e2e => framework/e2e}/e2e-pytorch-lightning/e2e_pytorch_lightning/client_app.py (100%) rename {e2e => framework/e2e}/e2e-pytorch-lightning/e2e_pytorch_lightning/mnist.py (100%) rename {e2e => framework/e2e}/e2e-pytorch-lightning/e2e_pytorch_lightning/server_app.py (100%) rename {e2e => framework/e2e}/e2e-pytorch-lightning/pyproject.toml (100%) rename {e2e => framework/e2e}/e2e-pytorch-lightning/simulation.py (100%) rename {e2e => framework/e2e}/e2e-pytorch/README.md (100%) rename {e2e => framework/e2e}/e2e-pytorch/e2e_pytorch/__init__.py (100%) rename {e2e => framework/e2e}/e2e-pytorch/e2e_pytorch/client_app.py (100%) rename {e2e => framework/e2e}/e2e-pytorch/e2e_pytorch/server_app.py (100%) rename {e2e => framework/e2e}/e2e-pytorch/pyproject.toml (100%) rename {e2e => framework/e2e}/e2e-pytorch/simulation.py (100%) rename {e2e => framework/e2e}/e2e-pytorch/simulation_next.py (100%) rename {e2e => framework/e2e}/e2e-scikit-learn/README.md (100%) rename {e2e => framework/e2e}/e2e-scikit-learn/e2e_scikit_learn/__init__.py (100%) rename {e2e => framework/e2e}/e2e-scikit-learn/e2e_scikit_learn/client_app.py (100%) rename {e2e => framework/e2e}/e2e-scikit-learn/e2e_scikit_learn/server_app.py (100%) rename {e2e => framework/e2e}/e2e-scikit-learn/e2e_scikit_learn/utils.py (100%) rename {e2e => framework/e2e}/e2e-scikit-learn/pyproject.toml (100%) rename {e2e => framework/e2e}/e2e-scikit-learn/simulation.py (100%) rename {e2e => framework/e2e}/e2e-tensorflow/README.md (100%) rename {e2e => framework/e2e}/e2e-tensorflow/e2e_tensorflow/__init__.py (100%) rename {e2e => framework/e2e}/e2e-tensorflow/e2e_tensorflow/client_app.py (100%) rename {e2e => framework/e2e}/e2e-tensorflow/e2e_tensorflow/server_app.py (100%) rename {e2e => framework/e2e}/e2e-tensorflow/pyproject.toml (100%) rename {e2e => framework/e2e}/e2e-tensorflow/simulation.py (100%) rename {e2e => framework/e2e}/e2e-tensorflow/simulation_next.py (100%) rename {e2e => framework/e2e}/pyproject.toml (100%) rename {e2e => framework/e2e}/strategies/README.md (100%) rename {e2e => framework/e2e}/strategies/client.py (100%) rename {e2e => framework/e2e}/strategies/pyproject.toml (100%) rename {e2e => framework/e2e}/strategies/test.py (100%) rename {e2e => framework/e2e}/test_exec_api.sh (100%) rename {e2e => framework/e2e}/test_legacy.sh (100%) rename {e2e => framework/e2e}/test_reconnection.sh (100%) rename {e2e => framework/e2e}/test_superlink.sh (100%) rename {src => framework/src}/cc/flwr/.gitignore (100%) rename {src => framework/src}/cc/flwr/CMakeLists.txt (100%) rename {src => framework/src}/cc/flwr/cmake/StartLibConfig.cmake.in (100%) rename {src => framework/src}/cc/flwr/cmake/flwrConfig.cmake.in (100%) rename {src => framework/src}/cc/flwr/include/client.h (100%) rename {src => framework/src}/cc/flwr/include/communicator.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/error.grpc.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/error.grpc.pb.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/error.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/error.pb.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/fleet.grpc.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/fleet.grpc.pb.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/fleet.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/fleet.pb.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/node.grpc.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/node.grpc.pb.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/node.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/node.pb.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/recordset.grpc.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/recordset.grpc.pb.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/recordset.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/recordset.pb.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/task.grpc.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/task.grpc.pb.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/task.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/task.pb.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/transport.grpc.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/transport.grpc.pb.h (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/transport.pb.cc (100%) rename {src => framework/src}/cc/flwr/include/flwr/proto/transport.pb.h (100%) rename {src => framework/src}/cc/flwr/include/grpc_rere.h (100%) rename {src => framework/src}/cc/flwr/include/message_handler.h (100%) rename {src => framework/src}/cc/flwr/include/serde.h (100%) rename {src => framework/src}/cc/flwr/include/start.h (100%) rename {src => framework/src}/cc/flwr/include/typing.h (100%) rename {src => framework/src}/cc/flwr/src/communicator.cc (100%) rename {src => framework/src}/cc/flwr/src/grpc_rere.cc (100%) rename {src => framework/src}/cc/flwr/src/message_handler.cc (100%) rename {src => framework/src}/cc/flwr/src/serde.cc (100%) rename {src => framework/src}/cc/flwr/src/start.cc (100%) rename {src => framework/src}/docker/base/README.md (100%) rename {src => framework/src}/docker/base/alpine/Dockerfile (100%) rename {src => framework/src}/docker/base/ubuntu-cuda/Dockerfile (100%) rename {src => framework/src}/docker/base/ubuntu/Dockerfile (100%) rename {src => framework/src}/docker/clientapp/Dockerfile (100%) rename {src => framework/src}/docker/clientapp/README.md (100%) rename {src => framework/src}/docker/complete/.gitignore (100%) rename {src => framework/src}/docker/complete/certs.yml (100%) rename {src => framework/src}/docker/complete/compose.yml (100%) rename {src => framework/src}/docker/complete/with-state.yml (100%) rename {src => framework/src}/docker/complete/with-tls.yml (100%) rename {src => framework/src}/docker/distributed/.gitignore (100%) rename {src => framework/src}/docker/distributed/certs.yml (100%) rename {src => framework/src}/docker/distributed/client/compose.yml (100%) rename {src => framework/src}/docker/distributed/server/compose.yml (100%) rename {src => framework/src}/docker/serverapp/Dockerfile (100%) rename {src => framework/src}/docker/serverapp/README.md (100%) rename {src => framework/src}/docker/superlink/Dockerfile (100%) rename {src => framework/src}/docker/superlink/README.md (100%) rename {src => framework/src}/docker/supernode/Dockerfile (100%) rename {src => framework/src}/docker/supernode/README.md (100%) rename {src => framework/src}/kotlin/build.gradle.kts (100%) rename {src => framework/src}/kotlin/flwr/build.gradle.kts (100%) rename {src => framework/src}/kotlin/flwr/proguard-rules.pro (100%) rename {src => framework/src}/kotlin/flwr/src/main/AndroidManifest.xml (100%) rename {src => framework/src}/kotlin/flwr/src/main/java/dev/flower/android/Client.kt (100%) rename {src => framework/src}/kotlin/flwr/src/main/java/dev/flower/android/Grpc.kt (100%) rename {src => framework/src}/kotlin/flwr/src/main/java/dev/flower/android/MessageHandler.kt (100%) rename {src => framework/src}/kotlin/flwr/src/main/java/dev/flower/android/Serde.kt (100%) rename {src => framework/src}/kotlin/flwr/src/main/java/dev/flower/android/TaskHandler.kt (100%) rename {src => framework/src}/kotlin/flwr/src/main/java/dev/flower/android/Typing.kt (100%) rename {src => framework/src}/kotlin/gradle.properties (100%) rename {src => framework/src}/kotlin/gradle/wrapper/gradle-wrapper.jar (100%) rename {src => framework/src}/kotlin/gradle/wrapper/gradle-wrapper.properties (100%) rename {src => framework/src}/kotlin/gradlew (100%) rename {src => framework/src}/kotlin/gradlew.bat (100%) rename {src => framework/src}/kotlin/settings.gradle.kts (100%) rename {src => framework/src}/proto/flwr/proto/clientappio.proto (100%) rename {src => framework/src}/proto/flwr/proto/error.proto (100%) rename {src => framework/src}/proto/flwr/proto/exec.proto (100%) rename {src => framework/src}/proto/flwr/proto/fab.proto (100%) rename {src => framework/src}/proto/flwr/proto/fleet.proto (100%) rename {src => framework/src}/proto/flwr/proto/grpcadapter.proto (100%) rename {src => framework/src}/proto/flwr/proto/log.proto (100%) rename {src => framework/src}/proto/flwr/proto/message.proto (100%) rename {src => framework/src}/proto/flwr/proto/node.proto (100%) rename {src => framework/src}/proto/flwr/proto/recordset.proto (100%) rename {src => framework/src}/proto/flwr/proto/run.proto (100%) rename {src => framework/src}/proto/flwr/proto/serverappio.proto (100%) rename {src => framework/src}/proto/flwr/proto/simulationio.proto (100%) rename {src => framework/src}/proto/flwr/proto/task.proto (100%) rename {src => framework/src}/proto/flwr/proto/transport.proto (100%) rename {src => framework/src}/py/flwr/__init__.py (100%) rename {src => framework/src}/py/flwr/__init___test.py (100%) rename {src => framework/src}/py/flwr/cli/__init__.py (100%) rename {src => framework/src}/py/flwr/cli/app.py (100%) rename {src => framework/src}/py/flwr/cli/build.py (100%) rename {src => framework/src}/py/flwr/cli/config_utils.py (100%) rename {src => framework/src}/py/flwr/cli/config_utils_test.py (100%) rename {src => framework/src}/py/flwr/cli/example.py (100%) rename {src => framework/src}/py/flwr/cli/install.py (100%) rename {src => framework/src}/py/flwr/cli/log.py (100%) rename {src => framework/src}/py/flwr/cli/log_test.py (100%) rename {src => framework/src}/py/flwr/cli/ls.py (100%) rename {src => framework/src}/py/flwr/cli/new/__init__.py (100%) rename {src => framework/src}/py/flwr/cli/new/new.py (100%) rename {src => framework/src}/py/flwr/cli/new/new_test.py (100%) rename {src => framework/src}/py/flwr/cli/new/templates/__init__.py (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/.gitignore.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/LICENSE.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/README.baseline.md.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/README.flowertune.md.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/README.md.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/__init__.py (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/__init__.py (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/__init__.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/client.jax.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/server.jax.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/task.jax.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl (100%) rename {src => framework/src}/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl (100%) rename {src => framework/src}/py/flwr/cli/run/__init__.py (100%) rename {src => framework/src}/py/flwr/cli/run/run.py (100%) rename {src => framework/src}/py/flwr/cli/utils.py (100%) rename {src => framework/src}/py/flwr/client/__init__.py (100%) rename {src => framework/src}/py/flwr/client/app.py (100%) rename {src => framework/src}/py/flwr/client/app_test.py (100%) rename {src => framework/src}/py/flwr/client/client.py (100%) rename {src => framework/src}/py/flwr/client/client_app.py (100%) rename {src => framework/src}/py/flwr/client/client_test.py (100%) rename {src => framework/src}/py/flwr/client/clientapp/__init__.py (100%) rename {src => framework/src}/py/flwr/client/clientapp/app.py (100%) rename {src => framework/src}/py/flwr/client/clientapp/clientappio_servicer.py (100%) rename {src => framework/src}/py/flwr/client/clientapp/clientappio_servicer_test.py (100%) rename {src => framework/src}/py/flwr/client/clientapp/utils.py (100%) rename {src => framework/src}/py/flwr/client/dpfedavg_numpy_client.py (100%) rename {src => framework/src}/py/flwr/client/grpc_adapter_client/__init__.py (100%) rename {src => framework/src}/py/flwr/client/grpc_adapter_client/connection.py (100%) rename {src => framework/src}/py/flwr/client/grpc_client/__init__.py (100%) rename {src => framework/src}/py/flwr/client/grpc_client/connection.py (100%) rename {src => framework/src}/py/flwr/client/grpc_client/connection_test.py (100%) rename {src => framework/src}/py/flwr/client/grpc_rere_client/__init__.py (100%) rename {src => framework/src}/py/flwr/client/grpc_rere_client/client_interceptor.py (100%) rename {src => framework/src}/py/flwr/client/grpc_rere_client/client_interceptor_test.py (100%) rename {src => framework/src}/py/flwr/client/grpc_rere_client/connection.py (100%) rename {src => framework/src}/py/flwr/client/grpc_rere_client/grpc_adapter.py (100%) rename {src => framework/src}/py/flwr/client/grpc_rere_client/grpc_adapter_test.py (100%) rename {src => framework/src}/py/flwr/client/heartbeat.py (100%) rename {src => framework/src}/py/flwr/client/heartbeat_test.py (100%) rename {src => framework/src}/py/flwr/client/message_handler/__init__.py (100%) rename {src => framework/src}/py/flwr/client/message_handler/message_handler.py (100%) rename {src => framework/src}/py/flwr/client/message_handler/message_handler_test.py (100%) rename {src => framework/src}/py/flwr/client/message_handler/task_handler.py (100%) rename {src => framework/src}/py/flwr/client/message_handler/task_handler_test.py (100%) rename {src => framework/src}/py/flwr/client/mod/__init__.py (100%) rename {src => framework/src}/py/flwr/client/mod/centraldp_mods.py (100%) rename {src => framework/src}/py/flwr/client/mod/comms_mods.py (100%) rename {src => framework/src}/py/flwr/client/mod/localdp_mod.py (100%) rename {src => framework/src}/py/flwr/client/mod/secure_aggregation/__init__.py (100%) rename {src => framework/src}/py/flwr/client/mod/secure_aggregation/secagg_mod.py (100%) rename {src => framework/src}/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py (100%) rename {src => framework/src}/py/flwr/client/mod/secure_aggregation/secaggplus_mod_test.py (100%) rename {src => framework/src}/py/flwr/client/mod/utils.py (100%) rename {src => framework/src}/py/flwr/client/mod/utils_test.py (100%) rename {src => framework/src}/py/flwr/client/node_state_test.py (100%) rename {src => framework/src}/py/flwr/client/nodestate/__init__.py (100%) rename {src => framework/src}/py/flwr/client/nodestate/in_memory_nodestate.py (100%) rename {src => framework/src}/py/flwr/client/nodestate/nodestate.py (100%) rename {src => framework/src}/py/flwr/client/nodestate/nodestate_factory.py (100%) rename {src => framework/src}/py/flwr/client/nodestate/nodestate_test.py (100%) rename {src => framework/src}/py/flwr/client/numpy_client.py (100%) rename {src => framework/src}/py/flwr/client/numpy_client_test.py (100%) rename {src => framework/src}/py/flwr/client/rest_client/__init__.py (100%) rename {src => framework/src}/py/flwr/client/rest_client/connection.py (100%) rename {src => framework/src}/py/flwr/client/run_info_store.py (100%) rename {src => framework/src}/py/flwr/client/supernode/__init__.py (100%) rename {src => framework/src}/py/flwr/client/supernode/app.py (100%) rename {src => framework/src}/py/flwr/client/typing.py (100%) rename {src => framework/src}/py/flwr/common/__init__.py (100%) rename {src => framework/src}/py/flwr/common/address.py (100%) rename {src => framework/src}/py/flwr/common/address_test.py (100%) rename {src => framework/src}/py/flwr/common/args.py (100%) rename {src => framework/src}/py/flwr/common/config.py (100%) rename {src => framework/src}/py/flwr/common/config_test.py (100%) rename {src => framework/src}/py/flwr/common/constant.py (100%) rename {src => framework/src}/py/flwr/common/context.py (100%) rename {src => framework/src}/py/flwr/common/date.py (100%) rename {src => framework/src}/py/flwr/common/differential_privacy.py (100%) rename {src => framework/src}/py/flwr/common/differential_privacy_constants.py (100%) rename {src => framework/src}/py/flwr/common/differential_privacy_test.py (100%) rename {src => framework/src}/py/flwr/common/dp.py (100%) rename {src => framework/src}/py/flwr/common/exit_handlers.py (100%) rename {src => framework/src}/py/flwr/common/grpc.py (100%) rename {src => framework/src}/py/flwr/common/logger.py (100%) rename {src => framework/src}/py/flwr/common/logger_test.py (100%) rename {src => framework/src}/py/flwr/common/message.py (100%) rename {src => framework/src}/py/flwr/common/message_test.py (100%) rename {src => framework/src}/py/flwr/common/object_ref.py (100%) rename {src => framework/src}/py/flwr/common/object_ref_test.py (100%) rename {src => framework/src}/py/flwr/common/parameter.py (100%) rename {src => framework/src}/py/flwr/common/parameter_test.py (100%) rename {src => framework/src}/py/flwr/common/pyproject.py (100%) rename {src => framework/src}/py/flwr/common/pyproject_test.py (100%) rename {src => framework/src}/py/flwr/common/record/__init__.py (100%) rename {src => framework/src}/py/flwr/common/record/configsrecord.py (100%) rename {src => framework/src}/py/flwr/common/record/conversion_utils.py (100%) rename {src => framework/src}/py/flwr/common/record/conversion_utils_test.py (100%) rename {src => framework/src}/py/flwr/common/record/metricsrecord.py (100%) rename {src => framework/src}/py/flwr/common/record/parametersrecord.py (100%) rename {src => framework/src}/py/flwr/common/record/parametersrecord_test.py (100%) rename {src => framework/src}/py/flwr/common/record/recordset.py (100%) rename {src => framework/src}/py/flwr/common/record/recordset_test.py (100%) rename {src => framework/src}/py/flwr/common/record/typeddict.py (100%) rename {src => framework/src}/py/flwr/common/recordset_compat.py (100%) rename {src => framework/src}/py/flwr/common/recordset_compat_test.py (100%) rename {src => framework/src}/py/flwr/common/retry_invoker.py (100%) rename {src => framework/src}/py/flwr/common/retry_invoker_test.py (100%) rename {src => framework/src}/py/flwr/common/secure_aggregation/__init__.py (100%) rename {src => framework/src}/py/flwr/common/secure_aggregation/crypto/__init__.py (100%) rename {src => framework/src}/py/flwr/common/secure_aggregation/crypto/shamir.py (100%) rename {src => framework/src}/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py (100%) rename {src => framework/src}/py/flwr/common/secure_aggregation/crypto/symmetric_encryption_test.py (100%) rename {src => framework/src}/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py (100%) rename {src => framework/src}/py/flwr/common/secure_aggregation/quantization.py (100%) rename {src => framework/src}/py/flwr/common/secure_aggregation/secaggplus_constants.py (100%) rename {src => framework/src}/py/flwr/common/secure_aggregation/secaggplus_utils.py (100%) rename {src => framework/src}/py/flwr/common/serde.py (100%) rename {src => framework/src}/py/flwr/common/serde_test.py (100%) rename {src => framework/src}/py/flwr/common/telemetry.py (100%) rename {src => framework/src}/py/flwr/common/telemetry_test.py (100%) rename {src => framework/src}/py/flwr/common/typing.py (100%) rename {src => framework/src}/py/flwr/common/version.py (100%) rename {src => framework/src}/py/flwr/proto/__init__.py (100%) rename {src => framework/src}/py/flwr/proto/clientappio_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/clientappio_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/clientappio_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/clientappio_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/error_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/error_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/error_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/error_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/exec_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/exec_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/exec_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/exec_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/fab_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/fab_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/fab_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/fab_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/fleet_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/fleet_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/fleet_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/fleet_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/grpcadapter_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/grpcadapter_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/grpcadapter_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/grpcadapter_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/log_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/log_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/log_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/log_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/message_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/message_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/message_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/message_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/node_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/node_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/node_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/node_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/recordset_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/recordset_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/recordset_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/recordset_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/run_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/run_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/run_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/run_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/serverappio_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/serverappio_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/serverappio_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/serverappio_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/simulationio_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/simulationio_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/simulationio_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/simulationio_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/task_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/task_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/task_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/task_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/proto/transport_pb2.py (100%) rename {src => framework/src}/py/flwr/proto/transport_pb2.pyi (100%) rename {src => framework/src}/py/flwr/proto/transport_pb2_grpc.py (100%) rename {src => framework/src}/py/flwr/proto/transport_pb2_grpc.pyi (100%) rename {src => framework/src}/py/flwr/py.typed (100%) rename {src => framework/src}/py/flwr/server/__init__.py (100%) rename {src => framework/src}/py/flwr/server/app.py (100%) rename {src => framework/src}/py/flwr/server/client_manager.py (100%) rename {src => framework/src}/py/flwr/server/client_manager_test.py (100%) rename {src => framework/src}/py/flwr/server/client_proxy.py (100%) rename {src => framework/src}/py/flwr/server/client_proxy_test.py (100%) rename {src => framework/src}/py/flwr/server/compat/__init__.py (100%) rename {src => framework/src}/py/flwr/server/compat/app.py (100%) rename {src => framework/src}/py/flwr/server/compat/app_utils.py (100%) rename {src => framework/src}/py/flwr/server/compat/app_utils_test.py (100%) rename {src => framework/src}/py/flwr/server/compat/driver_client_proxy.py (100%) rename {src => framework/src}/py/flwr/server/compat/driver_client_proxy_test.py (100%) rename {src => framework/src}/py/flwr/server/compat/legacy_context.py (100%) rename {src => framework/src}/py/flwr/server/criterion.py (100%) rename {src => framework/src}/py/flwr/server/criterion_test.py (100%) rename {src => framework/src}/py/flwr/server/driver/__init__.py (100%) rename {src => framework/src}/py/flwr/server/driver/driver.py (100%) rename {src => framework/src}/py/flwr/server/driver/grpc_driver.py (100%) rename {src => framework/src}/py/flwr/server/driver/grpc_driver_test.py (100%) rename {src => framework/src}/py/flwr/server/driver/inmemory_driver.py (100%) rename {src => framework/src}/py/flwr/server/driver/inmemory_driver_test.py (100%) rename {src => framework/src}/py/flwr/server/history.py (100%) rename {src => framework/src}/py/flwr/server/history_test.py (100%) rename {src => framework/src}/py/flwr/server/run_serverapp.py (100%) rename {src => framework/src}/py/flwr/server/server.py (100%) rename {src => framework/src}/py/flwr/server/server_app.py (100%) rename {src => framework/src}/py/flwr/server/server_app_test.py (100%) rename {src => framework/src}/py/flwr/server/server_config.py (100%) rename {src => framework/src}/py/flwr/server/server_test.py (100%) rename {src => framework/src}/py/flwr/server/serverapp/__init__.py (100%) rename {src => framework/src}/py/flwr/server/serverapp/app.py (100%) rename {src => framework/src}/py/flwr/server/serverapp_components.py (100%) rename {src => framework/src}/py/flwr/server/strategy/__init__.py (100%) rename {src => framework/src}/py/flwr/server/strategy/aggregate.py (100%) rename {src => framework/src}/py/flwr/server/strategy/aggregate_test.py (100%) rename {src => framework/src}/py/flwr/server/strategy/bulyan.py (100%) rename {src => framework/src}/py/flwr/server/strategy/bulyan_test.py (100%) rename {src => framework/src}/py/flwr/server/strategy/dp_adaptive_clipping.py (100%) rename {src => framework/src}/py/flwr/server/strategy/dp_fixed_clipping.py (100%) rename {src => framework/src}/py/flwr/server/strategy/dpfedavg_adaptive.py (100%) rename {src => framework/src}/py/flwr/server/strategy/dpfedavg_fixed.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fault_tolerant_fedavg.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fault_tolerant_fedavg_test.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedadagrad.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedadagrad_test.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedadam.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedavg.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedavg_android.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedavg_test.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedavgm.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedavgm_test.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedmedian.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedmedian_test.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedopt.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedprox.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedtrimmedavg.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedxgb_bagging.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedxgb_cyclic.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedxgb_nn_avg.py (100%) rename {src => framework/src}/py/flwr/server/strategy/fedyogi.py (100%) rename {src => framework/src}/py/flwr/server/strategy/krum.py (100%) rename {src => framework/src}/py/flwr/server/strategy/krum_test.py (100%) rename {src => framework/src}/py/flwr/server/strategy/multikrum_test.py (100%) rename {src => framework/src}/py/flwr/server/strategy/qfedavg.py (100%) rename {src => framework/src}/py/flwr/server/strategy/strategy.py (100%) rename {src => framework/src}/py/flwr/server/superlink/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/driver/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/driver/serverappio_grpc.py (100%) rename {src => framework/src}/py/flwr/server/superlink/driver/serverappio_servicer.py (100%) rename {src => framework/src}/py/flwr/server/superlink/driver/serverappio_servicer_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/ffs/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/ffs/disk_ffs.py (100%) rename {src => framework/src}/py/flwr/server/superlink/ffs/ffs.py (100%) rename {src => framework/src}/py/flwr/server/superlink/ffs/ffs_factory.py (100%) rename {src => framework/src}/py/flwr/server/superlink/ffs/ffs_factory_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/ffs/ffs_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_rere/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/message_handler/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/message_handler/message_handler.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/message_handler/message_handler_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/rest_rere/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/rest_rere/rest_api.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/vce/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/vce/backend/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/vce/backend/backend.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/vce/backend/raybackend.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/vce/backend/raybackend_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/vce/vce_api.py (100%) rename {src => framework/src}/py/flwr/server/superlink/fleet/vce/vce_api_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/linkstate/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/linkstate/in_memory_linkstate.py (100%) rename {src => framework/src}/py/flwr/server/superlink/linkstate/linkstate.py (100%) rename {src => framework/src}/py/flwr/server/superlink/linkstate/linkstate_factory.py (100%) rename {src => framework/src}/py/flwr/server/superlink/linkstate/linkstate_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/linkstate/sqlite_linkstate.py (100%) rename {src => framework/src}/py/flwr/server/superlink/linkstate/sqlite_linkstate_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/linkstate/utils.py (100%) rename {src => framework/src}/py/flwr/server/superlink/linkstate/utils_test.py (100%) rename {src => framework/src}/py/flwr/server/superlink/simulation/__init__.py (100%) rename {src => framework/src}/py/flwr/server/superlink/simulation/simulationio_grpc.py (100%) rename {src => framework/src}/py/flwr/server/superlink/simulation/simulationio_servicer.py (100%) rename {src => framework/src}/py/flwr/server/typing.py (100%) rename {src => framework/src}/py/flwr/server/utils/__init__.py (100%) rename {src => framework/src}/py/flwr/server/utils/tensorboard.py (100%) rename {src => framework/src}/py/flwr/server/utils/tensorboard_test.py (100%) rename {src => framework/src}/py/flwr/server/utils/validator.py (100%) rename {src => framework/src}/py/flwr/server/utils/validator_test.py (100%) rename {src => framework/src}/py/flwr/server/workflow/__init__.py (100%) rename {src => framework/src}/py/flwr/server/workflow/constant.py (100%) rename {src => framework/src}/py/flwr/server/workflow/default_workflows.py (100%) rename {src => framework/src}/py/flwr/server/workflow/secure_aggregation/__init__.py (100%) rename {src => framework/src}/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py (100%) rename {src => framework/src}/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py (100%) rename {src => framework/src}/py/flwr/simulation/__init__.py (100%) rename {src => framework/src}/py/flwr/simulation/app.py (100%) rename {src => framework/src}/py/flwr/simulation/legacy_app.py (100%) rename {src => framework/src}/py/flwr/simulation/ray_transport/__init__.py (100%) rename {src => framework/src}/py/flwr/simulation/ray_transport/ray_actor.py (100%) rename {src => framework/src}/py/flwr/simulation/ray_transport/ray_client_proxy.py (100%) rename {src => framework/src}/py/flwr/simulation/ray_transport/ray_client_proxy_test.py (100%) rename {src => framework/src}/py/flwr/simulation/ray_transport/utils.py (100%) rename {src => framework/src}/py/flwr/simulation/run_simulation.py (100%) rename {src => framework/src}/py/flwr/simulation/simulationio_connection.py (100%) rename {src => framework/src}/py/flwr/superexec/__init__.py (100%) rename {src => framework/src}/py/flwr/superexec/app.py (100%) rename {src => framework/src}/py/flwr/superexec/deployment.py (100%) rename {src => framework/src}/py/flwr/superexec/exec_grpc.py (100%) rename {src => framework/src}/py/flwr/superexec/exec_servicer.py (100%) rename {src => framework/src}/py/flwr/superexec/exec_servicer_test.py (100%) rename {src => framework/src}/py/flwr/superexec/executor.py (100%) rename {src => framework/src}/py/flwr/superexec/simulation.py (100%) rename {src => framework/src}/py/flwr_tool/__init__.py (100%) rename {src => framework/src}/py/flwr_tool/check_copyright.py (100%) rename {src => framework/src}/py/flwr_tool/fix_copyright.py (100%) rename {src => framework/src}/py/flwr_tool/init_py_check.py (100%) rename {src => framework/src}/py/flwr_tool/init_py_fix.py (100%) rename {src => framework/src}/py/flwr_tool/protoc.py (100%) rename {src => framework/src}/py/flwr_tool/protoc_test.py (100%) rename {src => framework/src}/swift/flwr/.gitignore (100%) rename {src => framework/src}/swift/flwr/Package.swift (100%) rename {src => framework/src}/swift/flwr/README.md (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/Client/Client.swift (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/Common/Exception.swift (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/Common/Parameter.swift (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/Common/Serde.swift (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/Common/Typing.swift (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/FlowerProto/transport.grpc.swift (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/FlowerProto/transport.pb.swift (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/GRPC/FlwrGRPC.swift (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/GRPC/InterceptorExtension.swift (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/GRPC/Interceptors.swift (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/GRPC/MessageHandler.swift (100%) rename {src => framework/src}/swift/flwr/Sources/Flower/flwr.docc/flwr.md (100%) rename {src => framework/src}/swift/flwr/Tests/FlowerTests/FlowerTests.swift (100%) diff --git a/dev/add-swift-api-footer.sh b/framework/dev/add-swift-api-footer.sh similarity index 100% rename from dev/add-swift-api-footer.sh rename to framework/dev/add-swift-api-footer.sh diff --git a/dev/bootstrap.sh b/framework/dev/bootstrap.sh similarity index 100% rename from dev/bootstrap.sh rename to framework/dev/bootstrap.sh diff --git a/dev/build-baseline-docs.sh b/framework/dev/build-baseline-docs.sh similarity index 100% rename from dev/build-baseline-docs.sh rename to framework/dev/build-baseline-docs.sh diff --git a/dev/build-docker-image-matrix.py b/framework/dev/build-docker-image-matrix.py similarity index 100% rename from dev/build-docker-image-matrix.py rename to framework/dev/build-docker-image-matrix.py diff --git a/dev/build-docs.sh b/framework/dev/build-docs.sh similarity index 100% rename from dev/build-docs.sh rename to framework/dev/build-docs.sh diff --git a/dev/build-example-docs.py b/framework/dev/build-example-docs.py similarity index 100% rename from dev/build-example-docs.py rename to framework/dev/build-example-docs.py diff --git a/dev/build-swift-api-ref.sh b/framework/dev/build-swift-api-ref.sh similarity index 100% rename from dev/build-swift-api-ref.sh rename to framework/dev/build-swift-api-ref.sh diff --git a/dev/build.sh b/framework/dev/build.sh similarity index 100% rename from dev/build.sh rename to framework/dev/build.sh diff --git a/dev/certificates/certificate.conf b/framework/dev/certificates/certificate.conf similarity index 100% rename from dev/certificates/certificate.conf rename to framework/dev/certificates/certificate.conf diff --git a/dev/certificates/generate.sh b/framework/dev/certificates/generate.sh similarity index 100% rename from dev/certificates/generate.sh rename to framework/dev/certificates/generate.sh diff --git a/dev/changelog_config.toml b/framework/dev/changelog_config.toml similarity index 100% rename from dev/changelog_config.toml rename to framework/dev/changelog_config.toml diff --git a/dev/check-protos.sh b/framework/dev/check-protos.sh similarity index 100% rename from dev/check-protos.sh rename to framework/dev/check-protos.sh diff --git a/dev/check-requirements-txt.sh b/framework/dev/check-requirements-txt.sh similarity index 100% rename from dev/check-requirements-txt.sh rename to framework/dev/check-requirements-txt.sh diff --git a/dev/check_pr_title.py b/framework/dev/check_pr_title.py similarity index 100% rename from dev/check_pr_title.py rename to framework/dev/check_pr_title.py diff --git a/dev/deploy-swift-docs.sh b/framework/dev/deploy-swift-docs.sh similarity index 100% rename from dev/deploy-swift-docs.sh rename to framework/dev/deploy-swift-docs.sh diff --git a/dev/fnt.sh b/framework/dev/fnt.sh similarity index 100% rename from dev/fnt.sh rename to framework/dev/fnt.sh diff --git a/dev/format.sh b/framework/dev/format.sh similarity index 100% rename from dev/format.sh rename to framework/dev/format.sh diff --git a/dev/generate-requirements-txt.sh b/framework/dev/generate-requirements-txt.sh similarity index 100% rename from dev/generate-requirements-txt.sh rename to framework/dev/generate-requirements-txt.sh diff --git a/dev/get-latest-changelog.sh b/framework/dev/get-latest-changelog.sh similarity index 100% rename from dev/get-latest-changelog.sh rename to framework/dev/get-latest-changelog.sh diff --git a/dev/install-cuda-step-1.sh b/framework/dev/install-cuda-step-1.sh similarity index 100% rename from dev/install-cuda-step-1.sh rename to framework/dev/install-cuda-step-1.sh diff --git a/dev/install-cuda-step-2.sh b/framework/dev/install-cuda-step-2.sh similarity index 100% rename from dev/install-cuda-step-2.sh rename to framework/dev/install-cuda-step-2.sh diff --git a/dev/plot.sh b/framework/dev/plot.sh similarity index 100% rename from dev/plot.sh rename to framework/dev/plot.sh diff --git a/dev/publish-nightly.sh b/framework/dev/publish-nightly.sh similarity index 100% rename from dev/publish-nightly.sh rename to framework/dev/publish-nightly.sh diff --git a/dev/rm-caches.sh b/framework/dev/rm-caches.sh similarity index 100% rename from dev/rm-caches.sh rename to framework/dev/rm-caches.sh diff --git a/dev/setup-defaults.sh b/framework/dev/setup-defaults.sh similarity index 100% rename from dev/setup-defaults.sh rename to framework/dev/setup-defaults.sh diff --git a/dev/setup-envs.sh b/framework/dev/setup-envs.sh similarity index 100% rename from dev/setup-envs.sh rename to framework/dev/setup-envs.sh diff --git a/dev/swift-docs-resources/footer.css b/framework/dev/swift-docs-resources/footer.css similarity index 100% rename from dev/swift-docs-resources/footer.css rename to framework/dev/swift-docs-resources/footer.css diff --git a/dev/swift-docs-resources/footer.html b/framework/dev/swift-docs-resources/footer.html similarity index 100% rename from dev/swift-docs-resources/footer.html rename to framework/dev/swift-docs-resources/footer.html diff --git a/dev/swift-docs-resources/logo_secondary-w-border.png b/framework/dev/swift-docs-resources/logo_secondary-w-border.png similarity index 100% rename from dev/swift-docs-resources/logo_secondary-w-border.png rename to framework/dev/swift-docs-resources/logo_secondary-w-border.png diff --git a/dev/test-copyright.sh b/framework/dev/test-copyright.sh similarity index 100% rename from dev/test-copyright.sh rename to framework/dev/test-copyright.sh diff --git a/dev/test-tool.sh b/framework/dev/test-tool.sh similarity index 100% rename from dev/test-tool.sh rename to framework/dev/test-tool.sh diff --git a/dev/test-wheel.sh b/framework/dev/test-wheel.sh similarity index 100% rename from dev/test-wheel.sh rename to framework/dev/test-wheel.sh diff --git a/dev/test.sh b/framework/dev/test.sh similarity index 100% rename from dev/test.sh rename to framework/dev/test.sh diff --git a/dev/update_changelog.py b/framework/dev/update_changelog.py similarity index 100% rename from dev/update_changelog.py rename to framework/dev/update_changelog.py diff --git a/dev/update_python.py b/framework/dev/update_python.py similarity index 100% rename from dev/update_python.py rename to framework/dev/update_python.py diff --git a/dev/update_version.py b/framework/dev/update_version.py similarity index 100% rename from dev/update_version.py rename to framework/dev/update_version.py diff --git a/dev/venv-create.sh b/framework/dev/venv-create.sh similarity index 100% rename from dev/venv-create.sh rename to framework/dev/venv-create.sh diff --git a/dev/venv-delete.sh b/framework/dev/venv-delete.sh similarity index 100% rename from dev/venv-delete.sh rename to framework/dev/venv-delete.sh diff --git a/dev/venv-reset.sh b/framework/dev/venv-reset.sh similarity index 100% rename from dev/venv-reset.sh rename to framework/dev/venv-reset.sh diff --git a/doc/Makefile b/framework/doc/Makefile similarity index 100% rename from doc/Makefile rename to framework/doc/Makefile diff --git a/doc/build-versioned-docs.sh b/framework/doc/build-versioned-docs.sh similarity index 100% rename from doc/build-versioned-docs.sh rename to framework/doc/build-versioned-docs.sh diff --git a/doc/locales/fr/LC_MESSAGES/framework-docs.po b/framework/doc/locales/fr/LC_MESSAGES/framework-docs.po similarity index 100% rename from doc/locales/fr/LC_MESSAGES/framework-docs.po rename to framework/doc/locales/fr/LC_MESSAGES/framework-docs.po diff --git a/doc/locales/fr/LC_MESSAGES/sphinx.po b/framework/doc/locales/fr/LC_MESSAGES/sphinx.po similarity index 100% rename from doc/locales/fr/LC_MESSAGES/sphinx.po rename to framework/doc/locales/fr/LC_MESSAGES/sphinx.po diff --git a/doc/locales/ko/LC_MESSAGES/framework-docs.po b/framework/doc/locales/ko/LC_MESSAGES/framework-docs.po similarity index 100% rename from doc/locales/ko/LC_MESSAGES/framework-docs.po rename to framework/doc/locales/ko/LC_MESSAGES/framework-docs.po diff --git a/doc/locales/ko/LC_MESSAGES/sphinx.po b/framework/doc/locales/ko/LC_MESSAGES/sphinx.po similarity index 100% rename from doc/locales/ko/LC_MESSAGES/sphinx.po rename to framework/doc/locales/ko/LC_MESSAGES/sphinx.po diff --git a/doc/locales/pt_BR/LC_MESSAGES/framework-docs.po b/framework/doc/locales/pt_BR/LC_MESSAGES/framework-docs.po similarity index 100% rename from doc/locales/pt_BR/LC_MESSAGES/framework-docs.po rename to framework/doc/locales/pt_BR/LC_MESSAGES/framework-docs.po diff --git a/doc/locales/pt_BR/LC_MESSAGES/sphinx.po b/framework/doc/locales/pt_BR/LC_MESSAGES/sphinx.po similarity index 100% rename from doc/locales/pt_BR/LC_MESSAGES/sphinx.po rename to framework/doc/locales/pt_BR/LC_MESSAGES/sphinx.po diff --git a/doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po b/framework/doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po similarity index 100% rename from doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po rename to framework/doc/locales/zh_Hans/LC_MESSAGES/framework-docs.po diff --git a/doc/locales/zh_Hans/LC_MESSAGES/sphinx.po b/framework/doc/locales/zh_Hans/LC_MESSAGES/sphinx.po similarity index 100% rename from doc/locales/zh_Hans/LC_MESSAGES/sphinx.po rename to framework/doc/locales/zh_Hans/LC_MESSAGES/sphinx.po diff --git a/doc/make.bat b/framework/doc/make.bat similarity index 100% rename from doc/make.bat rename to framework/doc/make.bat diff --git a/doc/source/.gitignore b/framework/doc/source/.gitignore similarity index 100% rename from doc/source/.gitignore rename to framework/doc/source/.gitignore diff --git a/doc/source/_static/DP/CDP.png b/framework/doc/source/_static/DP/CDP.png similarity index 100% rename from doc/source/_static/DP/CDP.png rename to framework/doc/source/_static/DP/CDP.png diff --git a/doc/source/_static/DP/LDP.png b/framework/doc/source/_static/DP/LDP.png similarity index 100% rename from doc/source/_static/DP/LDP.png rename to framework/doc/source/_static/DP/LDP.png diff --git a/doc/source/_static/DP/clientsideCDP.png b/framework/doc/source/_static/DP/clientsideCDP.png similarity index 100% rename from doc/source/_static/DP/clientsideCDP.png rename to framework/doc/source/_static/DP/clientsideCDP.png diff --git a/doc/source/_static/DP/clipping.png b/framework/doc/source/_static/DP/clipping.png similarity index 100% rename from doc/source/_static/DP/clipping.png rename to framework/doc/source/_static/DP/clipping.png diff --git a/doc/source/_static/DP/dp-intro.png b/framework/doc/source/_static/DP/dp-intro.png similarity index 100% rename from doc/source/_static/DP/dp-intro.png rename to framework/doc/source/_static/DP/dp-intro.png diff --git a/doc/source/_static/DP/localdp.png b/framework/doc/source/_static/DP/localdp.png similarity index 100% rename from doc/source/_static/DP/localdp.png rename to framework/doc/source/_static/DP/localdp.png diff --git a/doc/source/_static/DP/serversideCDP.png b/framework/doc/source/_static/DP/serversideCDP.png similarity index 100% rename from doc/source/_static/DP/serversideCDP.png rename to framework/doc/source/_static/DP/serversideCDP.png diff --git a/doc/source/_static/changes_requested.png b/framework/doc/source/_static/changes_requested.png similarity index 100% rename from doc/source/_static/changes_requested.png rename to framework/doc/source/_static/changes_requested.png diff --git a/doc/source/_static/cloning_fork.png b/framework/doc/source/_static/cloning_fork.png similarity index 100% rename from doc/source/_static/cloning_fork.png rename to framework/doc/source/_static/cloning_fork.png diff --git a/doc/source/_static/cloning_repo.png b/framework/doc/source/_static/cloning_repo.png similarity index 100% rename from doc/source/_static/cloning_repo.png rename to framework/doc/source/_static/cloning_repo.png diff --git a/doc/source/_static/compare_and_pr.png b/framework/doc/source/_static/compare_and_pr.png similarity index 100% rename from doc/source/_static/compare_and_pr.png rename to framework/doc/source/_static/compare_and_pr.png diff --git a/doc/source/_static/creating_pr.png b/framework/doc/source/_static/creating_pr.png similarity index 100% rename from doc/source/_static/creating_pr.png rename to framework/doc/source/_static/creating_pr.png diff --git a/doc/source/_static/custom.css b/framework/doc/source/_static/custom.css similarity index 100% rename from doc/source/_static/custom.css rename to framework/doc/source/_static/custom.css diff --git a/doc/source/_static/draft_pr.png b/framework/doc/source/_static/draft_pr.png similarity index 100% rename from doc/source/_static/draft_pr.png rename to framework/doc/source/_static/draft_pr.png diff --git a/doc/source/_static/favicon.ico b/framework/doc/source/_static/favicon.ico similarity index 100% rename from doc/source/_static/favicon.ico rename to framework/doc/source/_static/favicon.ico diff --git a/doc/source/_static/flower-actors.drawio.png b/framework/doc/source/_static/flower-actors.drawio.png similarity index 100% rename from doc/source/_static/flower-actors.drawio.png rename to framework/doc/source/_static/flower-actors.drawio.png diff --git a/doc/source/_static/flower-architecture-basic-architecture.svg b/framework/doc/source/_static/flower-architecture-basic-architecture.svg similarity index 100% rename from doc/source/_static/flower-architecture-basic-architecture.svg rename to framework/doc/source/_static/flower-architecture-basic-architecture.svg diff --git a/doc/source/_static/flower-architecture-hub-and-spoke.svg b/framework/doc/source/_static/flower-architecture-hub-and-spoke.svg similarity index 100% rename from doc/source/_static/flower-architecture-hub-and-spoke.svg rename to framework/doc/source/_static/flower-architecture-hub-and-spoke.svg diff --git a/doc/source/_static/flower-architecture-multi-run-1.svg b/framework/doc/source/_static/flower-architecture-multi-run-1.svg similarity index 100% rename from doc/source/_static/flower-architecture-multi-run-1.svg rename to framework/doc/source/_static/flower-architecture-multi-run-1.svg diff --git a/doc/source/_static/flower-architecture-multi-run-2.svg b/framework/doc/source/_static/flower-architecture-multi-run-2.svg similarity index 100% rename from doc/source/_static/flower-architecture-multi-run-2.svg rename to framework/doc/source/_static/flower-architecture-multi-run-2.svg diff --git a/doc/source/_static/flower-architecture-multi-run.svg b/framework/doc/source/_static/flower-architecture-multi-run.svg similarity index 100% rename from doc/source/_static/flower-architecture-multi-run.svg rename to framework/doc/source/_static/flower-architecture-multi-run.svg diff --git a/doc/source/_static/flower-logo.png b/framework/doc/source/_static/flower-logo.png similarity index 100% rename from doc/source/_static/flower-logo.png rename to framework/doc/source/_static/flower-logo.png diff --git a/doc/source/_static/fork_button.png b/framework/doc/source/_static/fork_button.png similarity index 100% rename from doc/source/_static/fork_button.png rename to framework/doc/source/_static/fork_button.png diff --git a/doc/source/_static/fork_link.png b/framework/doc/source/_static/fork_link.png similarity index 100% rename from doc/source/_static/fork_link.png rename to framework/doc/source/_static/fork_link.png diff --git a/doc/source/_static/forking-repo.png b/framework/doc/source/_static/forking-repo.png similarity index 100% rename from doc/source/_static/forking-repo.png rename to framework/doc/source/_static/forking-repo.png diff --git a/doc/source/_static/github_schema.png b/framework/doc/source/_static/github_schema.png similarity index 100% rename from doc/source/_static/github_schema.png rename to framework/doc/source/_static/github_schema.png diff --git a/doc/source/_static/make_changes.png b/framework/doc/source/_static/make_changes.png similarity index 100% rename from doc/source/_static/make_changes.png rename to framework/doc/source/_static/make_changes.png diff --git a/doc/source/_static/merging_branch.png b/framework/doc/source/_static/merging_branch.png similarity index 100% rename from doc/source/_static/merging_branch.png rename to framework/doc/source/_static/merging_branch.png diff --git a/doc/source/_static/merging_pr.png b/framework/doc/source/_static/merging_pr.png similarity index 100% rename from doc/source/_static/merging_pr.png rename to framework/doc/source/_static/merging_pr.png diff --git a/doc/source/_static/opened_pr.png b/framework/doc/source/_static/opened_pr.png similarity index 100% rename from doc/source/_static/opened_pr.png rename to framework/doc/source/_static/opened_pr.png diff --git a/doc/source/_static/opening-pr.png b/framework/doc/source/_static/opening-pr.png similarity index 100% rename from doc/source/_static/opening-pr.png rename to framework/doc/source/_static/opening-pr.png diff --git a/doc/source/_static/resolve_conv.png b/framework/doc/source/_static/resolve_conv.png similarity index 100% rename from doc/source/_static/resolve_conv.png rename to framework/doc/source/_static/resolve_conv.png diff --git a/doc/source/_static/tutorial/central-model-training.png b/framework/doc/source/_static/tutorial/central-model-training.png similarity index 100% rename from doc/source/_static/tutorial/central-model-training.png rename to framework/doc/source/_static/tutorial/central-model-training.png diff --git a/doc/source/_static/tutorial/centralized-impossible.png b/framework/doc/source/_static/tutorial/centralized-impossible.png similarity index 100% rename from doc/source/_static/tutorial/centralized-impossible.png rename to framework/doc/source/_static/tutorial/centralized-impossible.png diff --git a/doc/source/_static/tutorial/centralized-possible.png b/framework/doc/source/_static/tutorial/centralized-possible.png similarity index 100% rename from doc/source/_static/tutorial/centralized-possible.png rename to framework/doc/source/_static/tutorial/centralized-possible.png diff --git a/doc/source/_static/tutorial/collect-data.png b/framework/doc/source/_static/tutorial/collect-data.png similarity index 100% rename from doc/source/_static/tutorial/collect-data.png rename to framework/doc/source/_static/tutorial/collect-data.png diff --git a/doc/source/_static/tutorial/data-on-phone.png b/framework/doc/source/_static/tutorial/data-on-phone.png similarity index 100% rename from doc/source/_static/tutorial/data-on-phone.png rename to framework/doc/source/_static/tutorial/data-on-phone.png diff --git a/doc/source/_static/tutorial/fl-aggregate-model-updates.png b/framework/doc/source/_static/tutorial/fl-aggregate-model-updates.png similarity index 100% rename from doc/source/_static/tutorial/fl-aggregate-model-updates.png rename to framework/doc/source/_static/tutorial/fl-aggregate-model-updates.png diff --git a/doc/source/_static/tutorial/fl-initialize-global-model.png b/framework/doc/source/_static/tutorial/fl-initialize-global-model.png similarity index 100% rename from doc/source/_static/tutorial/fl-initialize-global-model.png rename to framework/doc/source/_static/tutorial/fl-initialize-global-model.png diff --git a/doc/source/_static/tutorial/fl-local-training.png b/framework/doc/source/_static/tutorial/fl-local-training.png similarity index 100% rename from doc/source/_static/tutorial/fl-local-training.png rename to framework/doc/source/_static/tutorial/fl-local-training.png diff --git a/doc/source/_static/tutorial/fl-send-global-model.png b/framework/doc/source/_static/tutorial/fl-send-global-model.png similarity index 100% rename from doc/source/_static/tutorial/fl-send-global-model.png rename to framework/doc/source/_static/tutorial/fl-send-global-model.png diff --git a/doc/source/_static/tutorial/fl-send-model-updates.png b/framework/doc/source/_static/tutorial/fl-send-model-updates.png similarity index 100% rename from doc/source/_static/tutorial/fl-send-model-updates.png rename to framework/doc/source/_static/tutorial/fl-send-model-updates.png diff --git a/doc/source/_static/tutorial/flower-any.jpeg b/framework/doc/source/_static/tutorial/flower-any.jpeg similarity index 100% rename from doc/source/_static/tutorial/flower-any.jpeg rename to framework/doc/source/_static/tutorial/flower-any.jpeg diff --git a/doc/source/_static/tutorial/many-devices-with-data.png b/framework/doc/source/_static/tutorial/many-devices-with-data.png similarity index 100% rename from doc/source/_static/tutorial/many-devices-with-data.png rename to framework/doc/source/_static/tutorial/many-devices-with-data.png diff --git a/doc/source/_static/tutorial/model-and-data.png b/framework/doc/source/_static/tutorial/model-and-data.png similarity index 100% rename from doc/source/_static/tutorial/model-and-data.png rename to framework/doc/source/_static/tutorial/model-and-data.png diff --git a/doc/source/_static/tutorial/train-model.png b/framework/doc/source/_static/tutorial/train-model.png similarity index 100% rename from doc/source/_static/tutorial/train-model.png rename to framework/doc/source/_static/tutorial/train-model.png diff --git a/doc/source/_static/upstream_link.png b/framework/doc/source/_static/upstream_link.png similarity index 100% rename from doc/source/_static/upstream_link.png rename to framework/doc/source/_static/upstream_link.png diff --git a/doc/source/_static/weblate_interface.png b/framework/doc/source/_static/weblate_interface.png similarity index 100% rename from doc/source/_static/weblate_interface.png rename to framework/doc/source/_static/weblate_interface.png diff --git a/doc/source/_static/weblate_status.png b/framework/doc/source/_static/weblate_status.png similarity index 100% rename from doc/source/_static/weblate_status.png rename to framework/doc/source/_static/weblate_status.png diff --git a/doc/source/_templates/autosummary/base.rst b/framework/doc/source/_templates/autosummary/base.rst similarity index 100% rename from doc/source/_templates/autosummary/base.rst rename to framework/doc/source/_templates/autosummary/base.rst diff --git a/doc/source/_templates/autosummary/class.rst b/framework/doc/source/_templates/autosummary/class.rst similarity index 100% rename from doc/source/_templates/autosummary/class.rst rename to framework/doc/source/_templates/autosummary/class.rst diff --git a/doc/source/_templates/autosummary/module.rst b/framework/doc/source/_templates/autosummary/module.rst similarity index 100% rename from doc/source/_templates/autosummary/module.rst rename to framework/doc/source/_templates/autosummary/module.rst diff --git a/doc/source/_templates/base.html b/framework/doc/source/_templates/base.html similarity index 100% rename from doc/source/_templates/base.html rename to framework/doc/source/_templates/base.html diff --git a/doc/source/_templates/sidebar/brand.html b/framework/doc/source/_templates/sidebar/brand.html similarity index 100% rename from doc/source/_templates/sidebar/brand.html rename to framework/doc/source/_templates/sidebar/brand.html diff --git a/doc/source/_templates/sidebar/lang.html b/framework/doc/source/_templates/sidebar/lang.html similarity index 100% rename from doc/source/_templates/sidebar/lang.html rename to framework/doc/source/_templates/sidebar/lang.html diff --git a/doc/source/_templates/sidebar/search.html b/framework/doc/source/_templates/sidebar/search.html similarity index 100% rename from doc/source/_templates/sidebar/search.html rename to framework/doc/source/_templates/sidebar/search.html diff --git a/doc/source/_templates/sidebar/versioning.html b/framework/doc/source/_templates/sidebar/versioning.html similarity index 100% rename from doc/source/_templates/sidebar/versioning.html rename to framework/doc/source/_templates/sidebar/versioning.html diff --git a/doc/source/conf.py b/framework/doc/source/conf.py similarity index 100% rename from doc/source/conf.py rename to framework/doc/source/conf.py diff --git a/doc/source/contributor-explanation-public-and-private-apis.rst b/framework/doc/source/contributor-explanation-public-and-private-apis.rst similarity index 100% rename from doc/source/contributor-explanation-public-and-private-apis.rst rename to framework/doc/source/contributor-explanation-public-and-private-apis.rst diff --git a/doc/source/contributor-how-to-build-docker-images.rst b/framework/doc/source/contributor-how-to-build-docker-images.rst similarity index 100% rename from doc/source/contributor-how-to-build-docker-images.rst rename to framework/doc/source/contributor-how-to-build-docker-images.rst diff --git a/doc/source/contributor-how-to-contribute-translations.rst b/framework/doc/source/contributor-how-to-contribute-translations.rst similarity index 100% rename from doc/source/contributor-how-to-contribute-translations.rst rename to framework/doc/source/contributor-how-to-contribute-translations.rst diff --git a/doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst b/framework/doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst similarity index 100% rename from doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst rename to framework/doc/source/contributor-how-to-develop-in-vscode-dev-containers.rst diff --git a/doc/source/contributor-how-to-install-development-versions.rst b/framework/doc/source/contributor-how-to-install-development-versions.rst similarity index 100% rename from doc/source/contributor-how-to-install-development-versions.rst rename to framework/doc/source/contributor-how-to-install-development-versions.rst diff --git a/doc/source/contributor-how-to-release-flower.rst b/framework/doc/source/contributor-how-to-release-flower.rst similarity index 100% rename from doc/source/contributor-how-to-release-flower.rst rename to framework/doc/source/contributor-how-to-release-flower.rst diff --git a/doc/source/contributor-how-to-set-up-a-virtual-env.rst b/framework/doc/source/contributor-how-to-set-up-a-virtual-env.rst similarity index 100% rename from doc/source/contributor-how-to-set-up-a-virtual-env.rst rename to framework/doc/source/contributor-how-to-set-up-a-virtual-env.rst diff --git a/doc/source/contributor-how-to-write-documentation.rst b/framework/doc/source/contributor-how-to-write-documentation.rst similarity index 100% rename from doc/source/contributor-how-to-write-documentation.rst rename to framework/doc/source/contributor-how-to-write-documentation.rst diff --git a/doc/source/contributor-ref-good-first-contributions.rst b/framework/doc/source/contributor-ref-good-first-contributions.rst similarity index 100% rename from doc/source/contributor-ref-good-first-contributions.rst rename to framework/doc/source/contributor-ref-good-first-contributions.rst diff --git a/doc/source/contributor-ref-secure-aggregation-protocols.rst b/framework/doc/source/contributor-ref-secure-aggregation-protocols.rst similarity index 100% rename from doc/source/contributor-ref-secure-aggregation-protocols.rst rename to framework/doc/source/contributor-ref-secure-aggregation-protocols.rst diff --git a/doc/source/contributor-tutorial-contribute-on-github.rst b/framework/doc/source/contributor-tutorial-contribute-on-github.rst similarity index 100% rename from doc/source/contributor-tutorial-contribute-on-github.rst rename to framework/doc/source/contributor-tutorial-contribute-on-github.rst diff --git a/doc/source/contributor-tutorial-get-started-as-a-contributor.rst b/framework/doc/source/contributor-tutorial-get-started-as-a-contributor.rst similarity index 100% rename from doc/source/contributor-tutorial-get-started-as-a-contributor.rst rename to framework/doc/source/contributor-tutorial-get-started-as-a-contributor.rst diff --git a/doc/source/docker/enable-tls.rst b/framework/doc/source/docker/enable-tls.rst similarity index 100% rename from doc/source/docker/enable-tls.rst rename to framework/doc/source/docker/enable-tls.rst diff --git a/doc/source/docker/index.rst b/framework/doc/source/docker/index.rst similarity index 100% rename from doc/source/docker/index.rst rename to framework/doc/source/docker/index.rst diff --git a/doc/source/docker/persist-superlink-state.rst b/framework/doc/source/docker/persist-superlink-state.rst similarity index 100% rename from doc/source/docker/persist-superlink-state.rst rename to framework/doc/source/docker/persist-superlink-state.rst diff --git a/doc/source/docker/pin-version.rst b/framework/doc/source/docker/pin-version.rst similarity index 100% rename from doc/source/docker/pin-version.rst rename to framework/doc/source/docker/pin-version.rst diff --git a/doc/source/docker/run-as-root-user.rst b/framework/doc/source/docker/run-as-root-user.rst similarity index 100% rename from doc/source/docker/run-as-root-user.rst rename to framework/doc/source/docker/run-as-root-user.rst diff --git a/doc/source/docker/run-as-subprocess.rst b/framework/doc/source/docker/run-as-subprocess.rst similarity index 100% rename from doc/source/docker/run-as-subprocess.rst rename to framework/doc/source/docker/run-as-subprocess.rst diff --git a/doc/source/docker/run-quickstart-examples-docker-compose.rst b/framework/doc/source/docker/run-quickstart-examples-docker-compose.rst similarity index 100% rename from doc/source/docker/run-quickstart-examples-docker-compose.rst rename to framework/doc/source/docker/run-quickstart-examples-docker-compose.rst diff --git a/doc/source/docker/set-environment-variables.rst b/framework/doc/source/docker/set-environment-variables.rst similarity index 100% rename from doc/source/docker/set-environment-variables.rst rename to framework/doc/source/docker/set-environment-variables.rst diff --git a/doc/source/docker/tutorial-deploy-on-multiple-machines.rst b/framework/doc/source/docker/tutorial-deploy-on-multiple-machines.rst similarity index 100% rename from doc/source/docker/tutorial-deploy-on-multiple-machines.rst rename to framework/doc/source/docker/tutorial-deploy-on-multiple-machines.rst diff --git a/doc/source/docker/tutorial-quickstart-docker-compose.rst b/framework/doc/source/docker/tutorial-quickstart-docker-compose.rst similarity index 100% rename from doc/source/docker/tutorial-quickstart-docker-compose.rst rename to framework/doc/source/docker/tutorial-quickstart-docker-compose.rst diff --git a/doc/source/docker/tutorial-quickstart-docker.rst b/framework/doc/source/docker/tutorial-quickstart-docker.rst similarity index 100% rename from doc/source/docker/tutorial-quickstart-docker.rst rename to framework/doc/source/docker/tutorial-quickstart-docker.rst diff --git a/doc/source/docker/use-a-different-version.rst b/framework/doc/source/docker/use-a-different-version.rst similarity index 100% rename from doc/source/docker/use-a-different-version.rst rename to framework/doc/source/docker/use-a-different-version.rst diff --git a/doc/source/explanation-differential-privacy.rst b/framework/doc/source/explanation-differential-privacy.rst similarity index 100% rename from doc/source/explanation-differential-privacy.rst rename to framework/doc/source/explanation-differential-privacy.rst diff --git a/doc/source/explanation-federated-evaluation.rst b/framework/doc/source/explanation-federated-evaluation.rst similarity index 100% rename from doc/source/explanation-federated-evaluation.rst rename to framework/doc/source/explanation-federated-evaluation.rst diff --git a/doc/source/explanation-flower-architecture.rst b/framework/doc/source/explanation-flower-architecture.rst similarity index 100% rename from doc/source/explanation-flower-architecture.rst rename to framework/doc/source/explanation-flower-architecture.rst diff --git a/doc/source/how-to-aggregate-evaluation-results.rst b/framework/doc/source/how-to-aggregate-evaluation-results.rst similarity index 100% rename from doc/source/how-to-aggregate-evaluation-results.rst rename to framework/doc/source/how-to-aggregate-evaluation-results.rst diff --git a/doc/source/how-to-authenticate-supernodes.rst b/framework/doc/source/how-to-authenticate-supernodes.rst similarity index 100% rename from doc/source/how-to-authenticate-supernodes.rst rename to framework/doc/source/how-to-authenticate-supernodes.rst diff --git a/doc/source/how-to-configure-clients.rst b/framework/doc/source/how-to-configure-clients.rst similarity index 100% rename from doc/source/how-to-configure-clients.rst rename to framework/doc/source/how-to-configure-clients.rst diff --git a/doc/source/how-to-design-stateful-clients.rst b/framework/doc/source/how-to-design-stateful-clients.rst similarity index 100% rename from doc/source/how-to-design-stateful-clients.rst rename to framework/doc/source/how-to-design-stateful-clients.rst diff --git a/doc/source/how-to-enable-tls-connections.rst b/framework/doc/source/how-to-enable-tls-connections.rst similarity index 100% rename from doc/source/how-to-enable-tls-connections.rst rename to framework/doc/source/how-to-enable-tls-connections.rst diff --git a/doc/source/how-to-implement-fedbn.rst b/framework/doc/source/how-to-implement-fedbn.rst similarity index 100% rename from doc/source/how-to-implement-fedbn.rst rename to framework/doc/source/how-to-implement-fedbn.rst diff --git a/doc/source/how-to-implement-strategies.rst b/framework/doc/source/how-to-implement-strategies.rst similarity index 100% rename from doc/source/how-to-implement-strategies.rst rename to framework/doc/source/how-to-implement-strategies.rst diff --git a/doc/source/how-to-install-flower.rst b/framework/doc/source/how-to-install-flower.rst similarity index 100% rename from doc/source/how-to-install-flower.rst rename to framework/doc/source/how-to-install-flower.rst diff --git a/doc/source/how-to-run-simulations.rst b/framework/doc/source/how-to-run-simulations.rst similarity index 100% rename from doc/source/how-to-run-simulations.rst rename to framework/doc/source/how-to-run-simulations.rst diff --git a/doc/source/how-to-save-and-load-model-checkpoints.rst b/framework/doc/source/how-to-save-and-load-model-checkpoints.rst similarity index 100% rename from doc/source/how-to-save-and-load-model-checkpoints.rst rename to framework/doc/source/how-to-save-and-load-model-checkpoints.rst diff --git a/doc/source/how-to-upgrade-to-flower-1.0.rst b/framework/doc/source/how-to-upgrade-to-flower-1.0.rst similarity index 100% rename from doc/source/how-to-upgrade-to-flower-1.0.rst rename to framework/doc/source/how-to-upgrade-to-flower-1.0.rst diff --git a/doc/source/how-to-upgrade-to-flower-1.13.rst b/framework/doc/source/how-to-upgrade-to-flower-1.13.rst similarity index 100% rename from doc/source/how-to-upgrade-to-flower-1.13.rst rename to framework/doc/source/how-to-upgrade-to-flower-1.13.rst diff --git a/doc/source/how-to-use-built-in-mods.rst b/framework/doc/source/how-to-use-built-in-mods.rst similarity index 100% rename from doc/source/how-to-use-built-in-mods.rst rename to framework/doc/source/how-to-use-built-in-mods.rst diff --git a/doc/source/how-to-use-differential-privacy.rst b/framework/doc/source/how-to-use-differential-privacy.rst similarity index 100% rename from doc/source/how-to-use-differential-privacy.rst rename to framework/doc/source/how-to-use-differential-privacy.rst diff --git a/doc/source/how-to-use-strategies.rst b/framework/doc/source/how-to-use-strategies.rst similarity index 100% rename from doc/source/how-to-use-strategies.rst rename to framework/doc/source/how-to-use-strategies.rst diff --git a/doc/source/index.rst b/framework/doc/source/index.rst similarity index 100% rename from doc/source/index.rst rename to framework/doc/source/index.rst diff --git a/doc/source/ref-api-cli.rst b/framework/doc/source/ref-api-cli.rst similarity index 100% rename from doc/source/ref-api-cli.rst rename to framework/doc/source/ref-api-cli.rst diff --git a/doc/source/ref-changelog.md b/framework/doc/source/ref-changelog.md similarity index 100% rename from doc/source/ref-changelog.md rename to framework/doc/source/ref-changelog.md diff --git a/doc/source/ref-example-projects.rst b/framework/doc/source/ref-example-projects.rst similarity index 100% rename from doc/source/ref-example-projects.rst rename to framework/doc/source/ref-example-projects.rst diff --git a/doc/source/ref-faq.rst b/framework/doc/source/ref-faq.rst similarity index 100% rename from doc/source/ref-faq.rst rename to framework/doc/source/ref-faq.rst diff --git a/doc/source/ref-telemetry.md b/framework/doc/source/ref-telemetry.md similarity index 100% rename from doc/source/ref-telemetry.md rename to framework/doc/source/ref-telemetry.md diff --git a/doc/source/tutorial-quickstart-android.rst b/framework/doc/source/tutorial-quickstart-android.rst similarity index 100% rename from doc/source/tutorial-quickstart-android.rst rename to framework/doc/source/tutorial-quickstart-android.rst diff --git a/doc/source/tutorial-quickstart-fastai.rst b/framework/doc/source/tutorial-quickstart-fastai.rst similarity index 100% rename from doc/source/tutorial-quickstart-fastai.rst rename to framework/doc/source/tutorial-quickstart-fastai.rst diff --git a/doc/source/tutorial-quickstart-huggingface.rst b/framework/doc/source/tutorial-quickstart-huggingface.rst similarity index 100% rename from doc/source/tutorial-quickstart-huggingface.rst rename to framework/doc/source/tutorial-quickstart-huggingface.rst diff --git a/doc/source/tutorial-quickstart-ios.rst b/framework/doc/source/tutorial-quickstart-ios.rst similarity index 100% rename from doc/source/tutorial-quickstart-ios.rst rename to framework/doc/source/tutorial-quickstart-ios.rst diff --git a/doc/source/tutorial-quickstart-jax.rst b/framework/doc/source/tutorial-quickstart-jax.rst similarity index 100% rename from doc/source/tutorial-quickstart-jax.rst rename to framework/doc/source/tutorial-quickstart-jax.rst diff --git a/doc/source/tutorial-quickstart-mlx.rst b/framework/doc/source/tutorial-quickstart-mlx.rst similarity index 100% rename from doc/source/tutorial-quickstart-mlx.rst rename to framework/doc/source/tutorial-quickstart-mlx.rst diff --git a/doc/source/tutorial-quickstart-pandas.rst b/framework/doc/source/tutorial-quickstart-pandas.rst similarity index 100% rename from doc/source/tutorial-quickstart-pandas.rst rename to framework/doc/source/tutorial-quickstart-pandas.rst diff --git a/doc/source/tutorial-quickstart-pytorch-lightning.rst b/framework/doc/source/tutorial-quickstart-pytorch-lightning.rst similarity index 100% rename from doc/source/tutorial-quickstart-pytorch-lightning.rst rename to framework/doc/source/tutorial-quickstart-pytorch-lightning.rst diff --git a/doc/source/tutorial-quickstart-pytorch.rst b/framework/doc/source/tutorial-quickstart-pytorch.rst similarity index 100% rename from doc/source/tutorial-quickstart-pytorch.rst rename to framework/doc/source/tutorial-quickstart-pytorch.rst diff --git a/doc/source/tutorial-quickstart-scikitlearn.rst b/framework/doc/source/tutorial-quickstart-scikitlearn.rst similarity index 100% rename from doc/source/tutorial-quickstart-scikitlearn.rst rename to framework/doc/source/tutorial-quickstart-scikitlearn.rst diff --git a/doc/source/tutorial-quickstart-tensorflow.rst b/framework/doc/source/tutorial-quickstart-tensorflow.rst similarity index 100% rename from doc/source/tutorial-quickstart-tensorflow.rst rename to framework/doc/source/tutorial-quickstart-tensorflow.rst diff --git a/doc/source/tutorial-quickstart-xgboost.rst b/framework/doc/source/tutorial-quickstart-xgboost.rst similarity index 100% rename from doc/source/tutorial-quickstart-xgboost.rst rename to framework/doc/source/tutorial-quickstart-xgboost.rst diff --git a/doc/source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb b/framework/doc/source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb similarity index 100% rename from doc/source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb rename to framework/doc/source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb diff --git a/doc/source/tutorial-series-customize-the-client-pytorch.ipynb b/framework/doc/source/tutorial-series-customize-the-client-pytorch.ipynb similarity index 100% rename from doc/source/tutorial-series-customize-the-client-pytorch.ipynb rename to framework/doc/source/tutorial-series-customize-the-client-pytorch.ipynb diff --git a/doc/source/tutorial-series-get-started-with-flower-pytorch.ipynb b/framework/doc/source/tutorial-series-get-started-with-flower-pytorch.ipynb similarity index 100% rename from doc/source/tutorial-series-get-started-with-flower-pytorch.ipynb rename to framework/doc/source/tutorial-series-get-started-with-flower-pytorch.ipynb diff --git a/doc/source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb b/framework/doc/source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb similarity index 100% rename from doc/source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb rename to framework/doc/source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb diff --git a/doc/source/tutorial-series-what-is-federated-learning.ipynb b/framework/doc/source/tutorial-series-what-is-federated-learning.ipynb similarity index 100% rename from doc/source/tutorial-series-what-is-federated-learning.ipynb rename to framework/doc/source/tutorial-series-what-is-federated-learning.ipynb diff --git a/e2e/README.md b/framework/e2e/README.md similarity index 100% rename from e2e/README.md rename to framework/e2e/README.md diff --git a/e2e/docker/README.md b/framework/e2e/docker/README.md similarity index 100% rename from e2e/docker/README.md rename to framework/e2e/docker/README.md diff --git a/e2e/docker/client.py b/framework/e2e/docker/client.py similarity index 100% rename from e2e/docker/client.py rename to framework/e2e/docker/client.py diff --git a/e2e/docker/compose.yaml b/framework/e2e/docker/compose.yaml similarity index 100% rename from e2e/docker/compose.yaml rename to framework/e2e/docker/compose.yaml diff --git a/e2e/docker/pyproject.toml b/framework/e2e/docker/pyproject.toml similarity index 100% rename from e2e/docker/pyproject.toml rename to framework/e2e/docker/pyproject.toml diff --git a/e2e/docker/server.py b/framework/e2e/docker/server.py similarity index 100% rename from e2e/docker/server.py rename to framework/e2e/docker/server.py diff --git a/e2e/docker/serverapp.Dockerfile b/framework/e2e/docker/serverapp.Dockerfile similarity index 100% rename from e2e/docker/serverapp.Dockerfile rename to framework/e2e/docker/serverapp.Dockerfile diff --git a/e2e/docker/supernode.Dockerfile b/framework/e2e/docker/supernode.Dockerfile similarity index 100% rename from e2e/docker/supernode.Dockerfile rename to framework/e2e/docker/supernode.Dockerfile diff --git a/e2e/e2e-bare-auth/README.md b/framework/e2e/e2e-bare-auth/README.md similarity index 100% rename from e2e/e2e-bare-auth/README.md rename to framework/e2e/e2e-bare-auth/README.md diff --git a/e2e/e2e-bare-auth/certificate.conf b/framework/e2e/e2e-bare-auth/certificate.conf similarity index 100% rename from e2e/e2e-bare-auth/certificate.conf rename to framework/e2e/e2e-bare-auth/certificate.conf diff --git a/e2e/e2e-bare-auth/e2e_bare_auth/__init__.py b/framework/e2e/e2e-bare-auth/e2e_bare_auth/__init__.py similarity index 100% rename from e2e/e2e-bare-auth/e2e_bare_auth/__init__.py rename to framework/e2e/e2e-bare-auth/e2e_bare_auth/__init__.py diff --git a/e2e/e2e-bare-auth/e2e_bare_auth/client_app.py b/framework/e2e/e2e-bare-auth/e2e_bare_auth/client_app.py similarity index 100% rename from e2e/e2e-bare-auth/e2e_bare_auth/client_app.py rename to framework/e2e/e2e-bare-auth/e2e_bare_auth/client_app.py diff --git a/e2e/e2e-bare-auth/e2e_bare_auth/server_app.py b/framework/e2e/e2e-bare-auth/e2e_bare_auth/server_app.py similarity index 100% rename from e2e/e2e-bare-auth/e2e_bare_auth/server_app.py rename to framework/e2e/e2e-bare-auth/e2e_bare_auth/server_app.py diff --git a/e2e/e2e-bare-auth/generate.sh b/framework/e2e/e2e-bare-auth/generate.sh similarity index 100% rename from e2e/e2e-bare-auth/generate.sh rename to framework/e2e/e2e-bare-auth/generate.sh diff --git a/e2e/e2e-bare-auth/pyproject.toml b/framework/e2e/e2e-bare-auth/pyproject.toml similarity index 100% rename from e2e/e2e-bare-auth/pyproject.toml rename to framework/e2e/e2e-bare-auth/pyproject.toml diff --git a/e2e/e2e-bare-https/README.md b/framework/e2e/e2e-bare-https/README.md similarity index 100% rename from e2e/e2e-bare-https/README.md rename to framework/e2e/e2e-bare-https/README.md diff --git a/e2e/e2e-bare-https/certificate.conf b/framework/e2e/e2e-bare-https/certificate.conf similarity index 100% rename from e2e/e2e-bare-https/certificate.conf rename to framework/e2e/e2e-bare-https/certificate.conf diff --git a/e2e/e2e-bare-https/e2e_bare_https/__init__.py b/framework/e2e/e2e-bare-https/e2e_bare_https/__init__.py similarity index 100% rename from e2e/e2e-bare-https/e2e_bare_https/__init__.py rename to framework/e2e/e2e-bare-https/e2e_bare_https/__init__.py diff --git a/e2e/e2e-bare-https/e2e_bare_https/client_app.py b/framework/e2e/e2e-bare-https/e2e_bare_https/client_app.py similarity index 100% rename from e2e/e2e-bare-https/e2e_bare_https/client_app.py rename to framework/e2e/e2e-bare-https/e2e_bare_https/client_app.py diff --git a/e2e/e2e-bare-https/e2e_bare_https/server_app.py b/framework/e2e/e2e-bare-https/e2e_bare_https/server_app.py similarity index 100% rename from e2e/e2e-bare-https/e2e_bare_https/server_app.py rename to framework/e2e/e2e-bare-https/e2e_bare_https/server_app.py diff --git a/e2e/e2e-bare-https/generate.sh b/framework/e2e/e2e-bare-https/generate.sh similarity index 100% rename from e2e/e2e-bare-https/generate.sh rename to framework/e2e/e2e-bare-https/generate.sh diff --git a/e2e/e2e-bare-https/pyproject.toml b/framework/e2e/e2e-bare-https/pyproject.toml similarity index 100% rename from e2e/e2e-bare-https/pyproject.toml rename to framework/e2e/e2e-bare-https/pyproject.toml diff --git a/e2e/e2e-bare-https/simulation.py b/framework/e2e/e2e-bare-https/simulation.py similarity index 100% rename from e2e/e2e-bare-https/simulation.py rename to framework/e2e/e2e-bare-https/simulation.py diff --git a/e2e/e2e-bare/README.md b/framework/e2e/e2e-bare/README.md similarity index 100% rename from e2e/e2e-bare/README.md rename to framework/e2e/e2e-bare/README.md diff --git a/e2e/e2e-bare/e2e_bare/__init__.py b/framework/e2e/e2e-bare/e2e_bare/__init__.py similarity index 100% rename from e2e/e2e-bare/e2e_bare/__init__.py rename to framework/e2e/e2e-bare/e2e_bare/__init__.py diff --git a/e2e/e2e-bare/e2e_bare/client_app.py b/framework/e2e/e2e-bare/e2e_bare/client_app.py similarity index 100% rename from e2e/e2e-bare/e2e_bare/client_app.py rename to framework/e2e/e2e-bare/e2e_bare/client_app.py diff --git a/e2e/e2e-bare/e2e_bare/server_app.py b/framework/e2e/e2e-bare/e2e_bare/server_app.py similarity index 100% rename from e2e/e2e-bare/e2e_bare/server_app.py rename to framework/e2e/e2e-bare/e2e_bare/server_app.py diff --git a/e2e/e2e-bare/pyproject.toml b/framework/e2e/e2e-bare/pyproject.toml similarity index 100% rename from e2e/e2e-bare/pyproject.toml rename to framework/e2e/e2e-bare/pyproject.toml diff --git a/e2e/e2e-bare/simulation.py b/framework/e2e/e2e-bare/simulation.py similarity index 100% rename from e2e/e2e-bare/simulation.py rename to framework/e2e/e2e-bare/simulation.py diff --git a/e2e/e2e-fastai/README.md b/framework/e2e/e2e-fastai/README.md similarity index 100% rename from e2e/e2e-fastai/README.md rename to framework/e2e/e2e-fastai/README.md diff --git a/e2e/e2e-fastai/e2e_fastai/__init__.py b/framework/e2e/e2e-fastai/e2e_fastai/__init__.py similarity index 100% rename from e2e/e2e-fastai/e2e_fastai/__init__.py rename to framework/e2e/e2e-fastai/e2e_fastai/__init__.py diff --git a/e2e/e2e-fastai/e2e_fastai/client_app.py b/framework/e2e/e2e-fastai/e2e_fastai/client_app.py similarity index 100% rename from e2e/e2e-fastai/e2e_fastai/client_app.py rename to framework/e2e/e2e-fastai/e2e_fastai/client_app.py diff --git a/e2e/e2e-fastai/e2e_fastai/server_app.py b/framework/e2e/e2e-fastai/e2e_fastai/server_app.py similarity index 100% rename from e2e/e2e-fastai/e2e_fastai/server_app.py rename to framework/e2e/e2e-fastai/e2e_fastai/server_app.py diff --git a/e2e/e2e-fastai/pyproject.toml b/framework/e2e/e2e-fastai/pyproject.toml similarity index 100% rename from e2e/e2e-fastai/pyproject.toml rename to framework/e2e/e2e-fastai/pyproject.toml diff --git a/e2e/e2e-fastai/simulation.py b/framework/e2e/e2e-fastai/simulation.py similarity index 100% rename from e2e/e2e-fastai/simulation.py rename to framework/e2e/e2e-fastai/simulation.py diff --git a/e2e/e2e-jax/README.md b/framework/e2e/e2e-jax/README.md similarity index 100% rename from e2e/e2e-jax/README.md rename to framework/e2e/e2e-jax/README.md diff --git a/e2e/e2e-jax/e2e_jax/__init__.py b/framework/e2e/e2e-jax/e2e_jax/__init__.py similarity index 100% rename from e2e/e2e-jax/e2e_jax/__init__.py rename to framework/e2e/e2e-jax/e2e_jax/__init__.py diff --git a/e2e/e2e-jax/e2e_jax/client_app.py b/framework/e2e/e2e-jax/e2e_jax/client_app.py similarity index 100% rename from e2e/e2e-jax/e2e_jax/client_app.py rename to framework/e2e/e2e-jax/e2e_jax/client_app.py diff --git a/e2e/e2e-jax/e2e_jax/jax_training.py b/framework/e2e/e2e-jax/e2e_jax/jax_training.py similarity index 100% rename from e2e/e2e-jax/e2e_jax/jax_training.py rename to framework/e2e/e2e-jax/e2e_jax/jax_training.py diff --git a/e2e/e2e-jax/e2e_jax/server_app.py b/framework/e2e/e2e-jax/e2e_jax/server_app.py similarity index 100% rename from e2e/e2e-jax/e2e_jax/server_app.py rename to framework/e2e/e2e-jax/e2e_jax/server_app.py diff --git a/e2e/e2e-jax/pyproject.toml b/framework/e2e/e2e-jax/pyproject.toml similarity index 100% rename from e2e/e2e-jax/pyproject.toml rename to framework/e2e/e2e-jax/pyproject.toml diff --git a/e2e/e2e-jax/simulation.py b/framework/e2e/e2e-jax/simulation.py similarity index 100% rename from e2e/e2e-jax/simulation.py rename to framework/e2e/e2e-jax/simulation.py diff --git a/e2e/e2e-opacus/.gitignore b/framework/e2e/e2e-opacus/.gitignore similarity index 100% rename from e2e/e2e-opacus/.gitignore rename to framework/e2e/e2e-opacus/.gitignore diff --git a/e2e/e2e-opacus/README.md b/framework/e2e/e2e-opacus/README.md similarity index 100% rename from e2e/e2e-opacus/README.md rename to framework/e2e/e2e-opacus/README.md diff --git a/e2e/e2e-opacus/e2e_opacus/__init__.py b/framework/e2e/e2e-opacus/e2e_opacus/__init__.py similarity index 100% rename from e2e/e2e-opacus/e2e_opacus/__init__.py rename to framework/e2e/e2e-opacus/e2e_opacus/__init__.py diff --git a/e2e/e2e-opacus/e2e_opacus/client_app.py b/framework/e2e/e2e-opacus/e2e_opacus/client_app.py similarity index 100% rename from e2e/e2e-opacus/e2e_opacus/client_app.py rename to framework/e2e/e2e-opacus/e2e_opacus/client_app.py diff --git a/e2e/e2e-opacus/e2e_opacus/server_app.py b/framework/e2e/e2e-opacus/e2e_opacus/server_app.py similarity index 100% rename from e2e/e2e-opacus/e2e_opacus/server_app.py rename to framework/e2e/e2e-opacus/e2e_opacus/server_app.py diff --git a/e2e/e2e-opacus/pyproject.toml b/framework/e2e/e2e-opacus/pyproject.toml similarity index 100% rename from e2e/e2e-opacus/pyproject.toml rename to framework/e2e/e2e-opacus/pyproject.toml diff --git a/e2e/e2e-opacus/simulation.py b/framework/e2e/e2e-opacus/simulation.py similarity index 100% rename from e2e/e2e-opacus/simulation.py rename to framework/e2e/e2e-opacus/simulation.py diff --git a/e2e/e2e-pandas/README.md b/framework/e2e/e2e-pandas/README.md similarity index 100% rename from e2e/e2e-pandas/README.md rename to framework/e2e/e2e-pandas/README.md diff --git a/e2e/e2e-pandas/e2e_pandas/__init__.py b/framework/e2e/e2e-pandas/e2e_pandas/__init__.py similarity index 100% rename from e2e/e2e-pandas/e2e_pandas/__init__.py rename to framework/e2e/e2e-pandas/e2e_pandas/__init__.py diff --git a/e2e/e2e-pandas/e2e_pandas/client_app.py b/framework/e2e/e2e-pandas/e2e_pandas/client_app.py similarity index 100% rename from e2e/e2e-pandas/e2e_pandas/client_app.py rename to framework/e2e/e2e-pandas/e2e_pandas/client_app.py diff --git a/e2e/e2e-pandas/e2e_pandas/server_app.py b/framework/e2e/e2e-pandas/e2e_pandas/server_app.py similarity index 100% rename from e2e/e2e-pandas/e2e_pandas/server_app.py rename to framework/e2e/e2e-pandas/e2e_pandas/server_app.py diff --git a/e2e/e2e-pandas/e2e_pandas/strategy.py b/framework/e2e/e2e-pandas/e2e_pandas/strategy.py similarity index 100% rename from e2e/e2e-pandas/e2e_pandas/strategy.py rename to framework/e2e/e2e-pandas/e2e_pandas/strategy.py diff --git a/e2e/e2e-pandas/pyproject.toml b/framework/e2e/e2e-pandas/pyproject.toml similarity index 100% rename from e2e/e2e-pandas/pyproject.toml rename to framework/e2e/e2e-pandas/pyproject.toml diff --git a/e2e/e2e-pandas/simulation.py b/framework/e2e/e2e-pandas/simulation.py similarity index 100% rename from e2e/e2e-pandas/simulation.py rename to framework/e2e/e2e-pandas/simulation.py diff --git a/e2e/e2e-pytorch-lightning/README.md b/framework/e2e/e2e-pytorch-lightning/README.md similarity index 100% rename from e2e/e2e-pytorch-lightning/README.md rename to framework/e2e/e2e-pytorch-lightning/README.md diff --git a/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/__init__.py b/framework/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/__init__.py similarity index 100% rename from e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/__init__.py rename to framework/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/__init__.py diff --git a/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/client_app.py b/framework/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/client_app.py similarity index 100% rename from e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/client_app.py rename to framework/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/client_app.py diff --git a/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/mnist.py b/framework/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/mnist.py similarity index 100% rename from e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/mnist.py rename to framework/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/mnist.py diff --git a/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/server_app.py b/framework/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/server_app.py similarity index 100% rename from e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/server_app.py rename to framework/e2e/e2e-pytorch-lightning/e2e_pytorch_lightning/server_app.py diff --git a/e2e/e2e-pytorch-lightning/pyproject.toml b/framework/e2e/e2e-pytorch-lightning/pyproject.toml similarity index 100% rename from e2e/e2e-pytorch-lightning/pyproject.toml rename to framework/e2e/e2e-pytorch-lightning/pyproject.toml diff --git a/e2e/e2e-pytorch-lightning/simulation.py b/framework/e2e/e2e-pytorch-lightning/simulation.py similarity index 100% rename from e2e/e2e-pytorch-lightning/simulation.py rename to framework/e2e/e2e-pytorch-lightning/simulation.py diff --git a/e2e/e2e-pytorch/README.md b/framework/e2e/e2e-pytorch/README.md similarity index 100% rename from e2e/e2e-pytorch/README.md rename to framework/e2e/e2e-pytorch/README.md diff --git a/e2e/e2e-pytorch/e2e_pytorch/__init__.py b/framework/e2e/e2e-pytorch/e2e_pytorch/__init__.py similarity index 100% rename from e2e/e2e-pytorch/e2e_pytorch/__init__.py rename to framework/e2e/e2e-pytorch/e2e_pytorch/__init__.py diff --git a/e2e/e2e-pytorch/e2e_pytorch/client_app.py b/framework/e2e/e2e-pytorch/e2e_pytorch/client_app.py similarity index 100% rename from e2e/e2e-pytorch/e2e_pytorch/client_app.py rename to framework/e2e/e2e-pytorch/e2e_pytorch/client_app.py diff --git a/e2e/e2e-pytorch/e2e_pytorch/server_app.py b/framework/e2e/e2e-pytorch/e2e_pytorch/server_app.py similarity index 100% rename from e2e/e2e-pytorch/e2e_pytorch/server_app.py rename to framework/e2e/e2e-pytorch/e2e_pytorch/server_app.py diff --git a/e2e/e2e-pytorch/pyproject.toml b/framework/e2e/e2e-pytorch/pyproject.toml similarity index 100% rename from e2e/e2e-pytorch/pyproject.toml rename to framework/e2e/e2e-pytorch/pyproject.toml diff --git a/e2e/e2e-pytorch/simulation.py b/framework/e2e/e2e-pytorch/simulation.py similarity index 100% rename from e2e/e2e-pytorch/simulation.py rename to framework/e2e/e2e-pytorch/simulation.py diff --git a/e2e/e2e-pytorch/simulation_next.py b/framework/e2e/e2e-pytorch/simulation_next.py similarity index 100% rename from e2e/e2e-pytorch/simulation_next.py rename to framework/e2e/e2e-pytorch/simulation_next.py diff --git a/e2e/e2e-scikit-learn/README.md b/framework/e2e/e2e-scikit-learn/README.md similarity index 100% rename from e2e/e2e-scikit-learn/README.md rename to framework/e2e/e2e-scikit-learn/README.md diff --git a/e2e/e2e-scikit-learn/e2e_scikit_learn/__init__.py b/framework/e2e/e2e-scikit-learn/e2e_scikit_learn/__init__.py similarity index 100% rename from e2e/e2e-scikit-learn/e2e_scikit_learn/__init__.py rename to framework/e2e/e2e-scikit-learn/e2e_scikit_learn/__init__.py diff --git a/e2e/e2e-scikit-learn/e2e_scikit_learn/client_app.py b/framework/e2e/e2e-scikit-learn/e2e_scikit_learn/client_app.py similarity index 100% rename from e2e/e2e-scikit-learn/e2e_scikit_learn/client_app.py rename to framework/e2e/e2e-scikit-learn/e2e_scikit_learn/client_app.py diff --git a/e2e/e2e-scikit-learn/e2e_scikit_learn/server_app.py b/framework/e2e/e2e-scikit-learn/e2e_scikit_learn/server_app.py similarity index 100% rename from e2e/e2e-scikit-learn/e2e_scikit_learn/server_app.py rename to framework/e2e/e2e-scikit-learn/e2e_scikit_learn/server_app.py diff --git a/e2e/e2e-scikit-learn/e2e_scikit_learn/utils.py b/framework/e2e/e2e-scikit-learn/e2e_scikit_learn/utils.py similarity index 100% rename from e2e/e2e-scikit-learn/e2e_scikit_learn/utils.py rename to framework/e2e/e2e-scikit-learn/e2e_scikit_learn/utils.py diff --git a/e2e/e2e-scikit-learn/pyproject.toml b/framework/e2e/e2e-scikit-learn/pyproject.toml similarity index 100% rename from e2e/e2e-scikit-learn/pyproject.toml rename to framework/e2e/e2e-scikit-learn/pyproject.toml diff --git a/e2e/e2e-scikit-learn/simulation.py b/framework/e2e/e2e-scikit-learn/simulation.py similarity index 100% rename from e2e/e2e-scikit-learn/simulation.py rename to framework/e2e/e2e-scikit-learn/simulation.py diff --git a/e2e/e2e-tensorflow/README.md b/framework/e2e/e2e-tensorflow/README.md similarity index 100% rename from e2e/e2e-tensorflow/README.md rename to framework/e2e/e2e-tensorflow/README.md diff --git a/e2e/e2e-tensorflow/e2e_tensorflow/__init__.py b/framework/e2e/e2e-tensorflow/e2e_tensorflow/__init__.py similarity index 100% rename from e2e/e2e-tensorflow/e2e_tensorflow/__init__.py rename to framework/e2e/e2e-tensorflow/e2e_tensorflow/__init__.py diff --git a/e2e/e2e-tensorflow/e2e_tensorflow/client_app.py b/framework/e2e/e2e-tensorflow/e2e_tensorflow/client_app.py similarity index 100% rename from e2e/e2e-tensorflow/e2e_tensorflow/client_app.py rename to framework/e2e/e2e-tensorflow/e2e_tensorflow/client_app.py diff --git a/e2e/e2e-tensorflow/e2e_tensorflow/server_app.py b/framework/e2e/e2e-tensorflow/e2e_tensorflow/server_app.py similarity index 100% rename from e2e/e2e-tensorflow/e2e_tensorflow/server_app.py rename to framework/e2e/e2e-tensorflow/e2e_tensorflow/server_app.py diff --git a/e2e/e2e-tensorflow/pyproject.toml b/framework/e2e/e2e-tensorflow/pyproject.toml similarity index 100% rename from e2e/e2e-tensorflow/pyproject.toml rename to framework/e2e/e2e-tensorflow/pyproject.toml diff --git a/e2e/e2e-tensorflow/simulation.py b/framework/e2e/e2e-tensorflow/simulation.py similarity index 100% rename from e2e/e2e-tensorflow/simulation.py rename to framework/e2e/e2e-tensorflow/simulation.py diff --git a/e2e/e2e-tensorflow/simulation_next.py b/framework/e2e/e2e-tensorflow/simulation_next.py similarity index 100% rename from e2e/e2e-tensorflow/simulation_next.py rename to framework/e2e/e2e-tensorflow/simulation_next.py diff --git a/e2e/pyproject.toml b/framework/e2e/pyproject.toml similarity index 100% rename from e2e/pyproject.toml rename to framework/e2e/pyproject.toml diff --git a/e2e/strategies/README.md b/framework/e2e/strategies/README.md similarity index 100% rename from e2e/strategies/README.md rename to framework/e2e/strategies/README.md diff --git a/e2e/strategies/client.py b/framework/e2e/strategies/client.py similarity index 100% rename from e2e/strategies/client.py rename to framework/e2e/strategies/client.py diff --git a/e2e/strategies/pyproject.toml b/framework/e2e/strategies/pyproject.toml similarity index 100% rename from e2e/strategies/pyproject.toml rename to framework/e2e/strategies/pyproject.toml diff --git a/e2e/strategies/test.py b/framework/e2e/strategies/test.py similarity index 100% rename from e2e/strategies/test.py rename to framework/e2e/strategies/test.py diff --git a/e2e/test_exec_api.sh b/framework/e2e/test_exec_api.sh similarity index 100% rename from e2e/test_exec_api.sh rename to framework/e2e/test_exec_api.sh diff --git a/e2e/test_legacy.sh b/framework/e2e/test_legacy.sh similarity index 100% rename from e2e/test_legacy.sh rename to framework/e2e/test_legacy.sh diff --git a/e2e/test_reconnection.sh b/framework/e2e/test_reconnection.sh similarity index 100% rename from e2e/test_reconnection.sh rename to framework/e2e/test_reconnection.sh diff --git a/e2e/test_superlink.sh b/framework/e2e/test_superlink.sh similarity index 100% rename from e2e/test_superlink.sh rename to framework/e2e/test_superlink.sh diff --git a/src/cc/flwr/.gitignore b/framework/src/cc/flwr/.gitignore similarity index 100% rename from src/cc/flwr/.gitignore rename to framework/src/cc/flwr/.gitignore diff --git a/src/cc/flwr/CMakeLists.txt b/framework/src/cc/flwr/CMakeLists.txt similarity index 100% rename from src/cc/flwr/CMakeLists.txt rename to framework/src/cc/flwr/CMakeLists.txt diff --git a/src/cc/flwr/cmake/StartLibConfig.cmake.in b/framework/src/cc/flwr/cmake/StartLibConfig.cmake.in similarity index 100% rename from src/cc/flwr/cmake/StartLibConfig.cmake.in rename to framework/src/cc/flwr/cmake/StartLibConfig.cmake.in diff --git a/src/cc/flwr/cmake/flwrConfig.cmake.in b/framework/src/cc/flwr/cmake/flwrConfig.cmake.in similarity index 100% rename from src/cc/flwr/cmake/flwrConfig.cmake.in rename to framework/src/cc/flwr/cmake/flwrConfig.cmake.in diff --git a/src/cc/flwr/include/client.h b/framework/src/cc/flwr/include/client.h similarity index 100% rename from src/cc/flwr/include/client.h rename to framework/src/cc/flwr/include/client.h diff --git a/src/cc/flwr/include/communicator.h b/framework/src/cc/flwr/include/communicator.h similarity index 100% rename from src/cc/flwr/include/communicator.h rename to framework/src/cc/flwr/include/communicator.h diff --git a/src/cc/flwr/include/flwr/proto/error.grpc.pb.cc b/framework/src/cc/flwr/include/flwr/proto/error.grpc.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/error.grpc.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/error.grpc.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/error.grpc.pb.h b/framework/src/cc/flwr/include/flwr/proto/error.grpc.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/error.grpc.pb.h rename to framework/src/cc/flwr/include/flwr/proto/error.grpc.pb.h diff --git a/src/cc/flwr/include/flwr/proto/error.pb.cc b/framework/src/cc/flwr/include/flwr/proto/error.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/error.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/error.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/error.pb.h b/framework/src/cc/flwr/include/flwr/proto/error.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/error.pb.h rename to framework/src/cc/flwr/include/flwr/proto/error.pb.h diff --git a/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.cc b/framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/fleet.grpc.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.h b/framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/fleet.grpc.pb.h rename to framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.h diff --git a/src/cc/flwr/include/flwr/proto/fleet.pb.cc b/framework/src/cc/flwr/include/flwr/proto/fleet.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/fleet.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/fleet.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/fleet.pb.h b/framework/src/cc/flwr/include/flwr/proto/fleet.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/fleet.pb.h rename to framework/src/cc/flwr/include/flwr/proto/fleet.pb.h diff --git a/src/cc/flwr/include/flwr/proto/node.grpc.pb.cc b/framework/src/cc/flwr/include/flwr/proto/node.grpc.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/node.grpc.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/node.grpc.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/node.grpc.pb.h b/framework/src/cc/flwr/include/flwr/proto/node.grpc.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/node.grpc.pb.h rename to framework/src/cc/flwr/include/flwr/proto/node.grpc.pb.h diff --git a/src/cc/flwr/include/flwr/proto/node.pb.cc b/framework/src/cc/flwr/include/flwr/proto/node.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/node.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/node.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/node.pb.h b/framework/src/cc/flwr/include/flwr/proto/node.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/node.pb.h rename to framework/src/cc/flwr/include/flwr/proto/node.pb.h diff --git a/src/cc/flwr/include/flwr/proto/recordset.grpc.pb.cc b/framework/src/cc/flwr/include/flwr/proto/recordset.grpc.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/recordset.grpc.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/recordset.grpc.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/recordset.grpc.pb.h b/framework/src/cc/flwr/include/flwr/proto/recordset.grpc.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/recordset.grpc.pb.h rename to framework/src/cc/flwr/include/flwr/proto/recordset.grpc.pb.h diff --git a/src/cc/flwr/include/flwr/proto/recordset.pb.cc b/framework/src/cc/flwr/include/flwr/proto/recordset.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/recordset.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/recordset.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/recordset.pb.h b/framework/src/cc/flwr/include/flwr/proto/recordset.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/recordset.pb.h rename to framework/src/cc/flwr/include/flwr/proto/recordset.pb.h diff --git a/src/cc/flwr/include/flwr/proto/task.grpc.pb.cc b/framework/src/cc/flwr/include/flwr/proto/task.grpc.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/task.grpc.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/task.grpc.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/task.grpc.pb.h b/framework/src/cc/flwr/include/flwr/proto/task.grpc.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/task.grpc.pb.h rename to framework/src/cc/flwr/include/flwr/proto/task.grpc.pb.h diff --git a/src/cc/flwr/include/flwr/proto/task.pb.cc b/framework/src/cc/flwr/include/flwr/proto/task.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/task.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/task.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/task.pb.h b/framework/src/cc/flwr/include/flwr/proto/task.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/task.pb.h rename to framework/src/cc/flwr/include/flwr/proto/task.pb.h diff --git a/src/cc/flwr/include/flwr/proto/transport.grpc.pb.cc b/framework/src/cc/flwr/include/flwr/proto/transport.grpc.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/transport.grpc.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/transport.grpc.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/transport.grpc.pb.h b/framework/src/cc/flwr/include/flwr/proto/transport.grpc.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/transport.grpc.pb.h rename to framework/src/cc/flwr/include/flwr/proto/transport.grpc.pb.h diff --git a/src/cc/flwr/include/flwr/proto/transport.pb.cc b/framework/src/cc/flwr/include/flwr/proto/transport.pb.cc similarity index 100% rename from src/cc/flwr/include/flwr/proto/transport.pb.cc rename to framework/src/cc/flwr/include/flwr/proto/transport.pb.cc diff --git a/src/cc/flwr/include/flwr/proto/transport.pb.h b/framework/src/cc/flwr/include/flwr/proto/transport.pb.h similarity index 100% rename from src/cc/flwr/include/flwr/proto/transport.pb.h rename to framework/src/cc/flwr/include/flwr/proto/transport.pb.h diff --git a/src/cc/flwr/include/grpc_rere.h b/framework/src/cc/flwr/include/grpc_rere.h similarity index 100% rename from src/cc/flwr/include/grpc_rere.h rename to framework/src/cc/flwr/include/grpc_rere.h diff --git a/src/cc/flwr/include/message_handler.h b/framework/src/cc/flwr/include/message_handler.h similarity index 100% rename from src/cc/flwr/include/message_handler.h rename to framework/src/cc/flwr/include/message_handler.h diff --git a/src/cc/flwr/include/serde.h b/framework/src/cc/flwr/include/serde.h similarity index 100% rename from src/cc/flwr/include/serde.h rename to framework/src/cc/flwr/include/serde.h diff --git a/src/cc/flwr/include/start.h b/framework/src/cc/flwr/include/start.h similarity index 100% rename from src/cc/flwr/include/start.h rename to framework/src/cc/flwr/include/start.h diff --git a/src/cc/flwr/include/typing.h b/framework/src/cc/flwr/include/typing.h similarity index 100% rename from src/cc/flwr/include/typing.h rename to framework/src/cc/flwr/include/typing.h diff --git a/src/cc/flwr/src/communicator.cc b/framework/src/cc/flwr/src/communicator.cc similarity index 100% rename from src/cc/flwr/src/communicator.cc rename to framework/src/cc/flwr/src/communicator.cc diff --git a/src/cc/flwr/src/grpc_rere.cc b/framework/src/cc/flwr/src/grpc_rere.cc similarity index 100% rename from src/cc/flwr/src/grpc_rere.cc rename to framework/src/cc/flwr/src/grpc_rere.cc diff --git a/src/cc/flwr/src/message_handler.cc b/framework/src/cc/flwr/src/message_handler.cc similarity index 100% rename from src/cc/flwr/src/message_handler.cc rename to framework/src/cc/flwr/src/message_handler.cc diff --git a/src/cc/flwr/src/serde.cc b/framework/src/cc/flwr/src/serde.cc similarity index 100% rename from src/cc/flwr/src/serde.cc rename to framework/src/cc/flwr/src/serde.cc diff --git a/src/cc/flwr/src/start.cc b/framework/src/cc/flwr/src/start.cc similarity index 100% rename from src/cc/flwr/src/start.cc rename to framework/src/cc/flwr/src/start.cc diff --git a/src/docker/base/README.md b/framework/src/docker/base/README.md similarity index 100% rename from src/docker/base/README.md rename to framework/src/docker/base/README.md diff --git a/src/docker/base/alpine/Dockerfile b/framework/src/docker/base/alpine/Dockerfile similarity index 100% rename from src/docker/base/alpine/Dockerfile rename to framework/src/docker/base/alpine/Dockerfile diff --git a/src/docker/base/ubuntu-cuda/Dockerfile b/framework/src/docker/base/ubuntu-cuda/Dockerfile similarity index 100% rename from src/docker/base/ubuntu-cuda/Dockerfile rename to framework/src/docker/base/ubuntu-cuda/Dockerfile diff --git a/src/docker/base/ubuntu/Dockerfile b/framework/src/docker/base/ubuntu/Dockerfile similarity index 100% rename from src/docker/base/ubuntu/Dockerfile rename to framework/src/docker/base/ubuntu/Dockerfile diff --git a/src/docker/clientapp/Dockerfile b/framework/src/docker/clientapp/Dockerfile similarity index 100% rename from src/docker/clientapp/Dockerfile rename to framework/src/docker/clientapp/Dockerfile diff --git a/src/docker/clientapp/README.md b/framework/src/docker/clientapp/README.md similarity index 100% rename from src/docker/clientapp/README.md rename to framework/src/docker/clientapp/README.md diff --git a/src/docker/complete/.gitignore b/framework/src/docker/complete/.gitignore similarity index 100% rename from src/docker/complete/.gitignore rename to framework/src/docker/complete/.gitignore diff --git a/src/docker/complete/certs.yml b/framework/src/docker/complete/certs.yml similarity index 100% rename from src/docker/complete/certs.yml rename to framework/src/docker/complete/certs.yml diff --git a/src/docker/complete/compose.yml b/framework/src/docker/complete/compose.yml similarity index 100% rename from src/docker/complete/compose.yml rename to framework/src/docker/complete/compose.yml diff --git a/src/docker/complete/with-state.yml b/framework/src/docker/complete/with-state.yml similarity index 100% rename from src/docker/complete/with-state.yml rename to framework/src/docker/complete/with-state.yml diff --git a/src/docker/complete/with-tls.yml b/framework/src/docker/complete/with-tls.yml similarity index 100% rename from src/docker/complete/with-tls.yml rename to framework/src/docker/complete/with-tls.yml diff --git a/src/docker/distributed/.gitignore b/framework/src/docker/distributed/.gitignore similarity index 100% rename from src/docker/distributed/.gitignore rename to framework/src/docker/distributed/.gitignore diff --git a/src/docker/distributed/certs.yml b/framework/src/docker/distributed/certs.yml similarity index 100% rename from src/docker/distributed/certs.yml rename to framework/src/docker/distributed/certs.yml diff --git a/src/docker/distributed/client/compose.yml b/framework/src/docker/distributed/client/compose.yml similarity index 100% rename from src/docker/distributed/client/compose.yml rename to framework/src/docker/distributed/client/compose.yml diff --git a/src/docker/distributed/server/compose.yml b/framework/src/docker/distributed/server/compose.yml similarity index 100% rename from src/docker/distributed/server/compose.yml rename to framework/src/docker/distributed/server/compose.yml diff --git a/src/docker/serverapp/Dockerfile b/framework/src/docker/serverapp/Dockerfile similarity index 100% rename from src/docker/serverapp/Dockerfile rename to framework/src/docker/serverapp/Dockerfile diff --git a/src/docker/serverapp/README.md b/framework/src/docker/serverapp/README.md similarity index 100% rename from src/docker/serverapp/README.md rename to framework/src/docker/serverapp/README.md diff --git a/src/docker/superlink/Dockerfile b/framework/src/docker/superlink/Dockerfile similarity index 100% rename from src/docker/superlink/Dockerfile rename to framework/src/docker/superlink/Dockerfile diff --git a/src/docker/superlink/README.md b/framework/src/docker/superlink/README.md similarity index 100% rename from src/docker/superlink/README.md rename to framework/src/docker/superlink/README.md diff --git a/src/docker/supernode/Dockerfile b/framework/src/docker/supernode/Dockerfile similarity index 100% rename from src/docker/supernode/Dockerfile rename to framework/src/docker/supernode/Dockerfile diff --git a/src/docker/supernode/README.md b/framework/src/docker/supernode/README.md similarity index 100% rename from src/docker/supernode/README.md rename to framework/src/docker/supernode/README.md diff --git a/src/kotlin/build.gradle.kts b/framework/src/kotlin/build.gradle.kts similarity index 100% rename from src/kotlin/build.gradle.kts rename to framework/src/kotlin/build.gradle.kts diff --git a/src/kotlin/flwr/build.gradle.kts b/framework/src/kotlin/flwr/build.gradle.kts similarity index 100% rename from src/kotlin/flwr/build.gradle.kts rename to framework/src/kotlin/flwr/build.gradle.kts diff --git a/src/kotlin/flwr/proguard-rules.pro b/framework/src/kotlin/flwr/proguard-rules.pro similarity index 100% rename from src/kotlin/flwr/proguard-rules.pro rename to framework/src/kotlin/flwr/proguard-rules.pro diff --git a/src/kotlin/flwr/src/main/AndroidManifest.xml b/framework/src/kotlin/flwr/src/main/AndroidManifest.xml similarity index 100% rename from src/kotlin/flwr/src/main/AndroidManifest.xml rename to framework/src/kotlin/flwr/src/main/AndroidManifest.xml diff --git a/src/kotlin/flwr/src/main/java/dev/flower/android/Client.kt b/framework/src/kotlin/flwr/src/main/java/dev/flower/android/Client.kt similarity index 100% rename from src/kotlin/flwr/src/main/java/dev/flower/android/Client.kt rename to framework/src/kotlin/flwr/src/main/java/dev/flower/android/Client.kt diff --git a/src/kotlin/flwr/src/main/java/dev/flower/android/Grpc.kt b/framework/src/kotlin/flwr/src/main/java/dev/flower/android/Grpc.kt similarity index 100% rename from src/kotlin/flwr/src/main/java/dev/flower/android/Grpc.kt rename to framework/src/kotlin/flwr/src/main/java/dev/flower/android/Grpc.kt diff --git a/src/kotlin/flwr/src/main/java/dev/flower/android/MessageHandler.kt b/framework/src/kotlin/flwr/src/main/java/dev/flower/android/MessageHandler.kt similarity index 100% rename from src/kotlin/flwr/src/main/java/dev/flower/android/MessageHandler.kt rename to framework/src/kotlin/flwr/src/main/java/dev/flower/android/MessageHandler.kt diff --git a/src/kotlin/flwr/src/main/java/dev/flower/android/Serde.kt b/framework/src/kotlin/flwr/src/main/java/dev/flower/android/Serde.kt similarity index 100% rename from src/kotlin/flwr/src/main/java/dev/flower/android/Serde.kt rename to framework/src/kotlin/flwr/src/main/java/dev/flower/android/Serde.kt diff --git a/src/kotlin/flwr/src/main/java/dev/flower/android/TaskHandler.kt b/framework/src/kotlin/flwr/src/main/java/dev/flower/android/TaskHandler.kt similarity index 100% rename from src/kotlin/flwr/src/main/java/dev/flower/android/TaskHandler.kt rename to framework/src/kotlin/flwr/src/main/java/dev/flower/android/TaskHandler.kt diff --git a/src/kotlin/flwr/src/main/java/dev/flower/android/Typing.kt b/framework/src/kotlin/flwr/src/main/java/dev/flower/android/Typing.kt similarity index 100% rename from src/kotlin/flwr/src/main/java/dev/flower/android/Typing.kt rename to framework/src/kotlin/flwr/src/main/java/dev/flower/android/Typing.kt diff --git a/src/kotlin/gradle.properties b/framework/src/kotlin/gradle.properties similarity index 100% rename from src/kotlin/gradle.properties rename to framework/src/kotlin/gradle.properties diff --git a/src/kotlin/gradle/wrapper/gradle-wrapper.jar b/framework/src/kotlin/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from src/kotlin/gradle/wrapper/gradle-wrapper.jar rename to framework/src/kotlin/gradle/wrapper/gradle-wrapper.jar diff --git a/src/kotlin/gradle/wrapper/gradle-wrapper.properties b/framework/src/kotlin/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from src/kotlin/gradle/wrapper/gradle-wrapper.properties rename to framework/src/kotlin/gradle/wrapper/gradle-wrapper.properties diff --git a/src/kotlin/gradlew b/framework/src/kotlin/gradlew similarity index 100% rename from src/kotlin/gradlew rename to framework/src/kotlin/gradlew diff --git a/src/kotlin/gradlew.bat b/framework/src/kotlin/gradlew.bat similarity index 100% rename from src/kotlin/gradlew.bat rename to framework/src/kotlin/gradlew.bat diff --git a/src/kotlin/settings.gradle.kts b/framework/src/kotlin/settings.gradle.kts similarity index 100% rename from src/kotlin/settings.gradle.kts rename to framework/src/kotlin/settings.gradle.kts diff --git a/src/proto/flwr/proto/clientappio.proto b/framework/src/proto/flwr/proto/clientappio.proto similarity index 100% rename from src/proto/flwr/proto/clientappio.proto rename to framework/src/proto/flwr/proto/clientappio.proto diff --git a/src/proto/flwr/proto/error.proto b/framework/src/proto/flwr/proto/error.proto similarity index 100% rename from src/proto/flwr/proto/error.proto rename to framework/src/proto/flwr/proto/error.proto diff --git a/src/proto/flwr/proto/exec.proto b/framework/src/proto/flwr/proto/exec.proto similarity index 100% rename from src/proto/flwr/proto/exec.proto rename to framework/src/proto/flwr/proto/exec.proto diff --git a/src/proto/flwr/proto/fab.proto b/framework/src/proto/flwr/proto/fab.proto similarity index 100% rename from src/proto/flwr/proto/fab.proto rename to framework/src/proto/flwr/proto/fab.proto diff --git a/src/proto/flwr/proto/fleet.proto b/framework/src/proto/flwr/proto/fleet.proto similarity index 100% rename from src/proto/flwr/proto/fleet.proto rename to framework/src/proto/flwr/proto/fleet.proto diff --git a/src/proto/flwr/proto/grpcadapter.proto b/framework/src/proto/flwr/proto/grpcadapter.proto similarity index 100% rename from src/proto/flwr/proto/grpcadapter.proto rename to framework/src/proto/flwr/proto/grpcadapter.proto diff --git a/src/proto/flwr/proto/log.proto b/framework/src/proto/flwr/proto/log.proto similarity index 100% rename from src/proto/flwr/proto/log.proto rename to framework/src/proto/flwr/proto/log.proto diff --git a/src/proto/flwr/proto/message.proto b/framework/src/proto/flwr/proto/message.proto similarity index 100% rename from src/proto/flwr/proto/message.proto rename to framework/src/proto/flwr/proto/message.proto diff --git a/src/proto/flwr/proto/node.proto b/framework/src/proto/flwr/proto/node.proto similarity index 100% rename from src/proto/flwr/proto/node.proto rename to framework/src/proto/flwr/proto/node.proto diff --git a/src/proto/flwr/proto/recordset.proto b/framework/src/proto/flwr/proto/recordset.proto similarity index 100% rename from src/proto/flwr/proto/recordset.proto rename to framework/src/proto/flwr/proto/recordset.proto diff --git a/src/proto/flwr/proto/run.proto b/framework/src/proto/flwr/proto/run.proto similarity index 100% rename from src/proto/flwr/proto/run.proto rename to framework/src/proto/flwr/proto/run.proto diff --git a/src/proto/flwr/proto/serverappio.proto b/framework/src/proto/flwr/proto/serverappio.proto similarity index 100% rename from src/proto/flwr/proto/serverappio.proto rename to framework/src/proto/flwr/proto/serverappio.proto diff --git a/src/proto/flwr/proto/simulationio.proto b/framework/src/proto/flwr/proto/simulationio.proto similarity index 100% rename from src/proto/flwr/proto/simulationio.proto rename to framework/src/proto/flwr/proto/simulationio.proto diff --git a/src/proto/flwr/proto/task.proto b/framework/src/proto/flwr/proto/task.proto similarity index 100% rename from src/proto/flwr/proto/task.proto rename to framework/src/proto/flwr/proto/task.proto diff --git a/src/proto/flwr/proto/transport.proto b/framework/src/proto/flwr/proto/transport.proto similarity index 100% rename from src/proto/flwr/proto/transport.proto rename to framework/src/proto/flwr/proto/transport.proto diff --git a/src/py/flwr/__init__.py b/framework/src/py/flwr/__init__.py similarity index 100% rename from src/py/flwr/__init__.py rename to framework/src/py/flwr/__init__.py diff --git a/src/py/flwr/__init___test.py b/framework/src/py/flwr/__init___test.py similarity index 100% rename from src/py/flwr/__init___test.py rename to framework/src/py/flwr/__init___test.py diff --git a/src/py/flwr/cli/__init__.py b/framework/src/py/flwr/cli/__init__.py similarity index 100% rename from src/py/flwr/cli/__init__.py rename to framework/src/py/flwr/cli/__init__.py diff --git a/src/py/flwr/cli/app.py b/framework/src/py/flwr/cli/app.py similarity index 100% rename from src/py/flwr/cli/app.py rename to framework/src/py/flwr/cli/app.py diff --git a/src/py/flwr/cli/build.py b/framework/src/py/flwr/cli/build.py similarity index 100% rename from src/py/flwr/cli/build.py rename to framework/src/py/flwr/cli/build.py diff --git a/src/py/flwr/cli/config_utils.py b/framework/src/py/flwr/cli/config_utils.py similarity index 100% rename from src/py/flwr/cli/config_utils.py rename to framework/src/py/flwr/cli/config_utils.py diff --git a/src/py/flwr/cli/config_utils_test.py b/framework/src/py/flwr/cli/config_utils_test.py similarity index 100% rename from src/py/flwr/cli/config_utils_test.py rename to framework/src/py/flwr/cli/config_utils_test.py diff --git a/src/py/flwr/cli/example.py b/framework/src/py/flwr/cli/example.py similarity index 100% rename from src/py/flwr/cli/example.py rename to framework/src/py/flwr/cli/example.py diff --git a/src/py/flwr/cli/install.py b/framework/src/py/flwr/cli/install.py similarity index 100% rename from src/py/flwr/cli/install.py rename to framework/src/py/flwr/cli/install.py diff --git a/src/py/flwr/cli/log.py b/framework/src/py/flwr/cli/log.py similarity index 100% rename from src/py/flwr/cli/log.py rename to framework/src/py/flwr/cli/log.py diff --git a/src/py/flwr/cli/log_test.py b/framework/src/py/flwr/cli/log_test.py similarity index 100% rename from src/py/flwr/cli/log_test.py rename to framework/src/py/flwr/cli/log_test.py diff --git a/src/py/flwr/cli/ls.py b/framework/src/py/flwr/cli/ls.py similarity index 100% rename from src/py/flwr/cli/ls.py rename to framework/src/py/flwr/cli/ls.py diff --git a/src/py/flwr/cli/new/__init__.py b/framework/src/py/flwr/cli/new/__init__.py similarity index 100% rename from src/py/flwr/cli/new/__init__.py rename to framework/src/py/flwr/cli/new/__init__.py diff --git a/src/py/flwr/cli/new/new.py b/framework/src/py/flwr/cli/new/new.py similarity index 100% rename from src/py/flwr/cli/new/new.py rename to framework/src/py/flwr/cli/new/new.py diff --git a/src/py/flwr/cli/new/new_test.py b/framework/src/py/flwr/cli/new/new_test.py similarity index 100% rename from src/py/flwr/cli/new/new_test.py rename to framework/src/py/flwr/cli/new/new_test.py diff --git a/src/py/flwr/cli/new/templates/__init__.py b/framework/src/py/flwr/cli/new/templates/__init__.py similarity index 100% rename from src/py/flwr/cli/new/templates/__init__.py rename to framework/src/py/flwr/cli/new/templates/__init__.py diff --git a/src/py/flwr/cli/new/templates/app/.gitignore.tpl b/framework/src/py/flwr/cli/new/templates/app/.gitignore.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/.gitignore.tpl rename to framework/src/py/flwr/cli/new/templates/app/.gitignore.tpl diff --git a/src/py/flwr/cli/new/templates/app/LICENSE.tpl b/framework/src/py/flwr/cli/new/templates/app/LICENSE.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/LICENSE.tpl rename to framework/src/py/flwr/cli/new/templates/app/LICENSE.tpl diff --git a/src/py/flwr/cli/new/templates/app/README.baseline.md.tpl b/framework/src/py/flwr/cli/new/templates/app/README.baseline.md.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/README.baseline.md.tpl rename to framework/src/py/flwr/cli/new/templates/app/README.baseline.md.tpl diff --git a/src/py/flwr/cli/new/templates/app/README.flowertune.md.tpl b/framework/src/py/flwr/cli/new/templates/app/README.flowertune.md.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/README.flowertune.md.tpl rename to framework/src/py/flwr/cli/new/templates/app/README.flowertune.md.tpl diff --git a/src/py/flwr/cli/new/templates/app/README.md.tpl b/framework/src/py/flwr/cli/new/templates/app/README.md.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/README.md.tpl rename to framework/src/py/flwr/cli/new/templates/app/README.md.tpl diff --git a/src/py/flwr/cli/new/templates/app/__init__.py b/framework/src/py/flwr/cli/new/templates/app/__init__.py similarity index 100% rename from src/py/flwr/cli/new/templates/app/__init__.py rename to framework/src/py/flwr/cli/new/templates/app/__init__.py diff --git a/src/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/__init__.baseline.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/__init__.py b/framework/src/py/flwr/cli/new/templates/app/code/__init__.py similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/__init__.py rename to framework/src/py/flwr/cli/new/templates/app/code/__init__.py diff --git a/src/py/flwr/cli/new/templates/app/code/__init__.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/__init__.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/__init__.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/__init__.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/client.baseline.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/client.huggingface.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/client.jax.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/client.jax.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/client.jax.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/client.jax.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/client.mlx.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/client.numpy.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/client.pytorch.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/client.sklearn.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/client.tensorflow.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/dataset.baseline.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py b/framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py rename to framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/__init__.py diff --git a/src/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/client_app.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/dataset.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/models.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/server_app.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/flwr_tune/strategy.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/model.baseline.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/server.baseline.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/server.huggingface.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/server.jax.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/server.jax.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/server.jax.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/server.jax.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/server.mlx.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/server.numpy.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/server.pytorch.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/server.sklearn.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/server.tensorflow.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/strategy.baseline.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/task.huggingface.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/task.jax.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/task.jax.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/task.jax.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/task.jax.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/task.mlx.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/task.numpy.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/task.pytorch.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/task.sklearn.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/task.tensorflow.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl b/framework/src/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl rename to framework/src/py/flwr/cli/new/templates/app/code/utils.baseline.py.tpl diff --git a/src/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl b/framework/src/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl rename to framework/src/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl diff --git a/src/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl b/framework/src/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl rename to framework/src/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl diff --git a/src/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl b/framework/src/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl rename to framework/src/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl diff --git a/src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl b/framework/src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl rename to framework/src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl diff --git a/src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl b/framework/src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl rename to framework/src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl diff --git a/src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl b/framework/src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl rename to framework/src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl diff --git a/src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl b/framework/src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl rename to framework/src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl diff --git a/src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl b/framework/src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl rename to framework/src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl diff --git a/src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl b/framework/src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl similarity index 100% rename from src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl rename to framework/src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl diff --git a/src/py/flwr/cli/run/__init__.py b/framework/src/py/flwr/cli/run/__init__.py similarity index 100% rename from src/py/flwr/cli/run/__init__.py rename to framework/src/py/flwr/cli/run/__init__.py diff --git a/src/py/flwr/cli/run/run.py b/framework/src/py/flwr/cli/run/run.py similarity index 100% rename from src/py/flwr/cli/run/run.py rename to framework/src/py/flwr/cli/run/run.py diff --git a/src/py/flwr/cli/utils.py b/framework/src/py/flwr/cli/utils.py similarity index 100% rename from src/py/flwr/cli/utils.py rename to framework/src/py/flwr/cli/utils.py diff --git a/src/py/flwr/client/__init__.py b/framework/src/py/flwr/client/__init__.py similarity index 100% rename from src/py/flwr/client/__init__.py rename to framework/src/py/flwr/client/__init__.py diff --git a/src/py/flwr/client/app.py b/framework/src/py/flwr/client/app.py similarity index 100% rename from src/py/flwr/client/app.py rename to framework/src/py/flwr/client/app.py diff --git a/src/py/flwr/client/app_test.py b/framework/src/py/flwr/client/app_test.py similarity index 100% rename from src/py/flwr/client/app_test.py rename to framework/src/py/flwr/client/app_test.py diff --git a/src/py/flwr/client/client.py b/framework/src/py/flwr/client/client.py similarity index 100% rename from src/py/flwr/client/client.py rename to framework/src/py/flwr/client/client.py diff --git a/src/py/flwr/client/client_app.py b/framework/src/py/flwr/client/client_app.py similarity index 100% rename from src/py/flwr/client/client_app.py rename to framework/src/py/flwr/client/client_app.py diff --git a/src/py/flwr/client/client_test.py b/framework/src/py/flwr/client/client_test.py similarity index 100% rename from src/py/flwr/client/client_test.py rename to framework/src/py/flwr/client/client_test.py diff --git a/src/py/flwr/client/clientapp/__init__.py b/framework/src/py/flwr/client/clientapp/__init__.py similarity index 100% rename from src/py/flwr/client/clientapp/__init__.py rename to framework/src/py/flwr/client/clientapp/__init__.py diff --git a/src/py/flwr/client/clientapp/app.py b/framework/src/py/flwr/client/clientapp/app.py similarity index 100% rename from src/py/flwr/client/clientapp/app.py rename to framework/src/py/flwr/client/clientapp/app.py diff --git a/src/py/flwr/client/clientapp/clientappio_servicer.py b/framework/src/py/flwr/client/clientapp/clientappio_servicer.py similarity index 100% rename from src/py/flwr/client/clientapp/clientappio_servicer.py rename to framework/src/py/flwr/client/clientapp/clientappio_servicer.py diff --git a/src/py/flwr/client/clientapp/clientappio_servicer_test.py b/framework/src/py/flwr/client/clientapp/clientappio_servicer_test.py similarity index 100% rename from src/py/flwr/client/clientapp/clientappio_servicer_test.py rename to framework/src/py/flwr/client/clientapp/clientappio_servicer_test.py diff --git a/src/py/flwr/client/clientapp/utils.py b/framework/src/py/flwr/client/clientapp/utils.py similarity index 100% rename from src/py/flwr/client/clientapp/utils.py rename to framework/src/py/flwr/client/clientapp/utils.py diff --git a/src/py/flwr/client/dpfedavg_numpy_client.py b/framework/src/py/flwr/client/dpfedavg_numpy_client.py similarity index 100% rename from src/py/flwr/client/dpfedavg_numpy_client.py rename to framework/src/py/flwr/client/dpfedavg_numpy_client.py diff --git a/src/py/flwr/client/grpc_adapter_client/__init__.py b/framework/src/py/flwr/client/grpc_adapter_client/__init__.py similarity index 100% rename from src/py/flwr/client/grpc_adapter_client/__init__.py rename to framework/src/py/flwr/client/grpc_adapter_client/__init__.py diff --git a/src/py/flwr/client/grpc_adapter_client/connection.py b/framework/src/py/flwr/client/grpc_adapter_client/connection.py similarity index 100% rename from src/py/flwr/client/grpc_adapter_client/connection.py rename to framework/src/py/flwr/client/grpc_adapter_client/connection.py diff --git a/src/py/flwr/client/grpc_client/__init__.py b/framework/src/py/flwr/client/grpc_client/__init__.py similarity index 100% rename from src/py/flwr/client/grpc_client/__init__.py rename to framework/src/py/flwr/client/grpc_client/__init__.py diff --git a/src/py/flwr/client/grpc_client/connection.py b/framework/src/py/flwr/client/grpc_client/connection.py similarity index 100% rename from src/py/flwr/client/grpc_client/connection.py rename to framework/src/py/flwr/client/grpc_client/connection.py diff --git a/src/py/flwr/client/grpc_client/connection_test.py b/framework/src/py/flwr/client/grpc_client/connection_test.py similarity index 100% rename from src/py/flwr/client/grpc_client/connection_test.py rename to framework/src/py/flwr/client/grpc_client/connection_test.py diff --git a/src/py/flwr/client/grpc_rere_client/__init__.py b/framework/src/py/flwr/client/grpc_rere_client/__init__.py similarity index 100% rename from src/py/flwr/client/grpc_rere_client/__init__.py rename to framework/src/py/flwr/client/grpc_rere_client/__init__.py diff --git a/src/py/flwr/client/grpc_rere_client/client_interceptor.py b/framework/src/py/flwr/client/grpc_rere_client/client_interceptor.py similarity index 100% rename from src/py/flwr/client/grpc_rere_client/client_interceptor.py rename to framework/src/py/flwr/client/grpc_rere_client/client_interceptor.py diff --git a/src/py/flwr/client/grpc_rere_client/client_interceptor_test.py b/framework/src/py/flwr/client/grpc_rere_client/client_interceptor_test.py similarity index 100% rename from src/py/flwr/client/grpc_rere_client/client_interceptor_test.py rename to framework/src/py/flwr/client/grpc_rere_client/client_interceptor_test.py diff --git a/src/py/flwr/client/grpc_rere_client/connection.py b/framework/src/py/flwr/client/grpc_rere_client/connection.py similarity index 100% rename from src/py/flwr/client/grpc_rere_client/connection.py rename to framework/src/py/flwr/client/grpc_rere_client/connection.py diff --git a/src/py/flwr/client/grpc_rere_client/grpc_adapter.py b/framework/src/py/flwr/client/grpc_rere_client/grpc_adapter.py similarity index 100% rename from src/py/flwr/client/grpc_rere_client/grpc_adapter.py rename to framework/src/py/flwr/client/grpc_rere_client/grpc_adapter.py diff --git a/src/py/flwr/client/grpc_rere_client/grpc_adapter_test.py b/framework/src/py/flwr/client/grpc_rere_client/grpc_adapter_test.py similarity index 100% rename from src/py/flwr/client/grpc_rere_client/grpc_adapter_test.py rename to framework/src/py/flwr/client/grpc_rere_client/grpc_adapter_test.py diff --git a/src/py/flwr/client/heartbeat.py b/framework/src/py/flwr/client/heartbeat.py similarity index 100% rename from src/py/flwr/client/heartbeat.py rename to framework/src/py/flwr/client/heartbeat.py diff --git a/src/py/flwr/client/heartbeat_test.py b/framework/src/py/flwr/client/heartbeat_test.py similarity index 100% rename from src/py/flwr/client/heartbeat_test.py rename to framework/src/py/flwr/client/heartbeat_test.py diff --git a/src/py/flwr/client/message_handler/__init__.py b/framework/src/py/flwr/client/message_handler/__init__.py similarity index 100% rename from src/py/flwr/client/message_handler/__init__.py rename to framework/src/py/flwr/client/message_handler/__init__.py diff --git a/src/py/flwr/client/message_handler/message_handler.py b/framework/src/py/flwr/client/message_handler/message_handler.py similarity index 100% rename from src/py/flwr/client/message_handler/message_handler.py rename to framework/src/py/flwr/client/message_handler/message_handler.py diff --git a/src/py/flwr/client/message_handler/message_handler_test.py b/framework/src/py/flwr/client/message_handler/message_handler_test.py similarity index 100% rename from src/py/flwr/client/message_handler/message_handler_test.py rename to framework/src/py/flwr/client/message_handler/message_handler_test.py diff --git a/src/py/flwr/client/message_handler/task_handler.py b/framework/src/py/flwr/client/message_handler/task_handler.py similarity index 100% rename from src/py/flwr/client/message_handler/task_handler.py rename to framework/src/py/flwr/client/message_handler/task_handler.py diff --git a/src/py/flwr/client/message_handler/task_handler_test.py b/framework/src/py/flwr/client/message_handler/task_handler_test.py similarity index 100% rename from src/py/flwr/client/message_handler/task_handler_test.py rename to framework/src/py/flwr/client/message_handler/task_handler_test.py diff --git a/src/py/flwr/client/mod/__init__.py b/framework/src/py/flwr/client/mod/__init__.py similarity index 100% rename from src/py/flwr/client/mod/__init__.py rename to framework/src/py/flwr/client/mod/__init__.py diff --git a/src/py/flwr/client/mod/centraldp_mods.py b/framework/src/py/flwr/client/mod/centraldp_mods.py similarity index 100% rename from src/py/flwr/client/mod/centraldp_mods.py rename to framework/src/py/flwr/client/mod/centraldp_mods.py diff --git a/src/py/flwr/client/mod/comms_mods.py b/framework/src/py/flwr/client/mod/comms_mods.py similarity index 100% rename from src/py/flwr/client/mod/comms_mods.py rename to framework/src/py/flwr/client/mod/comms_mods.py diff --git a/src/py/flwr/client/mod/localdp_mod.py b/framework/src/py/flwr/client/mod/localdp_mod.py similarity index 100% rename from src/py/flwr/client/mod/localdp_mod.py rename to framework/src/py/flwr/client/mod/localdp_mod.py diff --git a/src/py/flwr/client/mod/secure_aggregation/__init__.py b/framework/src/py/flwr/client/mod/secure_aggregation/__init__.py similarity index 100% rename from src/py/flwr/client/mod/secure_aggregation/__init__.py rename to framework/src/py/flwr/client/mod/secure_aggregation/__init__.py diff --git a/src/py/flwr/client/mod/secure_aggregation/secagg_mod.py b/framework/src/py/flwr/client/mod/secure_aggregation/secagg_mod.py similarity index 100% rename from src/py/flwr/client/mod/secure_aggregation/secagg_mod.py rename to framework/src/py/flwr/client/mod/secure_aggregation/secagg_mod.py diff --git a/src/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py b/framework/src/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py similarity index 100% rename from src/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py rename to framework/src/py/flwr/client/mod/secure_aggregation/secaggplus_mod.py diff --git a/src/py/flwr/client/mod/secure_aggregation/secaggplus_mod_test.py b/framework/src/py/flwr/client/mod/secure_aggregation/secaggplus_mod_test.py similarity index 100% rename from src/py/flwr/client/mod/secure_aggregation/secaggplus_mod_test.py rename to framework/src/py/flwr/client/mod/secure_aggregation/secaggplus_mod_test.py diff --git a/src/py/flwr/client/mod/utils.py b/framework/src/py/flwr/client/mod/utils.py similarity index 100% rename from src/py/flwr/client/mod/utils.py rename to framework/src/py/flwr/client/mod/utils.py diff --git a/src/py/flwr/client/mod/utils_test.py b/framework/src/py/flwr/client/mod/utils_test.py similarity index 100% rename from src/py/flwr/client/mod/utils_test.py rename to framework/src/py/flwr/client/mod/utils_test.py diff --git a/src/py/flwr/client/node_state_test.py b/framework/src/py/flwr/client/node_state_test.py similarity index 100% rename from src/py/flwr/client/node_state_test.py rename to framework/src/py/flwr/client/node_state_test.py diff --git a/src/py/flwr/client/nodestate/__init__.py b/framework/src/py/flwr/client/nodestate/__init__.py similarity index 100% rename from src/py/flwr/client/nodestate/__init__.py rename to framework/src/py/flwr/client/nodestate/__init__.py diff --git a/src/py/flwr/client/nodestate/in_memory_nodestate.py b/framework/src/py/flwr/client/nodestate/in_memory_nodestate.py similarity index 100% rename from src/py/flwr/client/nodestate/in_memory_nodestate.py rename to framework/src/py/flwr/client/nodestate/in_memory_nodestate.py diff --git a/src/py/flwr/client/nodestate/nodestate.py b/framework/src/py/flwr/client/nodestate/nodestate.py similarity index 100% rename from src/py/flwr/client/nodestate/nodestate.py rename to framework/src/py/flwr/client/nodestate/nodestate.py diff --git a/src/py/flwr/client/nodestate/nodestate_factory.py b/framework/src/py/flwr/client/nodestate/nodestate_factory.py similarity index 100% rename from src/py/flwr/client/nodestate/nodestate_factory.py rename to framework/src/py/flwr/client/nodestate/nodestate_factory.py diff --git a/src/py/flwr/client/nodestate/nodestate_test.py b/framework/src/py/flwr/client/nodestate/nodestate_test.py similarity index 100% rename from src/py/flwr/client/nodestate/nodestate_test.py rename to framework/src/py/flwr/client/nodestate/nodestate_test.py diff --git a/src/py/flwr/client/numpy_client.py b/framework/src/py/flwr/client/numpy_client.py similarity index 100% rename from src/py/flwr/client/numpy_client.py rename to framework/src/py/flwr/client/numpy_client.py diff --git a/src/py/flwr/client/numpy_client_test.py b/framework/src/py/flwr/client/numpy_client_test.py similarity index 100% rename from src/py/flwr/client/numpy_client_test.py rename to framework/src/py/flwr/client/numpy_client_test.py diff --git a/src/py/flwr/client/rest_client/__init__.py b/framework/src/py/flwr/client/rest_client/__init__.py similarity index 100% rename from src/py/flwr/client/rest_client/__init__.py rename to framework/src/py/flwr/client/rest_client/__init__.py diff --git a/src/py/flwr/client/rest_client/connection.py b/framework/src/py/flwr/client/rest_client/connection.py similarity index 100% rename from src/py/flwr/client/rest_client/connection.py rename to framework/src/py/flwr/client/rest_client/connection.py diff --git a/src/py/flwr/client/run_info_store.py b/framework/src/py/flwr/client/run_info_store.py similarity index 100% rename from src/py/flwr/client/run_info_store.py rename to framework/src/py/flwr/client/run_info_store.py diff --git a/src/py/flwr/client/supernode/__init__.py b/framework/src/py/flwr/client/supernode/__init__.py similarity index 100% rename from src/py/flwr/client/supernode/__init__.py rename to framework/src/py/flwr/client/supernode/__init__.py diff --git a/src/py/flwr/client/supernode/app.py b/framework/src/py/flwr/client/supernode/app.py similarity index 100% rename from src/py/flwr/client/supernode/app.py rename to framework/src/py/flwr/client/supernode/app.py diff --git a/src/py/flwr/client/typing.py b/framework/src/py/flwr/client/typing.py similarity index 100% rename from src/py/flwr/client/typing.py rename to framework/src/py/flwr/client/typing.py diff --git a/src/py/flwr/common/__init__.py b/framework/src/py/flwr/common/__init__.py similarity index 100% rename from src/py/flwr/common/__init__.py rename to framework/src/py/flwr/common/__init__.py diff --git a/src/py/flwr/common/address.py b/framework/src/py/flwr/common/address.py similarity index 100% rename from src/py/flwr/common/address.py rename to framework/src/py/flwr/common/address.py diff --git a/src/py/flwr/common/address_test.py b/framework/src/py/flwr/common/address_test.py similarity index 100% rename from src/py/flwr/common/address_test.py rename to framework/src/py/flwr/common/address_test.py diff --git a/src/py/flwr/common/args.py b/framework/src/py/flwr/common/args.py similarity index 100% rename from src/py/flwr/common/args.py rename to framework/src/py/flwr/common/args.py diff --git a/src/py/flwr/common/config.py b/framework/src/py/flwr/common/config.py similarity index 100% rename from src/py/flwr/common/config.py rename to framework/src/py/flwr/common/config.py diff --git a/src/py/flwr/common/config_test.py b/framework/src/py/flwr/common/config_test.py similarity index 100% rename from src/py/flwr/common/config_test.py rename to framework/src/py/flwr/common/config_test.py diff --git a/src/py/flwr/common/constant.py b/framework/src/py/flwr/common/constant.py similarity index 100% rename from src/py/flwr/common/constant.py rename to framework/src/py/flwr/common/constant.py diff --git a/src/py/flwr/common/context.py b/framework/src/py/flwr/common/context.py similarity index 100% rename from src/py/flwr/common/context.py rename to framework/src/py/flwr/common/context.py diff --git a/src/py/flwr/common/date.py b/framework/src/py/flwr/common/date.py similarity index 100% rename from src/py/flwr/common/date.py rename to framework/src/py/flwr/common/date.py diff --git a/src/py/flwr/common/differential_privacy.py b/framework/src/py/flwr/common/differential_privacy.py similarity index 100% rename from src/py/flwr/common/differential_privacy.py rename to framework/src/py/flwr/common/differential_privacy.py diff --git a/src/py/flwr/common/differential_privacy_constants.py b/framework/src/py/flwr/common/differential_privacy_constants.py similarity index 100% rename from src/py/flwr/common/differential_privacy_constants.py rename to framework/src/py/flwr/common/differential_privacy_constants.py diff --git a/src/py/flwr/common/differential_privacy_test.py b/framework/src/py/flwr/common/differential_privacy_test.py similarity index 100% rename from src/py/flwr/common/differential_privacy_test.py rename to framework/src/py/flwr/common/differential_privacy_test.py diff --git a/src/py/flwr/common/dp.py b/framework/src/py/flwr/common/dp.py similarity index 100% rename from src/py/flwr/common/dp.py rename to framework/src/py/flwr/common/dp.py diff --git a/src/py/flwr/common/exit_handlers.py b/framework/src/py/flwr/common/exit_handlers.py similarity index 100% rename from src/py/flwr/common/exit_handlers.py rename to framework/src/py/flwr/common/exit_handlers.py diff --git a/src/py/flwr/common/grpc.py b/framework/src/py/flwr/common/grpc.py similarity index 100% rename from src/py/flwr/common/grpc.py rename to framework/src/py/flwr/common/grpc.py diff --git a/src/py/flwr/common/logger.py b/framework/src/py/flwr/common/logger.py similarity index 100% rename from src/py/flwr/common/logger.py rename to framework/src/py/flwr/common/logger.py diff --git a/src/py/flwr/common/logger_test.py b/framework/src/py/flwr/common/logger_test.py similarity index 100% rename from src/py/flwr/common/logger_test.py rename to framework/src/py/flwr/common/logger_test.py diff --git a/src/py/flwr/common/message.py b/framework/src/py/flwr/common/message.py similarity index 100% rename from src/py/flwr/common/message.py rename to framework/src/py/flwr/common/message.py diff --git a/src/py/flwr/common/message_test.py b/framework/src/py/flwr/common/message_test.py similarity index 100% rename from src/py/flwr/common/message_test.py rename to framework/src/py/flwr/common/message_test.py diff --git a/src/py/flwr/common/object_ref.py b/framework/src/py/flwr/common/object_ref.py similarity index 100% rename from src/py/flwr/common/object_ref.py rename to framework/src/py/flwr/common/object_ref.py diff --git a/src/py/flwr/common/object_ref_test.py b/framework/src/py/flwr/common/object_ref_test.py similarity index 100% rename from src/py/flwr/common/object_ref_test.py rename to framework/src/py/flwr/common/object_ref_test.py diff --git a/src/py/flwr/common/parameter.py b/framework/src/py/flwr/common/parameter.py similarity index 100% rename from src/py/flwr/common/parameter.py rename to framework/src/py/flwr/common/parameter.py diff --git a/src/py/flwr/common/parameter_test.py b/framework/src/py/flwr/common/parameter_test.py similarity index 100% rename from src/py/flwr/common/parameter_test.py rename to framework/src/py/flwr/common/parameter_test.py diff --git a/src/py/flwr/common/pyproject.py b/framework/src/py/flwr/common/pyproject.py similarity index 100% rename from src/py/flwr/common/pyproject.py rename to framework/src/py/flwr/common/pyproject.py diff --git a/src/py/flwr/common/pyproject_test.py b/framework/src/py/flwr/common/pyproject_test.py similarity index 100% rename from src/py/flwr/common/pyproject_test.py rename to framework/src/py/flwr/common/pyproject_test.py diff --git a/src/py/flwr/common/record/__init__.py b/framework/src/py/flwr/common/record/__init__.py similarity index 100% rename from src/py/flwr/common/record/__init__.py rename to framework/src/py/flwr/common/record/__init__.py diff --git a/src/py/flwr/common/record/configsrecord.py b/framework/src/py/flwr/common/record/configsrecord.py similarity index 100% rename from src/py/flwr/common/record/configsrecord.py rename to framework/src/py/flwr/common/record/configsrecord.py diff --git a/src/py/flwr/common/record/conversion_utils.py b/framework/src/py/flwr/common/record/conversion_utils.py similarity index 100% rename from src/py/flwr/common/record/conversion_utils.py rename to framework/src/py/flwr/common/record/conversion_utils.py diff --git a/src/py/flwr/common/record/conversion_utils_test.py b/framework/src/py/flwr/common/record/conversion_utils_test.py similarity index 100% rename from src/py/flwr/common/record/conversion_utils_test.py rename to framework/src/py/flwr/common/record/conversion_utils_test.py diff --git a/src/py/flwr/common/record/metricsrecord.py b/framework/src/py/flwr/common/record/metricsrecord.py similarity index 100% rename from src/py/flwr/common/record/metricsrecord.py rename to framework/src/py/flwr/common/record/metricsrecord.py diff --git a/src/py/flwr/common/record/parametersrecord.py b/framework/src/py/flwr/common/record/parametersrecord.py similarity index 100% rename from src/py/flwr/common/record/parametersrecord.py rename to framework/src/py/flwr/common/record/parametersrecord.py diff --git a/src/py/flwr/common/record/parametersrecord_test.py b/framework/src/py/flwr/common/record/parametersrecord_test.py similarity index 100% rename from src/py/flwr/common/record/parametersrecord_test.py rename to framework/src/py/flwr/common/record/parametersrecord_test.py diff --git a/src/py/flwr/common/record/recordset.py b/framework/src/py/flwr/common/record/recordset.py similarity index 100% rename from src/py/flwr/common/record/recordset.py rename to framework/src/py/flwr/common/record/recordset.py diff --git a/src/py/flwr/common/record/recordset_test.py b/framework/src/py/flwr/common/record/recordset_test.py similarity index 100% rename from src/py/flwr/common/record/recordset_test.py rename to framework/src/py/flwr/common/record/recordset_test.py diff --git a/src/py/flwr/common/record/typeddict.py b/framework/src/py/flwr/common/record/typeddict.py similarity index 100% rename from src/py/flwr/common/record/typeddict.py rename to framework/src/py/flwr/common/record/typeddict.py diff --git a/src/py/flwr/common/recordset_compat.py b/framework/src/py/flwr/common/recordset_compat.py similarity index 100% rename from src/py/flwr/common/recordset_compat.py rename to framework/src/py/flwr/common/recordset_compat.py diff --git a/src/py/flwr/common/recordset_compat_test.py b/framework/src/py/flwr/common/recordset_compat_test.py similarity index 100% rename from src/py/flwr/common/recordset_compat_test.py rename to framework/src/py/flwr/common/recordset_compat_test.py diff --git a/src/py/flwr/common/retry_invoker.py b/framework/src/py/flwr/common/retry_invoker.py similarity index 100% rename from src/py/flwr/common/retry_invoker.py rename to framework/src/py/flwr/common/retry_invoker.py diff --git a/src/py/flwr/common/retry_invoker_test.py b/framework/src/py/flwr/common/retry_invoker_test.py similarity index 100% rename from src/py/flwr/common/retry_invoker_test.py rename to framework/src/py/flwr/common/retry_invoker_test.py diff --git a/src/py/flwr/common/secure_aggregation/__init__.py b/framework/src/py/flwr/common/secure_aggregation/__init__.py similarity index 100% rename from src/py/flwr/common/secure_aggregation/__init__.py rename to framework/src/py/flwr/common/secure_aggregation/__init__.py diff --git a/src/py/flwr/common/secure_aggregation/crypto/__init__.py b/framework/src/py/flwr/common/secure_aggregation/crypto/__init__.py similarity index 100% rename from src/py/flwr/common/secure_aggregation/crypto/__init__.py rename to framework/src/py/flwr/common/secure_aggregation/crypto/__init__.py diff --git a/src/py/flwr/common/secure_aggregation/crypto/shamir.py b/framework/src/py/flwr/common/secure_aggregation/crypto/shamir.py similarity index 100% rename from src/py/flwr/common/secure_aggregation/crypto/shamir.py rename to framework/src/py/flwr/common/secure_aggregation/crypto/shamir.py diff --git a/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py b/framework/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py similarity index 100% rename from src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py rename to framework/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py diff --git a/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption_test.py b/framework/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption_test.py similarity index 100% rename from src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption_test.py rename to framework/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption_test.py diff --git a/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py b/framework/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py similarity index 100% rename from src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py rename to framework/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py diff --git a/src/py/flwr/common/secure_aggregation/quantization.py b/framework/src/py/flwr/common/secure_aggregation/quantization.py similarity index 100% rename from src/py/flwr/common/secure_aggregation/quantization.py rename to framework/src/py/flwr/common/secure_aggregation/quantization.py diff --git a/src/py/flwr/common/secure_aggregation/secaggplus_constants.py b/framework/src/py/flwr/common/secure_aggregation/secaggplus_constants.py similarity index 100% rename from src/py/flwr/common/secure_aggregation/secaggplus_constants.py rename to framework/src/py/flwr/common/secure_aggregation/secaggplus_constants.py diff --git a/src/py/flwr/common/secure_aggregation/secaggplus_utils.py b/framework/src/py/flwr/common/secure_aggregation/secaggplus_utils.py similarity index 100% rename from src/py/flwr/common/secure_aggregation/secaggplus_utils.py rename to framework/src/py/flwr/common/secure_aggregation/secaggplus_utils.py diff --git a/src/py/flwr/common/serde.py b/framework/src/py/flwr/common/serde.py similarity index 100% rename from src/py/flwr/common/serde.py rename to framework/src/py/flwr/common/serde.py diff --git a/src/py/flwr/common/serde_test.py b/framework/src/py/flwr/common/serde_test.py similarity index 100% rename from src/py/flwr/common/serde_test.py rename to framework/src/py/flwr/common/serde_test.py diff --git a/src/py/flwr/common/telemetry.py b/framework/src/py/flwr/common/telemetry.py similarity index 100% rename from src/py/flwr/common/telemetry.py rename to framework/src/py/flwr/common/telemetry.py diff --git a/src/py/flwr/common/telemetry_test.py b/framework/src/py/flwr/common/telemetry_test.py similarity index 100% rename from src/py/flwr/common/telemetry_test.py rename to framework/src/py/flwr/common/telemetry_test.py diff --git a/src/py/flwr/common/typing.py b/framework/src/py/flwr/common/typing.py similarity index 100% rename from src/py/flwr/common/typing.py rename to framework/src/py/flwr/common/typing.py diff --git a/src/py/flwr/common/version.py b/framework/src/py/flwr/common/version.py similarity index 100% rename from src/py/flwr/common/version.py rename to framework/src/py/flwr/common/version.py diff --git a/src/py/flwr/proto/__init__.py b/framework/src/py/flwr/proto/__init__.py similarity index 100% rename from src/py/flwr/proto/__init__.py rename to framework/src/py/flwr/proto/__init__.py diff --git a/src/py/flwr/proto/clientappio_pb2.py b/framework/src/py/flwr/proto/clientappio_pb2.py similarity index 100% rename from src/py/flwr/proto/clientappio_pb2.py rename to framework/src/py/flwr/proto/clientappio_pb2.py diff --git a/src/py/flwr/proto/clientappio_pb2.pyi b/framework/src/py/flwr/proto/clientappio_pb2.pyi similarity index 100% rename from src/py/flwr/proto/clientappio_pb2.pyi rename to framework/src/py/flwr/proto/clientappio_pb2.pyi diff --git a/src/py/flwr/proto/clientappio_pb2_grpc.py b/framework/src/py/flwr/proto/clientappio_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/clientappio_pb2_grpc.py rename to framework/src/py/flwr/proto/clientappio_pb2_grpc.py diff --git a/src/py/flwr/proto/clientappio_pb2_grpc.pyi b/framework/src/py/flwr/proto/clientappio_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/clientappio_pb2_grpc.pyi rename to framework/src/py/flwr/proto/clientappio_pb2_grpc.pyi diff --git a/src/py/flwr/proto/error_pb2.py b/framework/src/py/flwr/proto/error_pb2.py similarity index 100% rename from src/py/flwr/proto/error_pb2.py rename to framework/src/py/flwr/proto/error_pb2.py diff --git a/src/py/flwr/proto/error_pb2.pyi b/framework/src/py/flwr/proto/error_pb2.pyi similarity index 100% rename from src/py/flwr/proto/error_pb2.pyi rename to framework/src/py/flwr/proto/error_pb2.pyi diff --git a/src/py/flwr/proto/error_pb2_grpc.py b/framework/src/py/flwr/proto/error_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/error_pb2_grpc.py rename to framework/src/py/flwr/proto/error_pb2_grpc.py diff --git a/src/py/flwr/proto/error_pb2_grpc.pyi b/framework/src/py/flwr/proto/error_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/error_pb2_grpc.pyi rename to framework/src/py/flwr/proto/error_pb2_grpc.pyi diff --git a/src/py/flwr/proto/exec_pb2.py b/framework/src/py/flwr/proto/exec_pb2.py similarity index 100% rename from src/py/flwr/proto/exec_pb2.py rename to framework/src/py/flwr/proto/exec_pb2.py diff --git a/src/py/flwr/proto/exec_pb2.pyi b/framework/src/py/flwr/proto/exec_pb2.pyi similarity index 100% rename from src/py/flwr/proto/exec_pb2.pyi rename to framework/src/py/flwr/proto/exec_pb2.pyi diff --git a/src/py/flwr/proto/exec_pb2_grpc.py b/framework/src/py/flwr/proto/exec_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/exec_pb2_grpc.py rename to framework/src/py/flwr/proto/exec_pb2_grpc.py diff --git a/src/py/flwr/proto/exec_pb2_grpc.pyi b/framework/src/py/flwr/proto/exec_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/exec_pb2_grpc.pyi rename to framework/src/py/flwr/proto/exec_pb2_grpc.pyi diff --git a/src/py/flwr/proto/fab_pb2.py b/framework/src/py/flwr/proto/fab_pb2.py similarity index 100% rename from src/py/flwr/proto/fab_pb2.py rename to framework/src/py/flwr/proto/fab_pb2.py diff --git a/src/py/flwr/proto/fab_pb2.pyi b/framework/src/py/flwr/proto/fab_pb2.pyi similarity index 100% rename from src/py/flwr/proto/fab_pb2.pyi rename to framework/src/py/flwr/proto/fab_pb2.pyi diff --git a/src/py/flwr/proto/fab_pb2_grpc.py b/framework/src/py/flwr/proto/fab_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/fab_pb2_grpc.py rename to framework/src/py/flwr/proto/fab_pb2_grpc.py diff --git a/src/py/flwr/proto/fab_pb2_grpc.pyi b/framework/src/py/flwr/proto/fab_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/fab_pb2_grpc.pyi rename to framework/src/py/flwr/proto/fab_pb2_grpc.pyi diff --git a/src/py/flwr/proto/fleet_pb2.py b/framework/src/py/flwr/proto/fleet_pb2.py similarity index 100% rename from src/py/flwr/proto/fleet_pb2.py rename to framework/src/py/flwr/proto/fleet_pb2.py diff --git a/src/py/flwr/proto/fleet_pb2.pyi b/framework/src/py/flwr/proto/fleet_pb2.pyi similarity index 100% rename from src/py/flwr/proto/fleet_pb2.pyi rename to framework/src/py/flwr/proto/fleet_pb2.pyi diff --git a/src/py/flwr/proto/fleet_pb2_grpc.py b/framework/src/py/flwr/proto/fleet_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/fleet_pb2_grpc.py rename to framework/src/py/flwr/proto/fleet_pb2_grpc.py diff --git a/src/py/flwr/proto/fleet_pb2_grpc.pyi b/framework/src/py/flwr/proto/fleet_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/fleet_pb2_grpc.pyi rename to framework/src/py/flwr/proto/fleet_pb2_grpc.pyi diff --git a/src/py/flwr/proto/grpcadapter_pb2.py b/framework/src/py/flwr/proto/grpcadapter_pb2.py similarity index 100% rename from src/py/flwr/proto/grpcadapter_pb2.py rename to framework/src/py/flwr/proto/grpcadapter_pb2.py diff --git a/src/py/flwr/proto/grpcadapter_pb2.pyi b/framework/src/py/flwr/proto/grpcadapter_pb2.pyi similarity index 100% rename from src/py/flwr/proto/grpcadapter_pb2.pyi rename to framework/src/py/flwr/proto/grpcadapter_pb2.pyi diff --git a/src/py/flwr/proto/grpcadapter_pb2_grpc.py b/framework/src/py/flwr/proto/grpcadapter_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/grpcadapter_pb2_grpc.py rename to framework/src/py/flwr/proto/grpcadapter_pb2_grpc.py diff --git a/src/py/flwr/proto/grpcadapter_pb2_grpc.pyi b/framework/src/py/flwr/proto/grpcadapter_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/grpcadapter_pb2_grpc.pyi rename to framework/src/py/flwr/proto/grpcadapter_pb2_grpc.pyi diff --git a/src/py/flwr/proto/log_pb2.py b/framework/src/py/flwr/proto/log_pb2.py similarity index 100% rename from src/py/flwr/proto/log_pb2.py rename to framework/src/py/flwr/proto/log_pb2.py diff --git a/src/py/flwr/proto/log_pb2.pyi b/framework/src/py/flwr/proto/log_pb2.pyi similarity index 100% rename from src/py/flwr/proto/log_pb2.pyi rename to framework/src/py/flwr/proto/log_pb2.pyi diff --git a/src/py/flwr/proto/log_pb2_grpc.py b/framework/src/py/flwr/proto/log_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/log_pb2_grpc.py rename to framework/src/py/flwr/proto/log_pb2_grpc.py diff --git a/src/py/flwr/proto/log_pb2_grpc.pyi b/framework/src/py/flwr/proto/log_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/log_pb2_grpc.pyi rename to framework/src/py/flwr/proto/log_pb2_grpc.pyi diff --git a/src/py/flwr/proto/message_pb2.py b/framework/src/py/flwr/proto/message_pb2.py similarity index 100% rename from src/py/flwr/proto/message_pb2.py rename to framework/src/py/flwr/proto/message_pb2.py diff --git a/src/py/flwr/proto/message_pb2.pyi b/framework/src/py/flwr/proto/message_pb2.pyi similarity index 100% rename from src/py/flwr/proto/message_pb2.pyi rename to framework/src/py/flwr/proto/message_pb2.pyi diff --git a/src/py/flwr/proto/message_pb2_grpc.py b/framework/src/py/flwr/proto/message_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/message_pb2_grpc.py rename to framework/src/py/flwr/proto/message_pb2_grpc.py diff --git a/src/py/flwr/proto/message_pb2_grpc.pyi b/framework/src/py/flwr/proto/message_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/message_pb2_grpc.pyi rename to framework/src/py/flwr/proto/message_pb2_grpc.pyi diff --git a/src/py/flwr/proto/node_pb2.py b/framework/src/py/flwr/proto/node_pb2.py similarity index 100% rename from src/py/flwr/proto/node_pb2.py rename to framework/src/py/flwr/proto/node_pb2.py diff --git a/src/py/flwr/proto/node_pb2.pyi b/framework/src/py/flwr/proto/node_pb2.pyi similarity index 100% rename from src/py/flwr/proto/node_pb2.pyi rename to framework/src/py/flwr/proto/node_pb2.pyi diff --git a/src/py/flwr/proto/node_pb2_grpc.py b/framework/src/py/flwr/proto/node_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/node_pb2_grpc.py rename to framework/src/py/flwr/proto/node_pb2_grpc.py diff --git a/src/py/flwr/proto/node_pb2_grpc.pyi b/framework/src/py/flwr/proto/node_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/node_pb2_grpc.pyi rename to framework/src/py/flwr/proto/node_pb2_grpc.pyi diff --git a/src/py/flwr/proto/recordset_pb2.py b/framework/src/py/flwr/proto/recordset_pb2.py similarity index 100% rename from src/py/flwr/proto/recordset_pb2.py rename to framework/src/py/flwr/proto/recordset_pb2.py diff --git a/src/py/flwr/proto/recordset_pb2.pyi b/framework/src/py/flwr/proto/recordset_pb2.pyi similarity index 100% rename from src/py/flwr/proto/recordset_pb2.pyi rename to framework/src/py/flwr/proto/recordset_pb2.pyi diff --git a/src/py/flwr/proto/recordset_pb2_grpc.py b/framework/src/py/flwr/proto/recordset_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/recordset_pb2_grpc.py rename to framework/src/py/flwr/proto/recordset_pb2_grpc.py diff --git a/src/py/flwr/proto/recordset_pb2_grpc.pyi b/framework/src/py/flwr/proto/recordset_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/recordset_pb2_grpc.pyi rename to framework/src/py/flwr/proto/recordset_pb2_grpc.pyi diff --git a/src/py/flwr/proto/run_pb2.py b/framework/src/py/flwr/proto/run_pb2.py similarity index 100% rename from src/py/flwr/proto/run_pb2.py rename to framework/src/py/flwr/proto/run_pb2.py diff --git a/src/py/flwr/proto/run_pb2.pyi b/framework/src/py/flwr/proto/run_pb2.pyi similarity index 100% rename from src/py/flwr/proto/run_pb2.pyi rename to framework/src/py/flwr/proto/run_pb2.pyi diff --git a/src/py/flwr/proto/run_pb2_grpc.py b/framework/src/py/flwr/proto/run_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/run_pb2_grpc.py rename to framework/src/py/flwr/proto/run_pb2_grpc.py diff --git a/src/py/flwr/proto/run_pb2_grpc.pyi b/framework/src/py/flwr/proto/run_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/run_pb2_grpc.pyi rename to framework/src/py/flwr/proto/run_pb2_grpc.pyi diff --git a/src/py/flwr/proto/serverappio_pb2.py b/framework/src/py/flwr/proto/serverappio_pb2.py similarity index 100% rename from src/py/flwr/proto/serverappio_pb2.py rename to framework/src/py/flwr/proto/serverappio_pb2.py diff --git a/src/py/flwr/proto/serverappio_pb2.pyi b/framework/src/py/flwr/proto/serverappio_pb2.pyi similarity index 100% rename from src/py/flwr/proto/serverappio_pb2.pyi rename to framework/src/py/flwr/proto/serverappio_pb2.pyi diff --git a/src/py/flwr/proto/serverappio_pb2_grpc.py b/framework/src/py/flwr/proto/serverappio_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/serverappio_pb2_grpc.py rename to framework/src/py/flwr/proto/serverappio_pb2_grpc.py diff --git a/src/py/flwr/proto/serverappio_pb2_grpc.pyi b/framework/src/py/flwr/proto/serverappio_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/serverappio_pb2_grpc.pyi rename to framework/src/py/flwr/proto/serverappio_pb2_grpc.pyi diff --git a/src/py/flwr/proto/simulationio_pb2.py b/framework/src/py/flwr/proto/simulationio_pb2.py similarity index 100% rename from src/py/flwr/proto/simulationio_pb2.py rename to framework/src/py/flwr/proto/simulationio_pb2.py diff --git a/src/py/flwr/proto/simulationio_pb2.pyi b/framework/src/py/flwr/proto/simulationio_pb2.pyi similarity index 100% rename from src/py/flwr/proto/simulationio_pb2.pyi rename to framework/src/py/flwr/proto/simulationio_pb2.pyi diff --git a/src/py/flwr/proto/simulationio_pb2_grpc.py b/framework/src/py/flwr/proto/simulationio_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/simulationio_pb2_grpc.py rename to framework/src/py/flwr/proto/simulationio_pb2_grpc.py diff --git a/src/py/flwr/proto/simulationio_pb2_grpc.pyi b/framework/src/py/flwr/proto/simulationio_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/simulationio_pb2_grpc.pyi rename to framework/src/py/flwr/proto/simulationio_pb2_grpc.pyi diff --git a/src/py/flwr/proto/task_pb2.py b/framework/src/py/flwr/proto/task_pb2.py similarity index 100% rename from src/py/flwr/proto/task_pb2.py rename to framework/src/py/flwr/proto/task_pb2.py diff --git a/src/py/flwr/proto/task_pb2.pyi b/framework/src/py/flwr/proto/task_pb2.pyi similarity index 100% rename from src/py/flwr/proto/task_pb2.pyi rename to framework/src/py/flwr/proto/task_pb2.pyi diff --git a/src/py/flwr/proto/task_pb2_grpc.py b/framework/src/py/flwr/proto/task_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/task_pb2_grpc.py rename to framework/src/py/flwr/proto/task_pb2_grpc.py diff --git a/src/py/flwr/proto/task_pb2_grpc.pyi b/framework/src/py/flwr/proto/task_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/task_pb2_grpc.pyi rename to framework/src/py/flwr/proto/task_pb2_grpc.pyi diff --git a/src/py/flwr/proto/transport_pb2.py b/framework/src/py/flwr/proto/transport_pb2.py similarity index 100% rename from src/py/flwr/proto/transport_pb2.py rename to framework/src/py/flwr/proto/transport_pb2.py diff --git a/src/py/flwr/proto/transport_pb2.pyi b/framework/src/py/flwr/proto/transport_pb2.pyi similarity index 100% rename from src/py/flwr/proto/transport_pb2.pyi rename to framework/src/py/flwr/proto/transport_pb2.pyi diff --git a/src/py/flwr/proto/transport_pb2_grpc.py b/framework/src/py/flwr/proto/transport_pb2_grpc.py similarity index 100% rename from src/py/flwr/proto/transport_pb2_grpc.py rename to framework/src/py/flwr/proto/transport_pb2_grpc.py diff --git a/src/py/flwr/proto/transport_pb2_grpc.pyi b/framework/src/py/flwr/proto/transport_pb2_grpc.pyi similarity index 100% rename from src/py/flwr/proto/transport_pb2_grpc.pyi rename to framework/src/py/flwr/proto/transport_pb2_grpc.pyi diff --git a/src/py/flwr/py.typed b/framework/src/py/flwr/py.typed similarity index 100% rename from src/py/flwr/py.typed rename to framework/src/py/flwr/py.typed diff --git a/src/py/flwr/server/__init__.py b/framework/src/py/flwr/server/__init__.py similarity index 100% rename from src/py/flwr/server/__init__.py rename to framework/src/py/flwr/server/__init__.py diff --git a/src/py/flwr/server/app.py b/framework/src/py/flwr/server/app.py similarity index 100% rename from src/py/flwr/server/app.py rename to framework/src/py/flwr/server/app.py diff --git a/src/py/flwr/server/client_manager.py b/framework/src/py/flwr/server/client_manager.py similarity index 100% rename from src/py/flwr/server/client_manager.py rename to framework/src/py/flwr/server/client_manager.py diff --git a/src/py/flwr/server/client_manager_test.py b/framework/src/py/flwr/server/client_manager_test.py similarity index 100% rename from src/py/flwr/server/client_manager_test.py rename to framework/src/py/flwr/server/client_manager_test.py diff --git a/src/py/flwr/server/client_proxy.py b/framework/src/py/flwr/server/client_proxy.py similarity index 100% rename from src/py/flwr/server/client_proxy.py rename to framework/src/py/flwr/server/client_proxy.py diff --git a/src/py/flwr/server/client_proxy_test.py b/framework/src/py/flwr/server/client_proxy_test.py similarity index 100% rename from src/py/flwr/server/client_proxy_test.py rename to framework/src/py/flwr/server/client_proxy_test.py diff --git a/src/py/flwr/server/compat/__init__.py b/framework/src/py/flwr/server/compat/__init__.py similarity index 100% rename from src/py/flwr/server/compat/__init__.py rename to framework/src/py/flwr/server/compat/__init__.py diff --git a/src/py/flwr/server/compat/app.py b/framework/src/py/flwr/server/compat/app.py similarity index 100% rename from src/py/flwr/server/compat/app.py rename to framework/src/py/flwr/server/compat/app.py diff --git a/src/py/flwr/server/compat/app_utils.py b/framework/src/py/flwr/server/compat/app_utils.py similarity index 100% rename from src/py/flwr/server/compat/app_utils.py rename to framework/src/py/flwr/server/compat/app_utils.py diff --git a/src/py/flwr/server/compat/app_utils_test.py b/framework/src/py/flwr/server/compat/app_utils_test.py similarity index 100% rename from src/py/flwr/server/compat/app_utils_test.py rename to framework/src/py/flwr/server/compat/app_utils_test.py diff --git a/src/py/flwr/server/compat/driver_client_proxy.py b/framework/src/py/flwr/server/compat/driver_client_proxy.py similarity index 100% rename from src/py/flwr/server/compat/driver_client_proxy.py rename to framework/src/py/flwr/server/compat/driver_client_proxy.py diff --git a/src/py/flwr/server/compat/driver_client_proxy_test.py b/framework/src/py/flwr/server/compat/driver_client_proxy_test.py similarity index 100% rename from src/py/flwr/server/compat/driver_client_proxy_test.py rename to framework/src/py/flwr/server/compat/driver_client_proxy_test.py diff --git a/src/py/flwr/server/compat/legacy_context.py b/framework/src/py/flwr/server/compat/legacy_context.py similarity index 100% rename from src/py/flwr/server/compat/legacy_context.py rename to framework/src/py/flwr/server/compat/legacy_context.py diff --git a/src/py/flwr/server/criterion.py b/framework/src/py/flwr/server/criterion.py similarity index 100% rename from src/py/flwr/server/criterion.py rename to framework/src/py/flwr/server/criterion.py diff --git a/src/py/flwr/server/criterion_test.py b/framework/src/py/flwr/server/criterion_test.py similarity index 100% rename from src/py/flwr/server/criterion_test.py rename to framework/src/py/flwr/server/criterion_test.py diff --git a/src/py/flwr/server/driver/__init__.py b/framework/src/py/flwr/server/driver/__init__.py similarity index 100% rename from src/py/flwr/server/driver/__init__.py rename to framework/src/py/flwr/server/driver/__init__.py diff --git a/src/py/flwr/server/driver/driver.py b/framework/src/py/flwr/server/driver/driver.py similarity index 100% rename from src/py/flwr/server/driver/driver.py rename to framework/src/py/flwr/server/driver/driver.py diff --git a/src/py/flwr/server/driver/grpc_driver.py b/framework/src/py/flwr/server/driver/grpc_driver.py similarity index 100% rename from src/py/flwr/server/driver/grpc_driver.py rename to framework/src/py/flwr/server/driver/grpc_driver.py diff --git a/src/py/flwr/server/driver/grpc_driver_test.py b/framework/src/py/flwr/server/driver/grpc_driver_test.py similarity index 100% rename from src/py/flwr/server/driver/grpc_driver_test.py rename to framework/src/py/flwr/server/driver/grpc_driver_test.py diff --git a/src/py/flwr/server/driver/inmemory_driver.py b/framework/src/py/flwr/server/driver/inmemory_driver.py similarity index 100% rename from src/py/flwr/server/driver/inmemory_driver.py rename to framework/src/py/flwr/server/driver/inmemory_driver.py diff --git a/src/py/flwr/server/driver/inmemory_driver_test.py b/framework/src/py/flwr/server/driver/inmemory_driver_test.py similarity index 100% rename from src/py/flwr/server/driver/inmemory_driver_test.py rename to framework/src/py/flwr/server/driver/inmemory_driver_test.py diff --git a/src/py/flwr/server/history.py b/framework/src/py/flwr/server/history.py similarity index 100% rename from src/py/flwr/server/history.py rename to framework/src/py/flwr/server/history.py diff --git a/src/py/flwr/server/history_test.py b/framework/src/py/flwr/server/history_test.py similarity index 100% rename from src/py/flwr/server/history_test.py rename to framework/src/py/flwr/server/history_test.py diff --git a/src/py/flwr/server/run_serverapp.py b/framework/src/py/flwr/server/run_serverapp.py similarity index 100% rename from src/py/flwr/server/run_serverapp.py rename to framework/src/py/flwr/server/run_serverapp.py diff --git a/src/py/flwr/server/server.py b/framework/src/py/flwr/server/server.py similarity index 100% rename from src/py/flwr/server/server.py rename to framework/src/py/flwr/server/server.py diff --git a/src/py/flwr/server/server_app.py b/framework/src/py/flwr/server/server_app.py similarity index 100% rename from src/py/flwr/server/server_app.py rename to framework/src/py/flwr/server/server_app.py diff --git a/src/py/flwr/server/server_app_test.py b/framework/src/py/flwr/server/server_app_test.py similarity index 100% rename from src/py/flwr/server/server_app_test.py rename to framework/src/py/flwr/server/server_app_test.py diff --git a/src/py/flwr/server/server_config.py b/framework/src/py/flwr/server/server_config.py similarity index 100% rename from src/py/flwr/server/server_config.py rename to framework/src/py/flwr/server/server_config.py diff --git a/src/py/flwr/server/server_test.py b/framework/src/py/flwr/server/server_test.py similarity index 100% rename from src/py/flwr/server/server_test.py rename to framework/src/py/flwr/server/server_test.py diff --git a/src/py/flwr/server/serverapp/__init__.py b/framework/src/py/flwr/server/serverapp/__init__.py similarity index 100% rename from src/py/flwr/server/serverapp/__init__.py rename to framework/src/py/flwr/server/serverapp/__init__.py diff --git a/src/py/flwr/server/serverapp/app.py b/framework/src/py/flwr/server/serverapp/app.py similarity index 100% rename from src/py/flwr/server/serverapp/app.py rename to framework/src/py/flwr/server/serverapp/app.py diff --git a/src/py/flwr/server/serverapp_components.py b/framework/src/py/flwr/server/serverapp_components.py similarity index 100% rename from src/py/flwr/server/serverapp_components.py rename to framework/src/py/flwr/server/serverapp_components.py diff --git a/src/py/flwr/server/strategy/__init__.py b/framework/src/py/flwr/server/strategy/__init__.py similarity index 100% rename from src/py/flwr/server/strategy/__init__.py rename to framework/src/py/flwr/server/strategy/__init__.py diff --git a/src/py/flwr/server/strategy/aggregate.py b/framework/src/py/flwr/server/strategy/aggregate.py similarity index 100% rename from src/py/flwr/server/strategy/aggregate.py rename to framework/src/py/flwr/server/strategy/aggregate.py diff --git a/src/py/flwr/server/strategy/aggregate_test.py b/framework/src/py/flwr/server/strategy/aggregate_test.py similarity index 100% rename from src/py/flwr/server/strategy/aggregate_test.py rename to framework/src/py/flwr/server/strategy/aggregate_test.py diff --git a/src/py/flwr/server/strategy/bulyan.py b/framework/src/py/flwr/server/strategy/bulyan.py similarity index 100% rename from src/py/flwr/server/strategy/bulyan.py rename to framework/src/py/flwr/server/strategy/bulyan.py diff --git a/src/py/flwr/server/strategy/bulyan_test.py b/framework/src/py/flwr/server/strategy/bulyan_test.py similarity index 100% rename from src/py/flwr/server/strategy/bulyan_test.py rename to framework/src/py/flwr/server/strategy/bulyan_test.py diff --git a/src/py/flwr/server/strategy/dp_adaptive_clipping.py b/framework/src/py/flwr/server/strategy/dp_adaptive_clipping.py similarity index 100% rename from src/py/flwr/server/strategy/dp_adaptive_clipping.py rename to framework/src/py/flwr/server/strategy/dp_adaptive_clipping.py diff --git a/src/py/flwr/server/strategy/dp_fixed_clipping.py b/framework/src/py/flwr/server/strategy/dp_fixed_clipping.py similarity index 100% rename from src/py/flwr/server/strategy/dp_fixed_clipping.py rename to framework/src/py/flwr/server/strategy/dp_fixed_clipping.py diff --git a/src/py/flwr/server/strategy/dpfedavg_adaptive.py b/framework/src/py/flwr/server/strategy/dpfedavg_adaptive.py similarity index 100% rename from src/py/flwr/server/strategy/dpfedavg_adaptive.py rename to framework/src/py/flwr/server/strategy/dpfedavg_adaptive.py diff --git a/src/py/flwr/server/strategy/dpfedavg_fixed.py b/framework/src/py/flwr/server/strategy/dpfedavg_fixed.py similarity index 100% rename from src/py/flwr/server/strategy/dpfedavg_fixed.py rename to framework/src/py/flwr/server/strategy/dpfedavg_fixed.py diff --git a/src/py/flwr/server/strategy/fault_tolerant_fedavg.py b/framework/src/py/flwr/server/strategy/fault_tolerant_fedavg.py similarity index 100% rename from src/py/flwr/server/strategy/fault_tolerant_fedavg.py rename to framework/src/py/flwr/server/strategy/fault_tolerant_fedavg.py diff --git a/src/py/flwr/server/strategy/fault_tolerant_fedavg_test.py b/framework/src/py/flwr/server/strategy/fault_tolerant_fedavg_test.py similarity index 100% rename from src/py/flwr/server/strategy/fault_tolerant_fedavg_test.py rename to framework/src/py/flwr/server/strategy/fault_tolerant_fedavg_test.py diff --git a/src/py/flwr/server/strategy/fedadagrad.py b/framework/src/py/flwr/server/strategy/fedadagrad.py similarity index 100% rename from src/py/flwr/server/strategy/fedadagrad.py rename to framework/src/py/flwr/server/strategy/fedadagrad.py diff --git a/src/py/flwr/server/strategy/fedadagrad_test.py b/framework/src/py/flwr/server/strategy/fedadagrad_test.py similarity index 100% rename from src/py/flwr/server/strategy/fedadagrad_test.py rename to framework/src/py/flwr/server/strategy/fedadagrad_test.py diff --git a/src/py/flwr/server/strategy/fedadam.py b/framework/src/py/flwr/server/strategy/fedadam.py similarity index 100% rename from src/py/flwr/server/strategy/fedadam.py rename to framework/src/py/flwr/server/strategy/fedadam.py diff --git a/src/py/flwr/server/strategy/fedavg.py b/framework/src/py/flwr/server/strategy/fedavg.py similarity index 100% rename from src/py/flwr/server/strategy/fedavg.py rename to framework/src/py/flwr/server/strategy/fedavg.py diff --git a/src/py/flwr/server/strategy/fedavg_android.py b/framework/src/py/flwr/server/strategy/fedavg_android.py similarity index 100% rename from src/py/flwr/server/strategy/fedavg_android.py rename to framework/src/py/flwr/server/strategy/fedavg_android.py diff --git a/src/py/flwr/server/strategy/fedavg_test.py b/framework/src/py/flwr/server/strategy/fedavg_test.py similarity index 100% rename from src/py/flwr/server/strategy/fedavg_test.py rename to framework/src/py/flwr/server/strategy/fedavg_test.py diff --git a/src/py/flwr/server/strategy/fedavgm.py b/framework/src/py/flwr/server/strategy/fedavgm.py similarity index 100% rename from src/py/flwr/server/strategy/fedavgm.py rename to framework/src/py/flwr/server/strategy/fedavgm.py diff --git a/src/py/flwr/server/strategy/fedavgm_test.py b/framework/src/py/flwr/server/strategy/fedavgm_test.py similarity index 100% rename from src/py/flwr/server/strategy/fedavgm_test.py rename to framework/src/py/flwr/server/strategy/fedavgm_test.py diff --git a/src/py/flwr/server/strategy/fedmedian.py b/framework/src/py/flwr/server/strategy/fedmedian.py similarity index 100% rename from src/py/flwr/server/strategy/fedmedian.py rename to framework/src/py/flwr/server/strategy/fedmedian.py diff --git a/src/py/flwr/server/strategy/fedmedian_test.py b/framework/src/py/flwr/server/strategy/fedmedian_test.py similarity index 100% rename from src/py/flwr/server/strategy/fedmedian_test.py rename to framework/src/py/flwr/server/strategy/fedmedian_test.py diff --git a/src/py/flwr/server/strategy/fedopt.py b/framework/src/py/flwr/server/strategy/fedopt.py similarity index 100% rename from src/py/flwr/server/strategy/fedopt.py rename to framework/src/py/flwr/server/strategy/fedopt.py diff --git a/src/py/flwr/server/strategy/fedprox.py b/framework/src/py/flwr/server/strategy/fedprox.py similarity index 100% rename from src/py/flwr/server/strategy/fedprox.py rename to framework/src/py/flwr/server/strategy/fedprox.py diff --git a/src/py/flwr/server/strategy/fedtrimmedavg.py b/framework/src/py/flwr/server/strategy/fedtrimmedavg.py similarity index 100% rename from src/py/flwr/server/strategy/fedtrimmedavg.py rename to framework/src/py/flwr/server/strategy/fedtrimmedavg.py diff --git a/src/py/flwr/server/strategy/fedxgb_bagging.py b/framework/src/py/flwr/server/strategy/fedxgb_bagging.py similarity index 100% rename from src/py/flwr/server/strategy/fedxgb_bagging.py rename to framework/src/py/flwr/server/strategy/fedxgb_bagging.py diff --git a/src/py/flwr/server/strategy/fedxgb_cyclic.py b/framework/src/py/flwr/server/strategy/fedxgb_cyclic.py similarity index 100% rename from src/py/flwr/server/strategy/fedxgb_cyclic.py rename to framework/src/py/flwr/server/strategy/fedxgb_cyclic.py diff --git a/src/py/flwr/server/strategy/fedxgb_nn_avg.py b/framework/src/py/flwr/server/strategy/fedxgb_nn_avg.py similarity index 100% rename from src/py/flwr/server/strategy/fedxgb_nn_avg.py rename to framework/src/py/flwr/server/strategy/fedxgb_nn_avg.py diff --git a/src/py/flwr/server/strategy/fedyogi.py b/framework/src/py/flwr/server/strategy/fedyogi.py similarity index 100% rename from src/py/flwr/server/strategy/fedyogi.py rename to framework/src/py/flwr/server/strategy/fedyogi.py diff --git a/src/py/flwr/server/strategy/krum.py b/framework/src/py/flwr/server/strategy/krum.py similarity index 100% rename from src/py/flwr/server/strategy/krum.py rename to framework/src/py/flwr/server/strategy/krum.py diff --git a/src/py/flwr/server/strategy/krum_test.py b/framework/src/py/flwr/server/strategy/krum_test.py similarity index 100% rename from src/py/flwr/server/strategy/krum_test.py rename to framework/src/py/flwr/server/strategy/krum_test.py diff --git a/src/py/flwr/server/strategy/multikrum_test.py b/framework/src/py/flwr/server/strategy/multikrum_test.py similarity index 100% rename from src/py/flwr/server/strategy/multikrum_test.py rename to framework/src/py/flwr/server/strategy/multikrum_test.py diff --git a/src/py/flwr/server/strategy/qfedavg.py b/framework/src/py/flwr/server/strategy/qfedavg.py similarity index 100% rename from src/py/flwr/server/strategy/qfedavg.py rename to framework/src/py/flwr/server/strategy/qfedavg.py diff --git a/src/py/flwr/server/strategy/strategy.py b/framework/src/py/flwr/server/strategy/strategy.py similarity index 100% rename from src/py/flwr/server/strategy/strategy.py rename to framework/src/py/flwr/server/strategy/strategy.py diff --git a/src/py/flwr/server/superlink/__init__.py b/framework/src/py/flwr/server/superlink/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/__init__.py rename to framework/src/py/flwr/server/superlink/__init__.py diff --git a/src/py/flwr/server/superlink/driver/__init__.py b/framework/src/py/flwr/server/superlink/driver/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/driver/__init__.py rename to framework/src/py/flwr/server/superlink/driver/__init__.py diff --git a/src/py/flwr/server/superlink/driver/serverappio_grpc.py b/framework/src/py/flwr/server/superlink/driver/serverappio_grpc.py similarity index 100% rename from src/py/flwr/server/superlink/driver/serverappio_grpc.py rename to framework/src/py/flwr/server/superlink/driver/serverappio_grpc.py diff --git a/src/py/flwr/server/superlink/driver/serverappio_servicer.py b/framework/src/py/flwr/server/superlink/driver/serverappio_servicer.py similarity index 100% rename from src/py/flwr/server/superlink/driver/serverappio_servicer.py rename to framework/src/py/flwr/server/superlink/driver/serverappio_servicer.py diff --git a/src/py/flwr/server/superlink/driver/serverappio_servicer_test.py b/framework/src/py/flwr/server/superlink/driver/serverappio_servicer_test.py similarity index 100% rename from src/py/flwr/server/superlink/driver/serverappio_servicer_test.py rename to framework/src/py/flwr/server/superlink/driver/serverappio_servicer_test.py diff --git a/src/py/flwr/server/superlink/ffs/__init__.py b/framework/src/py/flwr/server/superlink/ffs/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/ffs/__init__.py rename to framework/src/py/flwr/server/superlink/ffs/__init__.py diff --git a/src/py/flwr/server/superlink/ffs/disk_ffs.py b/framework/src/py/flwr/server/superlink/ffs/disk_ffs.py similarity index 100% rename from src/py/flwr/server/superlink/ffs/disk_ffs.py rename to framework/src/py/flwr/server/superlink/ffs/disk_ffs.py diff --git a/src/py/flwr/server/superlink/ffs/ffs.py b/framework/src/py/flwr/server/superlink/ffs/ffs.py similarity index 100% rename from src/py/flwr/server/superlink/ffs/ffs.py rename to framework/src/py/flwr/server/superlink/ffs/ffs.py diff --git a/src/py/flwr/server/superlink/ffs/ffs_factory.py b/framework/src/py/flwr/server/superlink/ffs/ffs_factory.py similarity index 100% rename from src/py/flwr/server/superlink/ffs/ffs_factory.py rename to framework/src/py/flwr/server/superlink/ffs/ffs_factory.py diff --git a/src/py/flwr/server/superlink/ffs/ffs_factory_test.py b/framework/src/py/flwr/server/superlink/ffs/ffs_factory_test.py similarity index 100% rename from src/py/flwr/server/superlink/ffs/ffs_factory_test.py rename to framework/src/py/flwr/server/superlink/ffs/ffs_factory_test.py diff --git a/src/py/flwr/server/superlink/ffs/ffs_test.py b/framework/src/py/flwr/server/superlink/ffs/ffs_test.py similarity index 100% rename from src/py/flwr/server/superlink/ffs/ffs_test.py rename to framework/src/py/flwr/server/superlink/ffs/ffs_test.py diff --git a/src/py/flwr/server/superlink/fleet/__init__.py b/framework/src/py/flwr/server/superlink/fleet/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/__init__.py rename to framework/src/py/flwr/server/superlink/fleet/__init__.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py b/framework/src/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_adapter/__init__.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py b/framework/src/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_bidi/__init__.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer_test.py b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer_test.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer_test.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer_test.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge_test.py b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge_test.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge_test.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_bridge_test.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy_test.py b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy_test.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy_test.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy_test.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_rere/__init__.py b/framework/src/py/flwr/server/superlink/fleet/grpc_rere/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_rere/__init__.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_rere/__init__.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py b/framework/src/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py b/framework/src/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor.py diff --git a/src/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor_test.py b/framework/src/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor_test.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor_test.py rename to framework/src/py/flwr/server/superlink/fleet/grpc_rere/server_interceptor_test.py diff --git a/src/py/flwr/server/superlink/fleet/message_handler/__init__.py b/framework/src/py/flwr/server/superlink/fleet/message_handler/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/message_handler/__init__.py rename to framework/src/py/flwr/server/superlink/fleet/message_handler/__init__.py diff --git a/src/py/flwr/server/superlink/fleet/message_handler/message_handler.py b/framework/src/py/flwr/server/superlink/fleet/message_handler/message_handler.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/message_handler/message_handler.py rename to framework/src/py/flwr/server/superlink/fleet/message_handler/message_handler.py diff --git a/src/py/flwr/server/superlink/fleet/message_handler/message_handler_test.py b/framework/src/py/flwr/server/superlink/fleet/message_handler/message_handler_test.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/message_handler/message_handler_test.py rename to framework/src/py/flwr/server/superlink/fleet/message_handler/message_handler_test.py diff --git a/src/py/flwr/server/superlink/fleet/rest_rere/__init__.py b/framework/src/py/flwr/server/superlink/fleet/rest_rere/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/rest_rere/__init__.py rename to framework/src/py/flwr/server/superlink/fleet/rest_rere/__init__.py diff --git a/src/py/flwr/server/superlink/fleet/rest_rere/rest_api.py b/framework/src/py/flwr/server/superlink/fleet/rest_rere/rest_api.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/rest_rere/rest_api.py rename to framework/src/py/flwr/server/superlink/fleet/rest_rere/rest_api.py diff --git a/src/py/flwr/server/superlink/fleet/vce/__init__.py b/framework/src/py/flwr/server/superlink/fleet/vce/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/vce/__init__.py rename to framework/src/py/flwr/server/superlink/fleet/vce/__init__.py diff --git a/src/py/flwr/server/superlink/fleet/vce/backend/__init__.py b/framework/src/py/flwr/server/superlink/fleet/vce/backend/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/vce/backend/__init__.py rename to framework/src/py/flwr/server/superlink/fleet/vce/backend/__init__.py diff --git a/src/py/flwr/server/superlink/fleet/vce/backend/backend.py b/framework/src/py/flwr/server/superlink/fleet/vce/backend/backend.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/vce/backend/backend.py rename to framework/src/py/flwr/server/superlink/fleet/vce/backend/backend.py diff --git a/src/py/flwr/server/superlink/fleet/vce/backend/raybackend.py b/framework/src/py/flwr/server/superlink/fleet/vce/backend/raybackend.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/vce/backend/raybackend.py rename to framework/src/py/flwr/server/superlink/fleet/vce/backend/raybackend.py diff --git a/src/py/flwr/server/superlink/fleet/vce/backend/raybackend_test.py b/framework/src/py/flwr/server/superlink/fleet/vce/backend/raybackend_test.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/vce/backend/raybackend_test.py rename to framework/src/py/flwr/server/superlink/fleet/vce/backend/raybackend_test.py diff --git a/src/py/flwr/server/superlink/fleet/vce/vce_api.py b/framework/src/py/flwr/server/superlink/fleet/vce/vce_api.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/vce/vce_api.py rename to framework/src/py/flwr/server/superlink/fleet/vce/vce_api.py diff --git a/src/py/flwr/server/superlink/fleet/vce/vce_api_test.py b/framework/src/py/flwr/server/superlink/fleet/vce/vce_api_test.py similarity index 100% rename from src/py/flwr/server/superlink/fleet/vce/vce_api_test.py rename to framework/src/py/flwr/server/superlink/fleet/vce/vce_api_test.py diff --git a/src/py/flwr/server/superlink/linkstate/__init__.py b/framework/src/py/flwr/server/superlink/linkstate/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/linkstate/__init__.py rename to framework/src/py/flwr/server/superlink/linkstate/__init__.py diff --git a/src/py/flwr/server/superlink/linkstate/in_memory_linkstate.py b/framework/src/py/flwr/server/superlink/linkstate/in_memory_linkstate.py similarity index 100% rename from src/py/flwr/server/superlink/linkstate/in_memory_linkstate.py rename to framework/src/py/flwr/server/superlink/linkstate/in_memory_linkstate.py diff --git a/src/py/flwr/server/superlink/linkstate/linkstate.py b/framework/src/py/flwr/server/superlink/linkstate/linkstate.py similarity index 100% rename from src/py/flwr/server/superlink/linkstate/linkstate.py rename to framework/src/py/flwr/server/superlink/linkstate/linkstate.py diff --git a/src/py/flwr/server/superlink/linkstate/linkstate_factory.py b/framework/src/py/flwr/server/superlink/linkstate/linkstate_factory.py similarity index 100% rename from src/py/flwr/server/superlink/linkstate/linkstate_factory.py rename to framework/src/py/flwr/server/superlink/linkstate/linkstate_factory.py diff --git a/src/py/flwr/server/superlink/linkstate/linkstate_test.py b/framework/src/py/flwr/server/superlink/linkstate/linkstate_test.py similarity index 100% rename from src/py/flwr/server/superlink/linkstate/linkstate_test.py rename to framework/src/py/flwr/server/superlink/linkstate/linkstate_test.py diff --git a/src/py/flwr/server/superlink/linkstate/sqlite_linkstate.py b/framework/src/py/flwr/server/superlink/linkstate/sqlite_linkstate.py similarity index 100% rename from src/py/flwr/server/superlink/linkstate/sqlite_linkstate.py rename to framework/src/py/flwr/server/superlink/linkstate/sqlite_linkstate.py diff --git a/src/py/flwr/server/superlink/linkstate/sqlite_linkstate_test.py b/framework/src/py/flwr/server/superlink/linkstate/sqlite_linkstate_test.py similarity index 100% rename from src/py/flwr/server/superlink/linkstate/sqlite_linkstate_test.py rename to framework/src/py/flwr/server/superlink/linkstate/sqlite_linkstate_test.py diff --git a/src/py/flwr/server/superlink/linkstate/utils.py b/framework/src/py/flwr/server/superlink/linkstate/utils.py similarity index 100% rename from src/py/flwr/server/superlink/linkstate/utils.py rename to framework/src/py/flwr/server/superlink/linkstate/utils.py diff --git a/src/py/flwr/server/superlink/linkstate/utils_test.py b/framework/src/py/flwr/server/superlink/linkstate/utils_test.py similarity index 100% rename from src/py/flwr/server/superlink/linkstate/utils_test.py rename to framework/src/py/flwr/server/superlink/linkstate/utils_test.py diff --git a/src/py/flwr/server/superlink/simulation/__init__.py b/framework/src/py/flwr/server/superlink/simulation/__init__.py similarity index 100% rename from src/py/flwr/server/superlink/simulation/__init__.py rename to framework/src/py/flwr/server/superlink/simulation/__init__.py diff --git a/src/py/flwr/server/superlink/simulation/simulationio_grpc.py b/framework/src/py/flwr/server/superlink/simulation/simulationio_grpc.py similarity index 100% rename from src/py/flwr/server/superlink/simulation/simulationio_grpc.py rename to framework/src/py/flwr/server/superlink/simulation/simulationio_grpc.py diff --git a/src/py/flwr/server/superlink/simulation/simulationio_servicer.py b/framework/src/py/flwr/server/superlink/simulation/simulationio_servicer.py similarity index 100% rename from src/py/flwr/server/superlink/simulation/simulationio_servicer.py rename to framework/src/py/flwr/server/superlink/simulation/simulationio_servicer.py diff --git a/src/py/flwr/server/typing.py b/framework/src/py/flwr/server/typing.py similarity index 100% rename from src/py/flwr/server/typing.py rename to framework/src/py/flwr/server/typing.py diff --git a/src/py/flwr/server/utils/__init__.py b/framework/src/py/flwr/server/utils/__init__.py similarity index 100% rename from src/py/flwr/server/utils/__init__.py rename to framework/src/py/flwr/server/utils/__init__.py diff --git a/src/py/flwr/server/utils/tensorboard.py b/framework/src/py/flwr/server/utils/tensorboard.py similarity index 100% rename from src/py/flwr/server/utils/tensorboard.py rename to framework/src/py/flwr/server/utils/tensorboard.py diff --git a/src/py/flwr/server/utils/tensorboard_test.py b/framework/src/py/flwr/server/utils/tensorboard_test.py similarity index 100% rename from src/py/flwr/server/utils/tensorboard_test.py rename to framework/src/py/flwr/server/utils/tensorboard_test.py diff --git a/src/py/flwr/server/utils/validator.py b/framework/src/py/flwr/server/utils/validator.py similarity index 100% rename from src/py/flwr/server/utils/validator.py rename to framework/src/py/flwr/server/utils/validator.py diff --git a/src/py/flwr/server/utils/validator_test.py b/framework/src/py/flwr/server/utils/validator_test.py similarity index 100% rename from src/py/flwr/server/utils/validator_test.py rename to framework/src/py/flwr/server/utils/validator_test.py diff --git a/src/py/flwr/server/workflow/__init__.py b/framework/src/py/flwr/server/workflow/__init__.py similarity index 100% rename from src/py/flwr/server/workflow/__init__.py rename to framework/src/py/flwr/server/workflow/__init__.py diff --git a/src/py/flwr/server/workflow/constant.py b/framework/src/py/flwr/server/workflow/constant.py similarity index 100% rename from src/py/flwr/server/workflow/constant.py rename to framework/src/py/flwr/server/workflow/constant.py diff --git a/src/py/flwr/server/workflow/default_workflows.py b/framework/src/py/flwr/server/workflow/default_workflows.py similarity index 100% rename from src/py/flwr/server/workflow/default_workflows.py rename to framework/src/py/flwr/server/workflow/default_workflows.py diff --git a/src/py/flwr/server/workflow/secure_aggregation/__init__.py b/framework/src/py/flwr/server/workflow/secure_aggregation/__init__.py similarity index 100% rename from src/py/flwr/server/workflow/secure_aggregation/__init__.py rename to framework/src/py/flwr/server/workflow/secure_aggregation/__init__.py diff --git a/src/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py b/framework/src/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py similarity index 100% rename from src/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py rename to framework/src/py/flwr/server/workflow/secure_aggregation/secagg_workflow.py diff --git a/src/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py b/framework/src/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py similarity index 100% rename from src/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py rename to framework/src/py/flwr/server/workflow/secure_aggregation/secaggplus_workflow.py diff --git a/src/py/flwr/simulation/__init__.py b/framework/src/py/flwr/simulation/__init__.py similarity index 100% rename from src/py/flwr/simulation/__init__.py rename to framework/src/py/flwr/simulation/__init__.py diff --git a/src/py/flwr/simulation/app.py b/framework/src/py/flwr/simulation/app.py similarity index 100% rename from src/py/flwr/simulation/app.py rename to framework/src/py/flwr/simulation/app.py diff --git a/src/py/flwr/simulation/legacy_app.py b/framework/src/py/flwr/simulation/legacy_app.py similarity index 100% rename from src/py/flwr/simulation/legacy_app.py rename to framework/src/py/flwr/simulation/legacy_app.py diff --git a/src/py/flwr/simulation/ray_transport/__init__.py b/framework/src/py/flwr/simulation/ray_transport/__init__.py similarity index 100% rename from src/py/flwr/simulation/ray_transport/__init__.py rename to framework/src/py/flwr/simulation/ray_transport/__init__.py diff --git a/src/py/flwr/simulation/ray_transport/ray_actor.py b/framework/src/py/flwr/simulation/ray_transport/ray_actor.py similarity index 100% rename from src/py/flwr/simulation/ray_transport/ray_actor.py rename to framework/src/py/flwr/simulation/ray_transport/ray_actor.py diff --git a/src/py/flwr/simulation/ray_transport/ray_client_proxy.py b/framework/src/py/flwr/simulation/ray_transport/ray_client_proxy.py similarity index 100% rename from src/py/flwr/simulation/ray_transport/ray_client_proxy.py rename to framework/src/py/flwr/simulation/ray_transport/ray_client_proxy.py diff --git a/src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py b/framework/src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py similarity index 100% rename from src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py rename to framework/src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py diff --git a/src/py/flwr/simulation/ray_transport/utils.py b/framework/src/py/flwr/simulation/ray_transport/utils.py similarity index 100% rename from src/py/flwr/simulation/ray_transport/utils.py rename to framework/src/py/flwr/simulation/ray_transport/utils.py diff --git a/src/py/flwr/simulation/run_simulation.py b/framework/src/py/flwr/simulation/run_simulation.py similarity index 100% rename from src/py/flwr/simulation/run_simulation.py rename to framework/src/py/flwr/simulation/run_simulation.py diff --git a/src/py/flwr/simulation/simulationio_connection.py b/framework/src/py/flwr/simulation/simulationio_connection.py similarity index 100% rename from src/py/flwr/simulation/simulationio_connection.py rename to framework/src/py/flwr/simulation/simulationio_connection.py diff --git a/src/py/flwr/superexec/__init__.py b/framework/src/py/flwr/superexec/__init__.py similarity index 100% rename from src/py/flwr/superexec/__init__.py rename to framework/src/py/flwr/superexec/__init__.py diff --git a/src/py/flwr/superexec/app.py b/framework/src/py/flwr/superexec/app.py similarity index 100% rename from src/py/flwr/superexec/app.py rename to framework/src/py/flwr/superexec/app.py diff --git a/src/py/flwr/superexec/deployment.py b/framework/src/py/flwr/superexec/deployment.py similarity index 100% rename from src/py/flwr/superexec/deployment.py rename to framework/src/py/flwr/superexec/deployment.py diff --git a/src/py/flwr/superexec/exec_grpc.py b/framework/src/py/flwr/superexec/exec_grpc.py similarity index 100% rename from src/py/flwr/superexec/exec_grpc.py rename to framework/src/py/flwr/superexec/exec_grpc.py diff --git a/src/py/flwr/superexec/exec_servicer.py b/framework/src/py/flwr/superexec/exec_servicer.py similarity index 100% rename from src/py/flwr/superexec/exec_servicer.py rename to framework/src/py/flwr/superexec/exec_servicer.py diff --git a/src/py/flwr/superexec/exec_servicer_test.py b/framework/src/py/flwr/superexec/exec_servicer_test.py similarity index 100% rename from src/py/flwr/superexec/exec_servicer_test.py rename to framework/src/py/flwr/superexec/exec_servicer_test.py diff --git a/src/py/flwr/superexec/executor.py b/framework/src/py/flwr/superexec/executor.py similarity index 100% rename from src/py/flwr/superexec/executor.py rename to framework/src/py/flwr/superexec/executor.py diff --git a/src/py/flwr/superexec/simulation.py b/framework/src/py/flwr/superexec/simulation.py similarity index 100% rename from src/py/flwr/superexec/simulation.py rename to framework/src/py/flwr/superexec/simulation.py diff --git a/src/py/flwr_tool/__init__.py b/framework/src/py/flwr_tool/__init__.py similarity index 100% rename from src/py/flwr_tool/__init__.py rename to framework/src/py/flwr_tool/__init__.py diff --git a/src/py/flwr_tool/check_copyright.py b/framework/src/py/flwr_tool/check_copyright.py similarity index 100% rename from src/py/flwr_tool/check_copyright.py rename to framework/src/py/flwr_tool/check_copyright.py diff --git a/src/py/flwr_tool/fix_copyright.py b/framework/src/py/flwr_tool/fix_copyright.py similarity index 100% rename from src/py/flwr_tool/fix_copyright.py rename to framework/src/py/flwr_tool/fix_copyright.py diff --git a/src/py/flwr_tool/init_py_check.py b/framework/src/py/flwr_tool/init_py_check.py similarity index 100% rename from src/py/flwr_tool/init_py_check.py rename to framework/src/py/flwr_tool/init_py_check.py diff --git a/src/py/flwr_tool/init_py_fix.py b/framework/src/py/flwr_tool/init_py_fix.py similarity index 100% rename from src/py/flwr_tool/init_py_fix.py rename to framework/src/py/flwr_tool/init_py_fix.py diff --git a/src/py/flwr_tool/protoc.py b/framework/src/py/flwr_tool/protoc.py similarity index 100% rename from src/py/flwr_tool/protoc.py rename to framework/src/py/flwr_tool/protoc.py diff --git a/src/py/flwr_tool/protoc_test.py b/framework/src/py/flwr_tool/protoc_test.py similarity index 100% rename from src/py/flwr_tool/protoc_test.py rename to framework/src/py/flwr_tool/protoc_test.py diff --git a/src/swift/flwr/.gitignore b/framework/src/swift/flwr/.gitignore similarity index 100% rename from src/swift/flwr/.gitignore rename to framework/src/swift/flwr/.gitignore diff --git a/src/swift/flwr/Package.swift b/framework/src/swift/flwr/Package.swift similarity index 100% rename from src/swift/flwr/Package.swift rename to framework/src/swift/flwr/Package.swift diff --git a/src/swift/flwr/README.md b/framework/src/swift/flwr/README.md similarity index 100% rename from src/swift/flwr/README.md rename to framework/src/swift/flwr/README.md diff --git a/src/swift/flwr/Sources/Flower/Client/Client.swift b/framework/src/swift/flwr/Sources/Flower/Client/Client.swift similarity index 100% rename from src/swift/flwr/Sources/Flower/Client/Client.swift rename to framework/src/swift/flwr/Sources/Flower/Client/Client.swift diff --git a/src/swift/flwr/Sources/Flower/Common/Exception.swift b/framework/src/swift/flwr/Sources/Flower/Common/Exception.swift similarity index 100% rename from src/swift/flwr/Sources/Flower/Common/Exception.swift rename to framework/src/swift/flwr/Sources/Flower/Common/Exception.swift diff --git a/src/swift/flwr/Sources/Flower/Common/Parameter.swift b/framework/src/swift/flwr/Sources/Flower/Common/Parameter.swift similarity index 100% rename from src/swift/flwr/Sources/Flower/Common/Parameter.swift rename to framework/src/swift/flwr/Sources/Flower/Common/Parameter.swift diff --git a/src/swift/flwr/Sources/Flower/Common/Serde.swift b/framework/src/swift/flwr/Sources/Flower/Common/Serde.swift similarity index 100% rename from src/swift/flwr/Sources/Flower/Common/Serde.swift rename to framework/src/swift/flwr/Sources/Flower/Common/Serde.swift diff --git a/src/swift/flwr/Sources/Flower/Common/Typing.swift b/framework/src/swift/flwr/Sources/Flower/Common/Typing.swift similarity index 100% rename from src/swift/flwr/Sources/Flower/Common/Typing.swift rename to framework/src/swift/flwr/Sources/Flower/Common/Typing.swift diff --git a/src/swift/flwr/Sources/Flower/FlowerProto/transport.grpc.swift b/framework/src/swift/flwr/Sources/Flower/FlowerProto/transport.grpc.swift similarity index 100% rename from src/swift/flwr/Sources/Flower/FlowerProto/transport.grpc.swift rename to framework/src/swift/flwr/Sources/Flower/FlowerProto/transport.grpc.swift diff --git a/src/swift/flwr/Sources/Flower/FlowerProto/transport.pb.swift b/framework/src/swift/flwr/Sources/Flower/FlowerProto/transport.pb.swift similarity index 100% rename from src/swift/flwr/Sources/Flower/FlowerProto/transport.pb.swift rename to framework/src/swift/flwr/Sources/Flower/FlowerProto/transport.pb.swift diff --git a/src/swift/flwr/Sources/Flower/GRPC/FlwrGRPC.swift b/framework/src/swift/flwr/Sources/Flower/GRPC/FlwrGRPC.swift similarity index 100% rename from src/swift/flwr/Sources/Flower/GRPC/FlwrGRPC.swift rename to framework/src/swift/flwr/Sources/Flower/GRPC/FlwrGRPC.swift diff --git a/src/swift/flwr/Sources/Flower/GRPC/InterceptorExtension.swift b/framework/src/swift/flwr/Sources/Flower/GRPC/InterceptorExtension.swift similarity index 100% rename from src/swift/flwr/Sources/Flower/GRPC/InterceptorExtension.swift rename to framework/src/swift/flwr/Sources/Flower/GRPC/InterceptorExtension.swift diff --git a/src/swift/flwr/Sources/Flower/GRPC/Interceptors.swift b/framework/src/swift/flwr/Sources/Flower/GRPC/Interceptors.swift similarity index 100% rename from src/swift/flwr/Sources/Flower/GRPC/Interceptors.swift rename to framework/src/swift/flwr/Sources/Flower/GRPC/Interceptors.swift diff --git a/src/swift/flwr/Sources/Flower/GRPC/MessageHandler.swift b/framework/src/swift/flwr/Sources/Flower/GRPC/MessageHandler.swift similarity index 100% rename from src/swift/flwr/Sources/Flower/GRPC/MessageHandler.swift rename to framework/src/swift/flwr/Sources/Flower/GRPC/MessageHandler.swift diff --git a/src/swift/flwr/Sources/Flower/flwr.docc/flwr.md b/framework/src/swift/flwr/Sources/Flower/flwr.docc/flwr.md similarity index 100% rename from src/swift/flwr/Sources/Flower/flwr.docc/flwr.md rename to framework/src/swift/flwr/Sources/Flower/flwr.docc/flwr.md diff --git a/src/swift/flwr/Tests/FlowerTests/FlowerTests.swift b/framework/src/swift/flwr/Tests/FlowerTests/FlowerTests.swift similarity index 100% rename from src/swift/flwr/Tests/FlowerTests/FlowerTests.swift rename to framework/src/swift/flwr/Tests/FlowerTests/FlowerTests.swift From 2ae344dfc4ba6f4a8a9ac4b7dc473f92e47cb753 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 16:40:25 +0100 Subject: [PATCH 02/15] Update scripts --- framework/dev/add-swift-api-footer.sh | 8 +++--- framework/dev/bootstrap.sh | 6 ++--- framework/dev/build-baseline-docs.sh | 2 +- framework/dev/build-docs.sh | 6 ++--- framework/dev/build-example-docs.py | 4 ++- framework/dev/build-swift-api-ref.sh | 6 ++--- framework/dev/build.sh | 2 +- framework/dev/certificates/generate.sh | 6 ++--- framework/dev/check-protos.sh | 4 +-- framework/dev/check-requirements-txt.sh | 4 +-- framework/dev/deploy-swift-docs.sh | 6 ++--- framework/dev/fnt.sh | 8 +++--- framework/dev/format.sh | 26 +++++++++---------- framework/dev/generate-requirements-txt.sh | 2 +- framework/dev/get-latest-changelog.sh | 4 +-- framework/dev/install-cuda-step-1.sh | 2 +- framework/dev/install-cuda-step-2.sh | 2 +- framework/dev/publish-nightly.sh | 2 +- framework/dev/rm-caches.sh | 6 ++--- framework/dev/setup-envs.sh | 2 +- framework/dev/test-copyright.sh | 2 +- framework/dev/test-tool.sh | 10 ++++---- framework/dev/test-wheel.sh | 2 +- framework/dev/test.sh | 30 +++++++++++----------- framework/dev/venv-create.sh | 2 +- framework/dev/venv-delete.sh | 2 +- framework/dev/venv-reset.sh | 10 ++++---- pyproject.toml | 18 ++++++------- 28 files changed, 93 insertions(+), 91 deletions(-) diff --git a/framework/dev/add-swift-api-footer.sh b/framework/dev/add-swift-api-footer.sh index b18caaf7d801..5dd7f0af69b5 100644 --- a/framework/dev/add-swift-api-footer.sh +++ b/framework/dev/add-swift-api-footer.sh @@ -16,17 +16,17 @@ # ============================================================================== set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ -footer_template_file="dev/swift-docs-resources/footer.html" +footer_template_file="framework/dev/swift-docs-resources/footer.html" footer_template=$(<"$footer_template_file") placeholder='' html_file="Swiftdoc/html/documentation/flwr/index.html" sed -i '' -e "s#$(printf '%s' "$placeholder" | sed 's/[&/\]/\\&/g')#$placeholder\n$footer_template#" "$html_file" -flower_logo='dev/swift-docs-resources/logo_secondary-w-border.png' -footer_template_css="dev/swift-docs-resources/footer.css" +flower_logo='framework/dev/swift-docs-resources/logo_secondary-w-border.png' +footer_template_css="framework/dev/swift-docs-resources/footer.css" destination_images="Swiftdoc/html/images/" destination_css="Swiftdoc/html/css/" diff --git a/framework/dev/bootstrap.sh b/framework/dev/bootstrap.sh index bfcdc8a4369e..0b74bcd99c7d 100755 --- a/framework/dev/bootstrap.sh +++ b/framework/dev/bootstrap.sh @@ -1,12 +1,12 @@ #!/bin/bash set -e -cd "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../ +cd "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../../ # Setup environment variables for development -./dev/setup-envs.sh +./framework/dev/setup-envs.sh # Remove caches -./dev/rm-caches.sh +./framework/dev/rm-caches.sh # Upgrade/install spcific versions of `pip`, `setuptools`, and `poetry` python -m pip install -U pip==24.1.2 diff --git a/framework/dev/build-baseline-docs.sh b/framework/dev/build-baseline-docs.sh index 794cf2537c74..41edb72804fb 100755 --- a/framework/dev/build-baseline-docs.sh +++ b/framework/dev/build-baseline-docs.sh @@ -1,6 +1,6 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ ROOT=`pwd` INDEX=$ROOT/baselines/doc/source/index.rst diff --git a/framework/dev/build-docs.sh b/framework/dev/build-docs.sh index f4bf958b0ebf..d9bfa8682eba 100755 --- a/framework/dev/build-docs.sh +++ b/framework/dev/build-docs.sh @@ -1,14 +1,14 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ ROOT=`pwd` cd $ROOT -./dev/build-baseline-docs.sh +./framework/dev/build-baseline-docs.sh cd $ROOT -python dev/build-example-docs.py +python framework/dev/build-example-docs.py cd $ROOT ./datasets/dev/build-flwr-datasets-docs.sh diff --git a/framework/dev/build-example-docs.py b/framework/dev/build-example-docs.py index 05656967bbbd..f3bf953fee44 100644 --- a/framework/dev/build-example-docs.py +++ b/framework/dev/build-example-docs.py @@ -20,7 +20,9 @@ import subprocess from pathlib import Path -ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) +ROOT = os.path.abspath( + os.path.join(os.path.join(os.path.dirname(__file__), ".."), "..") +) INDEX = os.path.join(ROOT, "examples", "doc", "source", "index.rst") initial_text = """ diff --git a/framework/dev/build-swift-api-ref.sh b/framework/dev/build-swift-api-ref.sh index 5b88f9a68320..8c85a01b4ddf 100755 --- a/framework/dev/build-swift-api-ref.sh +++ b/framework/dev/build-swift-api-ref.sh @@ -16,7 +16,7 @@ # ============================================================================== set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ # Create a directory to save generated API reference. mkdir -p SwiftDoc @@ -27,11 +27,11 @@ find ~/Library/Developer/Xcode/DerivedData -name "flwr.doccarchive" -exec rm -Rf # Make sure you have XCode installed in your Mac to avoid xcode-select: error. # In case no XCode, please refer to: https://github.com/nodejs/node-gyp/issues/569. # Generate API reference for the Swift SDK by running `xcodebuild docbuild` in src directory. -cd src/swift/flwr && \ +cd framework/src/swift/flwr && \ arch -x86_64 xcodebuild docbuild -scheme flwr -destination 'platform=iOS Simulator,name=iPhone 15 Pro Max,OS=17.2' # Find the generated `doccarchive` file in XCode's derived data folder and copy it to the SwiftDoc directory. -cd ../../../ +cd ../../../../ find ~/Library/Developer/Xcode/DerivedData -name "flwr.doccarchive" -exec cp -R {} SwiftDoc \; # Transform the `doccarchive` file to static HTML and store the output in the `SwiftDoc/html` folder. # Path to the generated static HTML is configurable, right now the path is {baseURL}/documentation/flwr. diff --git a/framework/dev/build.sh b/framework/dev/build.sh index a257e9402dc3..5cae759ffa4e 100755 --- a/framework/dev/build.sh +++ b/framework/dev/build.sh @@ -16,6 +16,6 @@ # ============================================================================== set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ python -m poetry build diff --git a/framework/dev/certificates/generate.sh b/framework/dev/certificates/generate.sh index 2647a531da4f..e09d3e2dd217 100755 --- a/framework/dev/certificates/generate.sh +++ b/framework/dev/certificates/generate.sh @@ -2,7 +2,7 @@ # This script will generate all certificates if ca.crt does not exist set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../../ CA_PASSWORD=notsafe @@ -36,7 +36,7 @@ openssl req \ -new \ -key $CERT_DIR/server.key \ -out $CERT_DIR/server.csr \ - -config ./dev/certificates/certificate.conf + -config ./framework/dev/certificates/certificate.conf # Generate a certificate for the server openssl x509 \ @@ -48,5 +48,5 @@ openssl x509 \ -out $CERT_DIR/server.pem \ -days 365 \ -sha256 \ - -extfile ./dev/certificates/certificate.conf \ + -extfile ./framework/dev/certificates/certificate.conf \ -extensions req_ext diff --git a/framework/dev/check-protos.sh b/framework/dev/check-protos.sh index 4e9927bbab0b..c6ef4bfa3849 100755 --- a/framework/dev/check-protos.sh +++ b/framework/dev/check-protos.sh @@ -16,7 +16,7 @@ # ============================================================================== set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ # Purpose of this script is to evaluate if the user changed the proto definitions # but did not recompile or commit the new proto python files @@ -25,7 +25,7 @@ cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ python -m flwr_tool.protoc # Fail if user forgot to recompile -CHANGED=$(git diff --name-only HEAD src/py/flwr/proto) +CHANGED=$(git diff --name-only HEAD framework/src/py/flwr/proto) if [ -n "$CHANGED" ]; then echo "Changes detected" diff --git a/framework/dev/check-requirements-txt.sh b/framework/dev/check-requirements-txt.sh index e9e48a978671..ff599bbf08ae 100755 --- a/framework/dev/check-requirements-txt.sh +++ b/framework/dev/check-requirements-txt.sh @@ -16,11 +16,11 @@ # ============================================================================== set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ # Regenerate requirements.txt files for examples in case they changed echo "Regenerate requirements.txt files in case they changed" -./dev/generate-requirements-txt.sh 2> /dev/null +./framework/dev/generate-requirements-txt.sh 2> /dev/null # Fail if user forgot to sync requirements.txt and pyproject.toml CHANGED=$(git diff --name-only HEAD examples) diff --git a/framework/dev/deploy-swift-docs.sh b/framework/dev/deploy-swift-docs.sh index eea3b287aa8b..7a70f349143f 100755 --- a/framework/dev/deploy-swift-docs.sh +++ b/framework/dev/deploy-swift-docs.sh @@ -16,13 +16,13 @@ # ============================================================================== set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ ROOT=$(pwd) # Build and deploy Flower iOS docs cd "$ROOT" -./dev/build-swift-api-ref.sh -./dev/add-swift-api-footer.sh +./framework/dev/build-swift-api-ref.sh +./framework/dev/add-swift-api-footer.sh cd SwiftDoc/html aws s3 sync --delete --exclude ".*" --cache-control "no-cache" ./ s3://flower.ai/docs/ios diff --git a/framework/dev/fnt.sh b/framework/dev/fnt.sh index eb05706a5b91..3b95e5348a58 100755 --- a/framework/dev/fnt.sh +++ b/framework/dev/fnt.sh @@ -1,14 +1,14 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ echo "Format code and run all test scripts" -./dev/format.sh +./framework/dev/format.sh ./baselines/dev/format.sh -./dev/test.sh +./framework/dev/test.sh ./baselines/dev/test.sh -./dev/test-tool.sh +./framework/dev/test-tool.sh diff --git a/framework/dev/format.sh b/framework/dev/format.sh index a3129b932e5d..0d113c5afd2b 100755 --- a/framework/dev/format.sh +++ b/framework/dev/format.sh @@ -1,20 +1,20 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ taplo fmt # Python -python -m flwr_tool.check_copyright src/py/flwr -python -m flwr_tool.init_py_fix src/py/flwr -python -m isort --skip src/py/flwr/proto src/py -python -m black -q --exclude src/py/flwr/proto src/py -python -m docformatter -i -r src/py/flwr -e src/py/flwr/proto -python -m docformatter -i -r src/py/flwr_tool -python -m ruff check --fix src/py/flwr +python -m flwr_tool.check_copyright framework/src/py/flwr +python -m flwr_tool.init_py_fix framework/src/py/flwr +python -m isort --skip framework/src/py/flwr/proto framework/src/py +python -m black -q --exclude framework/src/py/flwr/proto framework/src/py +python -m docformatter -i -r framework/src/py/flwr -e framework/src/py/flwr/proto +python -m docformatter -i -r framework/src/py/flwr_tool +python -m ruff check --fix framework/src/py/flwr # Protos -find src/proto/flwr/proto -name *.proto | grep "\.proto" | xargs clang-format -i +find framework/src/proto/flwr/proto -name *.proto | grep "\.proto" | xargs clang-format -i # Examples python -m black -q examples @@ -31,13 +31,13 @@ python -m black -q e2e python -m docformatter -i -r e2e # Notebooks -python -m black --ipynb -q doc/source/*.ipynb +python -m black --ipynb -q framework/doc/source/*.ipynb KEYS="metadata.celltoolbar metadata.language_info metadata.toc metadata.notify_time metadata.varInspector metadata.accelerator metadata.vscode cell.metadata.id cell.metadata.heading_collapsed cell.metadata.hidden cell.metadata.code_folding cell.metadata.tags cell.metadata.init_cell cell.metadata.vscode cell.metadata.pycharm" -python -m nbstripout doc/source/*.ipynb --extra-keys "$KEYS" +python -m nbstripout framework/doc/source/*.ipynb --extra-keys "$KEYS" python -m nbstripout examples/*/*.ipynb --extra-keys "$KEYS" # Markdown -python -m mdformat --number doc/source examples +python -m mdformat --number framework/doc/source examples # RST -docstrfmt doc/source +docstrfmt framework/doc/source diff --git a/framework/dev/generate-requirements-txt.sh b/framework/dev/generate-requirements-txt.sh index f78e368e9cfa..72120d0465b9 100755 --- a/framework/dev/generate-requirements-txt.sh +++ b/framework/dev/generate-requirements-txt.sh @@ -16,7 +16,7 @@ # ============================================================================== set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ # Purpose of this script is to regenerate requirements.txt for path in $(find ./examples -type f -name 'pyproject.toml' | sed -E 's|/[^/]+$||' |sort -u) diff --git a/framework/dev/get-latest-changelog.sh b/framework/dev/get-latest-changelog.sh index 1d4a6b6bf58f..4d71a8f33718 100755 --- a/framework/dev/get-latest-changelog.sh +++ b/framework/dev/get-latest-changelog.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ # Extract the latest release notes from the changelog, which starts at the line containing # the latest version tag and ends one line before the previous version tag. @@ -9,7 +9,7 @@ tags=$(git tag --sort=-v:refname) new_version=$(echo "$tags" | sed -n '1p') old_version=$(echo "$tags" | sed -n '2p') -awk '{sub(//, ""); print}' doc/source/ref-changelog.md | awk -v start="$new_version" -v end="$old_version" ' +awk '{sub(//, ""); print}' framework/doc/source/ref-changelog.md | awk -v start="$new_version" -v end="$old_version" ' $0 ~ start {flag=1; next} $0 ~ end {flag=0} flag && !printed && /^$/ {next} # skip the first blank line diff --git a/framework/dev/install-cuda-step-1.sh b/framework/dev/install-cuda-step-1.sh index b4159e68401d..beb0652fdbb8 100755 --- a/framework/dev/install-cuda-step-1.sh +++ b/framework/dev/install-cuda-step-1.sh @@ -1,6 +1,6 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ # Adapted from: https://www.tensorflow.org/install/gpu diff --git a/framework/dev/install-cuda-step-2.sh b/framework/dev/install-cuda-step-2.sh index cacd52b5b268..53987a1d195a 100755 --- a/framework/dev/install-cuda-step-2.sh +++ b/framework/dev/install-cuda-step-2.sh @@ -1,6 +1,6 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ # Adapted from: https://www.tensorflow.org/install/gpu diff --git a/framework/dev/publish-nightly.sh b/framework/dev/publish-nightly.sh index 0c03cdda9f49..be3a8d319727 100755 --- a/framework/dev/publish-nightly.sh +++ b/framework/dev/publish-nightly.sh @@ -16,7 +16,7 @@ # ============================================================================== set -e -cd "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../ +cd "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../../ # This script will build and publish a nightly release of Flower under the condition # that at least one commit was made in the last 24 hours. diff --git a/framework/dev/rm-caches.sh b/framework/dev/rm-caches.sh index d5b004fb834c..23b3630e8e85 100755 --- a/framework/dev/rm-caches.sh +++ b/framework/dev/rm-caches.sh @@ -1,9 +1,9 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ -find src -type d -name __pycache__ -exec rm -r {} \+ +find framework/src -type d -name __pycache__ -exec rm -r {} \+ rm -rf .mypy_cache rm -rf .pytest_cache rm -rf .cache -rm -rf doc/build +rm -rf framework/doc/build diff --git a/framework/dev/setup-envs.sh b/framework/dev/setup-envs.sh index 6aa64ebebbff..1ee2c733b2c7 100755 --- a/framework/dev/setup-envs.sh +++ b/framework/dev/setup-envs.sh @@ -1,6 +1,6 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ SHELL_BIN=$(basename "$SHELL") diff --git a/framework/dev/test-copyright.sh b/framework/dev/test-copyright.sh index 5ba8fedfe1ef..5a60b5ccedd3 100755 --- a/framework/dev/test-copyright.sh +++ b/framework/dev/test-copyright.sh @@ -1,6 +1,6 @@ #!/bin/bash -e -cd "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../ +cd "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../../ EXIT_CODE=0 diff --git a/framework/dev/test-tool.sh b/framework/dev/test-tool.sh index a6b7d3efc326..ebb22a41930d 100755 --- a/framework/dev/test-tool.sh +++ b/framework/dev/test-tool.sh @@ -1,12 +1,12 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ echo "=== test-tool.sh ===" -python -m isort --check-only src/py/flwr_tool && echo "- isort: done" && -python -m black --check src/py/flwr_tool && echo "- black: done" && +python -m isort --check-only framework/src/py/flwr_tool && echo "- isort: done" && +python -m black --check framework/src/py/flwr_tool && echo "- black: done" && # mypy is covered by test.sh -python -m pylint src/py/flwr_tool && echo "- pylint: done" && -# python -m pytest -q src/py/flwr_tool && echo "- pytest: done" && +python -m pylint framework/src/py/flwr_tool && echo "- pylint: done" && +# python -m pytest -q framework/src/py/flwr_tool && echo "- pytest: done" && echo "- All Python checks passed" diff --git a/framework/dev/test-wheel.sh b/framework/dev/test-wheel.sh index 98363ff35550..ba14377acd42 100755 --- a/framework/dev/test-wheel.sh +++ b/framework/dev/test-wheel.sh @@ -1,6 +1,6 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ echo "=== test-wheel.sh ===" diff --git a/framework/dev/test.sh b/framework/dev/test.sh index b8eeed14bc46..eef3c785fd3f 100755 --- a/framework/dev/test.sh +++ b/framework/dev/test.sh @@ -1,53 +1,53 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ echo "=== test.sh ===" echo "- Start Python checks" echo "- clang-format: start" -clang-format --Werror --dry-run src/proto/flwr/proto/* +clang-format --Werror --dry-run framework/src/proto/flwr/proto/* echo "- clang-format: done" echo "- isort: start" -python -m isort --check-only --skip src/py/flwr/proto src/py/flwr benchmarks e2e +python -m isort --check-only --skip framework/src/py/flwr/proto framework/src/py/flwr benchmarks e2e echo "- isort: done" echo "- black: start" -python -m black --exclude "src\/py\/flwr\/proto" --check src/py/flwr benchmarks examples e2e +python -m black --exclude "framework\/src\/py\/flwr\/proto" --check framework/src/py/flwr benchmarks examples e2e echo "- black: done" echo "- init_py_check: start" -python -m flwr_tool.init_py_check src/py/flwr src/py/flwr_tool +python -m flwr_tool.init_py_check framework/src/py/flwr framework/src/py/flwr_tool echo "- init_py_check: done" echo "- docformatter: start" -python -m docformatter -c -r src/py/flwr e2e -e src/py/flwr/proto +python -m docformatter -c -r framework/src/py/flwr e2e -e framework/src/py/flwr/proto echo "- docformatter: done" echo "- docsig: start" -docsig src/py/flwr +docsig framework/src/py/flwr echo "- docsig: done" echo "- ruff: start" -python -m ruff check src/py/flwr +python -m ruff check framework/src/py/flwr echo "- ruff: done" echo "- mypy: start" -python -m mypy src/py +python -m mypy framework/src/py echo "- mypy: done" echo "- pylint: start" -python -m pylint --ignore=src/py/flwr/proto src/py/flwr +python -m pylint --ignore=framework/src/py/flwr/proto framework/src/py/flwr echo "- pylint: done" echo "- flake8: start" -python -m flake8 src/py/flwr +python -m flake8 framework/src/py/flwr echo "- flake8: done" echo "- pytest: start" -python -m pytest --cov=src/py/flwr +python -m pytest --cov=framework/src/py/flwr echo "- pytest: done" echo "- All Python checks passed" @@ -55,7 +55,7 @@ echo "- All Python checks passed" echo "- Start Markdown checks" echo "- mdformat: start" -python -m mdformat --check --number doc/source examples +python -m mdformat --check --number framework/doc/source examples echo "- mdformat: done" echo "- All Markdown checks passed" @@ -71,7 +71,7 @@ echo "- All TOML checks passed" echo "- Start rST checks" echo "- docstrfmt: start" -docstrfmt --check doc/source +docstrfmt --check framework/doc/source echo "- docstrfmt: done" echo "- All rST checks passed" @@ -79,7 +79,7 @@ echo "- All rST checks passed" echo "- Start license checks" echo "- copyright: start" -python -m flwr_tool.check_copyright src/py/flwr +python -m flwr_tool.check_copyright framework/src/py/flwr echo "- copyright: done" echo "- licensecheck: start" diff --git a/framework/dev/venv-create.sh b/framework/dev/venv-create.sh index 112f3a4b2917..1c5042efcd92 100755 --- a/framework/dev/venv-create.sh +++ b/framework/dev/venv-create.sh @@ -1,6 +1,6 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ version=${1:-3.9.20} diff --git a/framework/dev/venv-delete.sh b/framework/dev/venv-delete.sh index 50bed76b203f..407c491dad01 100755 --- a/framework/dev/venv-delete.sh +++ b/framework/dev/venv-delete.sh @@ -1,6 +1,6 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ version=${1:-3.9.20} diff --git a/framework/dev/venv-reset.sh b/framework/dev/venv-reset.sh index 5ab05f29c137..bc4c6ba0cc36 100755 --- a/framework/dev/venv-reset.sh +++ b/framework/dev/venv-reset.sh @@ -1,14 +1,14 @@ #!/bin/bash set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../ +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ version=${1:-3.9.20} # Delete caches, venv, and lock file -./dev/rm-caches.sh -./dev/venv-delete.sh $version +./framework/dev/rm-caches.sh +./framework/dev/venv-delete.sh $version [ ! -e poetry.lock ] || rm poetry.lock # Recreate -./dev/venv-create.sh $version -./dev/bootstrap.sh +./framework/dev/venv-create.sh $version +./framework/dev/bootstrap.sh diff --git a/pyproject.toml b/pyproject.toml index f1207a94c448..d21921c6e18c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,8 +45,8 @@ classifiers = [ "Topic :: Software Development :: Libraries :: Python Modules", "Typing :: Typed", ] -packages = [{ include = "flwr", from = "src/py" }] -exclude = ["src/py/**/*_test.py"] +packages = [{ include = "flwr", from = "framework/src/py" }] +exclude = ["framework/src/py/**/*_test.py"] [tool.poetry.scripts] # `flwr` CLI @@ -144,10 +144,10 @@ docsig = "==0.64.0" [tool.docstrfmt] extend_exclude = [ - "doc/source/conf.py", - "doc/source/tutorial-quickstart-huggingface.rst", - "doc/source/_templates/autosummary/*", - "doc/source/ref-api/*", + "framework/doc/source/conf.py", + "framework/doc/source/tutorial-quickstart-huggingface.rst", + "framework/doc/source/_templates/autosummary/*", + "framework/doc/source/ref-api/*", ] [tool.isort] @@ -164,7 +164,7 @@ disable = "duplicate-code,too-few-public-methods,useless-import-alias" [tool.pytest.ini_options] minversion = "6.2" addopts = "-qq" -testpaths = ["src/py/flwr", "src/py/flwr_tool"] +testpaths = ["framework/src/py/flwr", "framework/src/py/flwr_tool"] filterwarnings = "ignore::DeprecationWarning" [tool.pytest-watcher] @@ -230,8 +230,8 @@ exclude = [ convention = "numpy" [tool.ruff.per-file-ignores] -"src/py/flwr/server/strategy/*.py" = ["E501"] +"framework/src/py/flwr/server/strategy/*.py" = ["E501"] [tool.docsig] ignore-no-params = true -exclude = 'src/py/flwr/proto/.*|src/py/flwr/.*_test\.py|src/py/flwr/cli/new/templates/.*\.tpl' +exclude = 'framework/src/py/flwr/proto/.*|framework/src/py/flwr/.*_test\.py|framework/src/py/flwr/cli/new/templates/.*\.tpl' From 5f282ea4299d9cc8b98071cb932a4146f3feb77d Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 17:01:18 +0100 Subject: [PATCH 03/15] Update workflows --- .github/workflows/android-release.yml | 2 +- .github/workflows/baselines.yml | 4 ++-- .github/workflows/cache-cleanup.yml | 2 +- .github/workflows/cpp.yml | 8 ++++---- .github/workflows/datasets.yml | 2 +- .github/workflows/deprecated_baselines.yml | 2 +- .github/workflows/devtools.yml | 4 ++-- .github/workflows/docker-readme.yml | 4 ++-- .github/workflows/docs.yml | 6 +++--- .github/workflows/e2e.yml | 20 +++++++++---------- .github/workflows/flower-swift_sync.yml | 4 ++-- .github/workflows/framework-draft-release.yml | 2 +- .github/workflows/framework-release.yml | 2 +- .github/workflows/framework.yml | 4 ++-- .github/workflows/pr_check.yml | 2 +- .github/workflows/release-nightly.yml | 4 ++-- .github/workflows/swift.yml | 10 +++++----- .github/workflows/update_translations.yml | 4 ++-- 18 files changed, 43 insertions(+), 43 deletions(-) diff --git a/.github/workflows/android-release.yml b/.github/workflows/android-release.yml index b08d2bb66863..d191a6bec603 100644 --- a/.github/workflows/android-release.yml +++ b/.github/workflows/android-release.yml @@ -13,7 +13,7 @@ jobs: publish: defaults: run: - working-directory: src/kotlin + working-directory: framework/src/kotlin name: Release build and publish if: github.repository == 'adap/flower' runs-on: ubuntu-22.04 diff --git a/.github/workflows/baselines.yml b/.github/workflows/baselines.yml index c4485fe72d10..c1b94f2bb3cd 100644 --- a/.github/workflows/baselines.yml +++ b/.github/workflows/baselines.yml @@ -82,8 +82,8 @@ jobs: - name: Testing ${{ matrix.baseline }} working-directory: baselines - run: ./dev/test-baseline.sh ${{ matrix.baseline }} + run: ./framework/dev/test-baseline.sh ${{ matrix.baseline }} - name: Test Structure of ${{ matrix.baseline }} working-directory: baselines - run: ./dev/test-baseline-structure.sh ${{ matrix.baseline }} + run: ./framework/dev/test-baseline-structure.sh ${{ matrix.baseline }} diff --git a/.github/workflows/cache-cleanup.yml b/.github/workflows/cache-cleanup.yml index dca5505f7bf6..dd322a36a94e 100644 --- a/.github/workflows/cache-cleanup.yml +++ b/.github/workflows/cache-cleanup.yml @@ -42,7 +42,7 @@ jobs: gh extension install actions/gh-actions-cache REPO=${{ github.repository }} - LATEST_KEY=pythonloc-${{ matrix.directory }}-${{ env.pythonLocation }}-${{ hashFiles(format('./e2e/{0}/pyproject.toml', matrix.directory)) }} + LATEST_KEY=pythonloc-${{ matrix.directory }}-${{ env.pythonLocation }}-${{ hashFiles(format('./framework/e2e/{0}/pyproject.toml', matrix.directory)) }} echo "Fetching list of cache keys" cacheKeys=$(gh actions-cache list -R $REPO | grep "${{ matrix.directory }}" | cut -f 1 ) diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml index 97d545132dbb..1e8fcbdb5876 100644 --- a/.github/workflows/cpp.yml +++ b/.github/workflows/cpp.yml @@ -3,10 +3,10 @@ name: C++ SDK on: push: branches: ['main'] - paths: ['src/cc/flwr/**'] + paths: ['framework/src/cc/flwr/**'] pull_request: branches: ['main'] - paths: ['src/cc/flwr/**'] + paths: ['framework/src/cc/flwr/**'] jobs: build_and_test: @@ -37,12 +37,12 @@ jobs: - name: Check source Formatting run: | - find src/cc/flwr/src -name '*.cc' | xargs clang-format -i + find framework/src/cc/flwr/src -name '*.cc' | xargs clang-format -i git diff --exit-code - name: Check header Formatting run: | - find src/cc/flwr/include -name '*.h' -not -path "src/cc/flwr/include/flwr/*" | xargs clang-format -i + find framework/src/cc/flwr/include -name '*.h' -not -path "framework/src/cc/flwr/include/flwr/*" | xargs clang-format -i git diff --exit-code - name: Build diff --git a/.github/workflows/datasets.yml b/.github/workflows/datasets.yml index 860d944696f9..133d9363e4ae 100644 --- a/.github/workflows/datasets.yml +++ b/.github/workflows/datasets.yml @@ -50,4 +50,4 @@ jobs: - name: Install dependencies (mandatory only) run: python -m poetry install --all-extras - name: Test (formatting + unit tests) - run: ./dev/test.sh + run: ./framework/dev/test.sh diff --git a/.github/workflows/deprecated_baselines.yml b/.github/workflows/deprecated_baselines.yml index 0859c948e909..23a94edf4532 100644 --- a/.github/workflows/deprecated_baselines.yml +++ b/.github/workflows/deprecated_baselines.yml @@ -33,4 +33,4 @@ jobs: run: | python -m poetry install - name: Lint + Test (isort/black/mypy/pylint/pytest) - run: ./dev/test.sh + run: ./framework/dev/test.sh diff --git a/.github/workflows/devtools.yml b/.github/workflows/devtools.yml index 3a7bd91b3181..5b13ed229a0b 100644 --- a/.github/workflows/devtools.yml +++ b/.github/workflows/devtools.yml @@ -5,12 +5,12 @@ on: branches: - main paths: - - "src/py/flwr_tool/**" + - "framework/src/py/flwr_tool/**" pull_request: branches: - main paths: - - "src/py/flwr_tool/**" + - "framework/src/py/flwr_tool/**" concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }} diff --git a/.github/workflows/docker-readme.yml b/.github/workflows/docker-readme.yml index 9e156e835056..1e9f48249b80 100644 --- a/.github/workflows/docker-readme.yml +++ b/.github/workflows/docker-readme.yml @@ -5,7 +5,7 @@ on: branches: - 'main' paths: - - 'src/docker/**/README.md' + - 'framework/src/docker/**/README.md' jobs: collect: @@ -24,7 +24,7 @@ jobs: list-files: "json" filters: | readme: - - added|modified: 'src/docker/**/README.md' + - added|modified: 'framework/src/docker/**/README.md' update: if: ${{ needs.collect.outputs.readme_files != '' && toJson(fromJson(needs.collect.outputs.readme_files)) != '[]' }} diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 3f010a4c37b0..67931ea146e6 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -24,7 +24,7 @@ jobs: with: fetch-depth: 0 - name: Check copyright line - run: ./dev/test-copyright.sh + run: ./framework/dev/test-copyright.sh - name: Bootstrap uses: ./.github/actions/bootstrap - name: Install pandoc @@ -36,7 +36,7 @@ jobs: cd datasets python -m poetry install - name: Build docs - run: ./dev/build-docs.sh ${{ github.ref == 'refs/heads/main' && github.repository == 'adap/flower' && !github.event.pull_request.head.repo.fork }} + run: ./framework/dev/build-docs.sh ${{ github.ref == 'refs/heads/main' && github.repository == 'adap/flower' && !github.event.pull_request.head.repo.fork }} - name: Deploy docs if: ${{ github.ref == 'refs/heads/main' && github.repository == 'adap/flower' && !github.event.pull_request.head.repo.fork }} env: @@ -45,7 +45,7 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets. AWS_SECRET_ACCESS_KEY }} DOCS_BUCKET: flower.ai run: | - aws s3 sync --delete --exclude ".*" --exclude "v/*" --cache-control "no-cache" ./doc/build/html/ s3://${{ env.DOCS_BUCKET }}/docs/framework + aws s3 sync --delete --exclude ".*" --exclude "v/*" --cache-control "no-cache" ./framework/doc/build/html/ s3://${{ env.DOCS_BUCKET }}/docs/framework aws s3 sync --delete --exclude ".*" --exclude "v/*" --cache-control "no-cache" ./baselines/doc/build/html/ s3://${{ env.DOCS_BUCKET }}/docs/baselines aws s3 sync --delete --exclude ".*" --exclude "v/*" --cache-control "no-cache" ./examples/doc/build/html/ s3://${{ env.DOCS_BUCKET }}/docs/examples aws s3 sync --delete --exclude ".*" --exclude "v/*" --cache-control "no-cache" ./datasets/doc/build/html/ s3://${{ env.DOCS_BUCKET }}/docs/datasets diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 0f462d9a49da..c76fa59df92f 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -27,9 +27,9 @@ jobs: - name: Install dependencies (mandatory only) run: python -m poetry install - name: Build wheel - run: ./dev/build.sh + run: ./framework/dev/build.sh - name: Test wheel - run: ./dev/test-wheel.sh + run: ./framework/dev/test-wheel.sh - name: Upload wheel if: ${{ github.repository == 'adap/flower' && !github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' }} id: upload @@ -74,7 +74,7 @@ jobs: ${{ matrix.engine }} defaults: run: - working-directory: e2e/${{ matrix.directory }} + working-directory: framework/e2e/${{ matrix.directory }} steps: - uses: actions/checkout@v4 - name: Bootstrap @@ -106,7 +106,7 @@ jobs: ${{ matrix.connection }} / ${{ matrix.authentication }} / ${{ matrix.engine }} - working-directory: e2e/${{ matrix.directory }} + working-directory: framework/e2e/${{ matrix.directory }} run: ./../test_exec_api.sh "${{ matrix.connection }}" "${{ matrix.authentication}}" "${{ matrix.engine }}" frameworks: @@ -178,7 +178,7 @@ jobs: defaults: run: - working-directory: e2e/${{ matrix.directory }} + working-directory: framework/e2e/${{ matrix.directory }} steps: - uses: actions/checkout@v4 @@ -197,7 +197,7 @@ jobs: uses: actions/cache/restore@v4 with: path: ${{ env.pythonLocation }} - key: pythonloc-${{ runner.os }}-${{ matrix.directory }}-${{ env.pythonLocation }}-${{ hashFiles(format('./e2e/{0}/pyproject.toml', matrix.directory)) }} + key: pythonloc-${{ runner.os }}-${{ matrix.directory }}-${{ env.pythonLocation }}-${{ hashFiles(format('./framework/e2e/{0}/pyproject.toml', matrix.directory)) }} - name: Install dependencies run: python -m pip install --upgrade . - name: Install Flower wheel from artifact store @@ -209,7 +209,7 @@ jobs: run: python -c "${{ matrix.dataset }}" - name: Run edge client test if: ${{ matrix.directory != 'e2e-bare-auth' }} - working-directory: e2e/${{ matrix.directory }}/${{ matrix.e2e }} + working-directory: framework/e2e/${{ matrix.directory }}/${{ matrix.e2e }} run: ./../../test_legacy.sh "${{ matrix.directory }}" - name: Run virtual client test if: ${{ matrix.directory != 'e2e-bare-auth' }} @@ -252,7 +252,7 @@ jobs: defaults: run: - working-directory: e2e/strategies + working-directory: framework/e2e/strategies steps: - uses: actions/checkout@v4 @@ -369,7 +369,7 @@ jobs: ${{ matrix.engine }} defaults: run: - working-directory: e2e/${{ matrix.directory }} + working-directory: framework/e2e/${{ matrix.directory }} steps: - uses: actions/checkout@v4 - name: Bootstrap @@ -401,5 +401,5 @@ jobs: ${{ matrix.connection }} / ${{ matrix.authentication }} / ${{ matrix.engine }} - working-directory: e2e/${{ matrix.directory }} + working-directory: framework/e2e/${{ matrix.directory }} run: ./../test_exec_api.sh "${{ matrix.connection }}" "${{ matrix.authentication}}" "${{ matrix.engine }}" diff --git a/.github/workflows/flower-swift_sync.yml b/.github/workflows/flower-swift_sync.yml index 836d905b2df2..4813ba100490 100644 --- a/.github/workflows/flower-swift_sync.yml +++ b/.github/workflows/flower-swift_sync.yml @@ -3,7 +3,7 @@ name: Sync flower-swift on: push: branches: ['main'] - paths: ['src/swift/flwr/**'] + paths: ['framework/src/swift/flwr/**'] concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }} @@ -20,6 +20,6 @@ jobs: env: SSH_DEPLOY_KEY: ${{ secrets.FLOWER_SWIFT_SSH }} with: - source-directory: 'src/swift/flwr' + source-directory: 'framework/src/swift/flwr' destination-github-username: 'adap' destination-repository-name: 'flower-swift' diff --git a/.github/workflows/framework-draft-release.yml b/.github/workflows/framework-draft-release.yml index f218744a2acb..4c557998c72e 100644 --- a/.github/workflows/framework-draft-release.yml +++ b/.github/workflows/framework-draft-release.yml @@ -52,7 +52,7 @@ jobs: - name: Generate body run: | - ./dev/get-latest-changelog.sh > body.md + ./framework/dev/get-latest-changelog.sh > body.md cat body.md - name: Release diff --git a/.github/workflows/framework-release.yml b/.github/workflows/framework-release.yml index 6af0c281882b..59c97a723912 100644 --- a/.github/workflows/framework-release.yml +++ b/.github/workflows/framework-release.yml @@ -71,7 +71,7 @@ jobs: - id: matrix run: | - python dev/build-docker-image-matrix.py --flwr-version "${{ needs.publish.outputs.flwr-version }}" --matrix stable > matrix.json + python framework/dev/build-docker-image-matrix.py --flwr-version "${{ needs.publish.outputs.flwr-version }}" --matrix stable > matrix.json echo "matrix=$(cat matrix.json)" >> $GITHUB_OUTPUT build-base-images: diff --git a/.github/workflows/framework.yml b/.github/workflows/framework.yml index a8ff69204b58..55524fea723b 100644 --- a/.github/workflows/framework.yml +++ b/.github/workflows/framework.yml @@ -40,6 +40,6 @@ jobs: - name: Install dependencies (mandatory only) run: python -m poetry install --all-extras - name: Check if protos need recompilation - run: ./dev/check-protos.sh + run: ./framework/dev/check-protos.sh - name: Lint + Test (isort/black/docformatter/mypy/pylint/flake8/pytest) - run: ./dev/test.sh + run: ./framework/dev/test.sh diff --git a/.github/workflows/pr_check.yml b/.github/workflows/pr_check.yml index 47bb4b284136..d525ce361c94 100644 --- a/.github/workflows/pr_check.yml +++ b/.github/workflows/pr_check.yml @@ -22,4 +22,4 @@ jobs: python-version: 3.11 poetry-skip: 'true' - name: Check PR title format - run: python ./dev/check_pr_title.py "${{ github.event.pull_request.title }}" + run: python ./framework/dev/check_pr_title.py "${{ github.event.pull_request.title }}" diff --git a/.github/workflows/release-nightly.yml b/.github/workflows/release-nightly.yml index d1de7bed531e..3ea7d5b54c1c 100644 --- a/.github/workflows/release-nightly.yml +++ b/.github/workflows/release-nightly.yml @@ -27,7 +27,7 @@ jobs: env: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} run: | - RESULT=$(./dev/publish-nightly.sh) + RESULT=$(./framework/dev/publish-nightly.sh) if [ "$RESULT" == "There were no commits in the last 24 hours." ]; then echo "skip=true" >> $GITHUB_OUTPUT fi @@ -37,7 +37,7 @@ jobs: NAME=$(poetry version | awk {'print $1'}) VERSION=$(poetry version -s) - python dev/build-docker-image-matrix.py --flwr-version "${VERSION}" --matrix nightly --flwr-package "${NAME}" > matrix.json + python framework/dev/build-docker-image-matrix.py --flwr-version "${VERSION}" --matrix nightly --flwr-package "${NAME}" > matrix.json echo "matrix=$(cat matrix.json)" >> $GITHUB_OUTPUT build-docker-base-images: diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index e0233f5703a9..c25dafdd57f6 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -3,10 +3,10 @@ name: Swift on: push: branches: ['main'] - paths: ['src/swift/**'] + paths: ['framework/src/swift/**'] pull_request: branches: ['main'] - paths: ['src/swift/**'] + paths: ['framework/src/swift/**'] concurrency: group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }} @@ -16,7 +16,7 @@ jobs: test: defaults: run: - working-directory: src/swift/flwr + working-directory: framework/src/swift/flwr name: Test runs-on: macos-14 steps: @@ -36,7 +36,7 @@ jobs: swift-version: 5.10 - uses: actions/checkout@v4 - name: Build docs - run: ./dev/build-swift-api-ref.sh + run: ./framework/dev/build-swift-api-ref.sh deploy_docs: needs: "build_docs" @@ -53,4 +53,4 @@ jobs: AWS_DEFAULT_REGION: ${{ secrets. AWS_DEFAULT_REGION }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets. AWS_SECRET_ACCESS_KEY }} - run: ./dev/deploy-swift-docs.sh + run: ./framework/dev/deploy-swift-docs.sh diff --git a/.github/workflows/update_translations.yml b/.github/workflows/update_translations.yml index 9a5391a40438..407972cc950f 100644 --- a/.github/workflows/update_translations.yml +++ b/.github/workflows/update_translations.yml @@ -38,7 +38,7 @@ jobs: - name: Update text and translations for all locales run: | - cd doc + cd framework/doc make update-text for langDir in locales/*; do if [ -d "$langDir" ]; then @@ -52,7 +52,7 @@ jobs: run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" - git add doc/locales + git add framework/doc/locales git commit -m "Update text and language files" continue-on-error: true From a3e20bf6511431cbaa9a25a042633fa151c1a5e8 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 17:06:13 +0100 Subject: [PATCH 04/15] Fix scripts --- .github/workflows/cpp.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml index 1e8fcbdb5876..dff1d5a0f394 100644 --- a/.github/workflows/cpp.yml +++ b/.github/workflows/cpp.yml @@ -49,18 +49,18 @@ jobs: run: | mkdir -p build cd build - cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ../src/cc/flwr + cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ../framework/src/cc/flwr make - name: Run clang-tidy run: | cd build - find ../src/cc/flwr/src -name '*.cc' | xargs clang-tidy + find ../framework/src/cc/flwr/src -name '*.cc' | xargs clang-tidy - name: Run cppcheck run: | cd build - cppcheck --enable=all -I../src/cc/flwr/include ../src/cc/flwr/src + cppcheck --enable=all -I../framework/src/cc/flwr/include ../framework/src/cc/flwr/src - name: End-to-end test run: | From 91191cc22173627a94d04657537fb5690e4f57fa Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 17:07:02 +0100 Subject: [PATCH 05/15] Update doc script --- framework/dev/build-docs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/dev/build-docs.sh b/framework/dev/build-docs.sh index d9bfa8682eba..8cd0f5317f78 100755 --- a/framework/dev/build-docs.sh +++ b/framework/dev/build-docs.sh @@ -14,7 +14,7 @@ cd $ROOT ./datasets/dev/build-flwr-datasets-docs.sh cd $ROOT -cd doc +cd framework/doc if [ "$1" = true ]; then ./build-versioned-docs.sh From 67f5c61ac4d7c9dc258c0f9431a87bad8533e6bb Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 17:27:57 +0100 Subject: [PATCH 06/15] Update paths and test --- examples/quickstart-cpp/CMakeLists.txt | 2 +- framework/dev/test.sh | 6 +++--- framework/e2e/e2e-bare-auth/pyproject.toml | 2 +- framework/e2e/e2e-bare-https/pyproject.toml | 2 +- framework/e2e/e2e-bare/pyproject.toml | 2 +- framework/e2e/e2e-fastai/pyproject.toml | 2 +- framework/e2e/e2e-jax/pyproject.toml | 2 +- framework/e2e/e2e-opacus/pyproject.toml | 2 +- framework/e2e/e2e-pandas/pyproject.toml | 2 +- framework/e2e/e2e-pytorch-lightning/pyproject.toml | 2 +- framework/e2e/e2e-pytorch/pyproject.toml | 2 +- framework/e2e/e2e-scikit-learn/pyproject.toml | 2 +- framework/e2e/e2e-tensorflow/pyproject.toml | 2 +- 13 files changed, 15 insertions(+), 15 deletions(-) diff --git a/examples/quickstart-cpp/CMakeLists.txt b/examples/quickstart-cpp/CMakeLists.txt index b0aca2eaa2b3..1b3d2e0ce6ee 100644 --- a/examples/quickstart-cpp/CMakeLists.txt +++ b/examples/quickstart-cpp/CMakeLists.txt @@ -46,7 +46,7 @@ else() set(FLWR_SOURCE_ROOT "${flwr_repo_SOURCE_DIR}") endif() -set(FLWR_SDK_PATH "${FLWR_SOURCE_ROOT}/src/cc/flwr") +set(FLWR_SDK_PATH "${FLWR_SOURCE_ROOT}/framework/src/cc/flwr") file(GLOB FLWR_SRCS "${FLWR_SDK_PATH}/src/*.cc") file(GLOB FLWR_PROTO_SRCS "${FLWR_SDK_PATH}/include/flwr/proto/*.cc") diff --git a/framework/dev/test.sh b/framework/dev/test.sh index eef3c785fd3f..7a273f8fa175 100755 --- a/framework/dev/test.sh +++ b/framework/dev/test.sh @@ -11,11 +11,11 @@ clang-format --Werror --dry-run framework/src/proto/flwr/proto/* echo "- clang-format: done" echo "- isort: start" -python -m isort --check-only --skip framework/src/py/flwr/proto framework/src/py/flwr benchmarks e2e +python -m isort --check-only --skip framework/src/py/flwr/proto framework/src/py/flwr benchmarks framework/e2e echo "- isort: done" echo "- black: start" -python -m black --exclude "framework\/src\/py\/flwr\/proto" --check framework/src/py/flwr benchmarks examples e2e +python -m black --exclude "framework\/src\/py\/flwr\/proto" --check framework/src/py/flwr benchmarks examples framework/e2e echo "- black: done" echo "- init_py_check: start" @@ -23,7 +23,7 @@ python -m flwr_tool.init_py_check framework/src/py/flwr framework/src/py/flwr_to echo "- init_py_check: done" echo "- docformatter: start" -python -m docformatter -c -r framework/src/py/flwr e2e -e framework/src/py/flwr/proto +python -m docformatter -c -r framework/src/py/flwr framework/e2e -e framework/src/py/flwr/proto echo "- docformatter: done" echo "- docsig: start" diff --git a/framework/e2e/e2e-bare-auth/pyproject.toml b/framework/e2e/e2e-bare-auth/pyproject.toml index d3ca5e543011..66e8a7b94203 100644 --- a/framework/e2e/e2e-bare-auth/pyproject.toml +++ b/framework/e2e/e2e-bare-auth/pyproject.toml @@ -7,7 +7,7 @@ name = "e2e-bare-auth" version = "1.0.0" description = "Auth-enabled bare Federated Learning test with Flower" license = "Apache-2.0" -dependencies = ["flwr @ {root:parent:parent:uri}"] +dependencies = ["flwr @ {root:parent:parent:parent:uri}"] [tool.hatch.build.targets.wheel] packages = ["."] diff --git a/framework/e2e/e2e-bare-https/pyproject.toml b/framework/e2e/e2e-bare-https/pyproject.toml index e1ec84157788..202be3ddc0b1 100644 --- a/framework/e2e/e2e-bare-https/pyproject.toml +++ b/framework/e2e/e2e-bare-https/pyproject.toml @@ -7,7 +7,7 @@ name = "e2e-bare-https" version = "1.0.0" description = "HTTPS-enabled bare Federated Learning test with Flower" license = "Apache-2.0" -dependencies = ["flwr @ {root:parent:parent:uri}"] +dependencies = ["flwr @ {root:parent:parent:parent:uri}"] [tool.hatch.build.targets.wheel] packages = ["."] diff --git a/framework/e2e/e2e-bare/pyproject.toml b/framework/e2e/e2e-bare/pyproject.toml index 12099fcd9027..1e6e94795f14 100644 --- a/framework/e2e/e2e-bare/pyproject.toml +++ b/framework/e2e/e2e-bare/pyproject.toml @@ -7,7 +7,7 @@ name = "e2e-bare" version = "1.0.0" description = "Bare Federated Learning test with Flower" license = "Apache-2.0" -dependencies = ["flwr[simulation,rest] @ {root:parent:parent:uri}"] +dependencies = ["flwr[simulation,rest] @ {root:parent:parent:parent:uri}"] [tool.hatch.build.targets.wheel] packages = ["."] diff --git a/framework/e2e/e2e-fastai/pyproject.toml b/framework/e2e/e2e-fastai/pyproject.toml index 6b1cbd66600e..767719f49198 100644 --- a/framework/e2e/e2e-fastai/pyproject.toml +++ b/framework/e2e/e2e-fastai/pyproject.toml @@ -8,7 +8,7 @@ version = "1.0.0" description = "Fastai Federated Learning E2E test with Flower" license = "Apache-2.0" dependencies = [ - "flwr[simulation] @ {root:parent:parent:uri}", + "flwr[simulation] @ {root:parent:parent:parent:uri}", "fastai>=2.7.12,<3.0.0", "torch>=2.0.0,!=2.0.1,<2.1.0", "spacy==3.7.6", diff --git a/framework/e2e/e2e-jax/pyproject.toml b/framework/e2e/e2e-jax/pyproject.toml index b259f66a7bc3..7439246f7c4d 100644 --- a/framework/e2e/e2e-jax/pyproject.toml +++ b/framework/e2e/e2e-jax/pyproject.toml @@ -8,7 +8,7 @@ version = "1.0.0" description = "JAX example training a linear regression model with federated learning" license = "Apache-2.0" dependencies = [ - "flwr[simulation] @ {root:parent:parent:uri}", + "flwr[simulation] @ {root:parent:parent:parent:uri}", "jax==0.4.13", "jaxlib==0.4.13", "scikit-learn>=1.1.1,<2.0.0", diff --git a/framework/e2e/e2e-opacus/pyproject.toml b/framework/e2e/e2e-opacus/pyproject.toml index 54aa54a7b357..4bf0629cc113 100644 --- a/framework/e2e/e2e-opacus/pyproject.toml +++ b/framework/e2e/e2e-opacus/pyproject.toml @@ -8,7 +8,7 @@ version = "1.0.0" description = "Opacus E2E testing" license = "Apache-2.0" dependencies = [ - "flwr[simulation] @ {root:parent:parent:uri}", + "flwr[simulation] @ {root:parent:parent:parent:uri}", "opacus>=1.4.0,<2.0.0", "torch>=1.13.1,<3.0.0", "torchvision>=0.14.0,<2.0.0", diff --git a/framework/e2e/e2e-pandas/pyproject.toml b/framework/e2e/e2e-pandas/pyproject.toml index 120e9b8e6d35..cb0566fb5519 100644 --- a/framework/e2e/e2e-pandas/pyproject.toml +++ b/framework/e2e/e2e-pandas/pyproject.toml @@ -10,7 +10,7 @@ license = "Apache-2.0" authors = [{ name = "Ragy Haddad", email = "ragy202@gmail.com" }] maintainers = [{ name = "The Flower Authors", email = "hello@flower.ai" }] dependencies = [ - "flwr[simulation] @ {root:parent:parent:uri}", + "flwr[simulation] @ {root:parent:parent:parent:uri}", "numpy>=2.0.0", "pandas>=2.0.0,<3.0.0", "scikit-learn>=1.1.1,<2.0.0", diff --git a/framework/e2e/e2e-pytorch-lightning/pyproject.toml b/framework/e2e/e2e-pytorch-lightning/pyproject.toml index efb0eb1bebf1..a02cbe9b035a 100644 --- a/framework/e2e/e2e-pytorch-lightning/pyproject.toml +++ b/framework/e2e/e2e-pytorch-lightning/pyproject.toml @@ -8,7 +8,7 @@ version = "1.0.0" description = "Federated Learning E2E test with Flower and PyTorch Lightning" license = "Apache-2.0" dependencies = [ - "flwr[simulation] @ {root:parent:parent:uri}", + "flwr[simulation] @ {root:parent:parent:parent:uri}", "pytorch-lightning==2.4.0", "torchvision>=0.20.1,<0.21.0", ] diff --git a/framework/e2e/e2e-pytorch/pyproject.toml b/framework/e2e/e2e-pytorch/pyproject.toml index 9e2029aecefb..78b4244666ce 100644 --- a/framework/e2e/e2e-pytorch/pyproject.toml +++ b/framework/e2e/e2e-pytorch/pyproject.toml @@ -8,7 +8,7 @@ version = "1.0.0" description = "PyTorch Federated Learning E2E test with Flower" license = "Apache-2.0" dependencies = [ - "flwr[simulation] @ {root:parent:parent:uri}", + "flwr[simulation] @ {root:parent:parent:parent:uri}", "torch>=2.5.0,<3.0.0", "torchvision>=0.20.1,<0.21.0", "tqdm>=4.63.0,<5.0.0", diff --git a/framework/e2e/e2e-scikit-learn/pyproject.toml b/framework/e2e/e2e-scikit-learn/pyproject.toml index 03f5540aa15d..c8de7e0e3b19 100644 --- a/framework/e2e/e2e-scikit-learn/pyproject.toml +++ b/framework/e2e/e2e-scikit-learn/pyproject.toml @@ -12,7 +12,7 @@ authors = [ { name = "Kaushik Amar Das", email = "kaushik.das@iiitg.ac.in" }, ] dependencies = [ - "flwr[simulation,rest] @ {root:parent:parent:uri}", + "flwr[simulation,rest] @ {root:parent:parent:parent:uri}", "scikit-learn>=1.1.1,<2.0.0", "openml>=0.14.0,<0.15.0", "numpy<2.0.0", diff --git a/framework/e2e/e2e-tensorflow/pyproject.toml b/framework/e2e/e2e-tensorflow/pyproject.toml index dd89123944c7..4710b71beddb 100644 --- a/framework/e2e/e2e-tensorflow/pyproject.toml +++ b/framework/e2e/e2e-tensorflow/pyproject.toml @@ -8,7 +8,7 @@ version = "1.0.0" description = "Keras Federated Learning E2E test with Flower" license = "Apache-2.0" dependencies = [ - "flwr[simulation] @ {root:parent:parent:uri}", + "flwr[simulation] @ {root:parent:parent:parent:uri}", "tensorflow-cpu>=2.9.1,!=2.11.1", "tensorflow-io-gcs-filesystem<0.35.0", ] From 5fea1b2903aa4bdb5b6bfd36408b9b79dd3e86a3 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 17:29:13 +0100 Subject: [PATCH 07/15] Fix datasets --- .github/workflows/datasets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/datasets.yml b/.github/workflows/datasets.yml index 133d9363e4ae..860d944696f9 100644 --- a/.github/workflows/datasets.yml +++ b/.github/workflows/datasets.yml @@ -50,4 +50,4 @@ jobs: - name: Install dependencies (mandatory only) run: python -m poetry install --all-extras - name: Test (formatting + unit tests) - run: ./framework/dev/test.sh + run: ./dev/test.sh From 09c3596a9a4b4a563fe09154f2993181a1e13ec7 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 17:34:17 +0100 Subject: [PATCH 08/15] Update strategy path --- framework/e2e/strategies/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/e2e/strategies/pyproject.toml b/framework/e2e/strategies/pyproject.toml index 3ad62ec836a7..cfc23aa9ee01 100644 --- a/framework/e2e/strategies/pyproject.toml +++ b/framework/e2e/strategies/pyproject.toml @@ -10,6 +10,6 @@ authors = ["The Flower Authors "] [tool.poetry.dependencies] python = ">=3.9,<3.11" -flwr = { path = "../../", develop = true, extras = ["simulation"] } +flwr = { path = "../../../", develop = true, extras = ["simulation"] } tensorflow-cpu = "^2.9.1, !=2.11.1" tensorflow-io-gcs-filesystem = "<0.35.0" From 33e16a7e37cf04577ba146805174b5de7e0b72d8 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 17:37:39 +0100 Subject: [PATCH 09/15] Update all configs --- .flake8 | 4 ++-- .gitignore | 8 ++++---- .pre-commit-config.yaml | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.flake8 b/.flake8 index 8c0be3c7df64..adbd300f3c60 100644 --- a/.flake8 +++ b/.flake8 @@ -1,6 +1,6 @@ [flake8] max-line-length = 88 -exclude = src/py/flwr/proto +exclude = framework/src/py/flwr/proto ignore = E302,W503,E203 per-file-ignores = - src/py/flwr/server/strategy/*.py:E501 + framework/src/py/flwr/server/strategy/*.py:E501 diff --git a/.gitignore b/.gitignore index 96789cbf6e00..353b418bbf90 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,9 @@ # Flower .flower_ops data/ -doc/source/api_documentation -doc/source/_build -doc/source/dataset/ +framework/doc/source/api_documentation +framework/doc/source/_build +framework/doc/source/dataset/ flwr_logs .cache @@ -18,7 +18,7 @@ examples/**/dataset/** baselines/datasets/leaf # Exclude ee package -src/py/flwr/ee +framework/src/py/flwr/ee # macOS .DS_Store diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ad6cb69f3052..0290416da3a7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,7 +3,7 @@ repos: hooks: - id: format-code name: Format Code - entry: ./dev/format.sh + entry: ./framework/dev/format.sh language: script # Ensures the script runs from the repository root: pass_filenames: false @@ -11,7 +11,7 @@ repos: - id: run-tests name: Run Tests - entry: ./dev/test.sh + entry: ./framework/dev/test.sh language: script # Ensures the script runs from the repository root: pass_filenames: false From 83e60dd6d17c02d6fba7c9a5bb1f729181a14a03 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 17:45:50 +0100 Subject: [PATCH 10/15] Fix test --- .../flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py index 9635993e0ad5..b8fdfceddb48 100644 --- a/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py +++ b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py @@ -28,7 +28,7 @@ valid_certificates, ) -root_dir = dirname(abspath(join(__file__, "../../../../../../.."))) +root_dir = dirname(abspath(join(__file__, "../../../../../../../.."))) def load_certificates() -> tuple[str, str, str]: From 3f4fb6d832a05f7cbe5050bfc168bd97f5b8d820 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 17:51:08 +0100 Subject: [PATCH 11/15] Fix path --- .../flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py index b8fdfceddb48..6bdc30bf64cc 100644 --- a/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py +++ b/framework/src/py/flwr/server/superlink/fleet/grpc_bidi/grpc_server_test.py @@ -37,7 +37,9 @@ def load_certificates() -> tuple[str, str, str]: Utility function for loading for SSL-enabled gRPC servertests. """ # Trigger script which generates the certificates - subprocess.run(["bash", "./dev/certificates/generate.sh"], check=True, cwd=root_dir) + subprocess.run( + ["bash", "./framework/dev/certificates/generate.sh"], check=True, cwd=root_dir + ) certificates = ( join(root_dir, ".cache/certificates/ca.crt"), From b5fb0cc2a09bf983bb710c06d1294ee324ecb098 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 18:11:22 +0100 Subject: [PATCH 12/15] Fix --- framework/src/py/flwr_tool/check_copyright.py | 3 +-- framework/src/py/flwr_tool/fix_copyright.py | 3 +-- framework/src/py/flwr_tool/init_py_check.py | 9 ++++----- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/framework/src/py/flwr_tool/check_copyright.py b/framework/src/py/flwr_tool/check_copyright.py index 96870ba67bd0..9cd5f59e19a8 100755 --- a/framework/src/py/flwr_tool/check_copyright.py +++ b/framework/src/py/flwr_tool/check_copyright.py @@ -10,7 +10,6 @@ import subprocess import sys from pathlib import Path -from typing import List from flwr_tool.init_py_check import get_init_dir_list_and_warnings @@ -42,7 +41,7 @@ def _get_file_creation_year(filepath: str) -> str: return creation_year -def _check_copyright(dir_list: List[str]) -> None: +def _check_copyright(dir_list: list[str]) -> None: warning_list = [] for valid_dir in dir_list: if "proto" in valid_dir: diff --git a/framework/src/py/flwr_tool/fix_copyright.py b/framework/src/py/flwr_tool/fix_copyright.py index a5bbbdf616f7..3e1351abe4df 100755 --- a/framework/src/py/flwr_tool/fix_copyright.py +++ b/framework/src/py/flwr_tool/fix_copyright.py @@ -9,7 +9,6 @@ import os import sys from pathlib import Path -from typing import List from flwr_tool.check_copyright import COPYRIGHT_FORMAT, _get_file_creation_year from flwr_tool.init_py_check import get_init_dir_list_and_warnings @@ -37,7 +36,7 @@ def _insert_or_edit_copyright(py_file: Path) -> None: py_file.write_text("\n".join(lines) + "\n") -def _fix_copyright(dir_list: List[str]) -> None: +def _fix_copyright(dir_list: list[str]) -> None: for valid_dir in dir_list: if "proto" in valid_dir: continue diff --git a/framework/src/py/flwr_tool/init_py_check.py b/framework/src/py/flwr_tool/init_py_check.py index 1fb08513bb6a..85eebf81b484 100755 --- a/framework/src/py/flwr_tool/init_py_check.py +++ b/framework/src/py/flwr_tool/init_py_check.py @@ -11,10 +11,9 @@ import re import sys from pathlib import Path -from typing import List, Tuple -def get_init_dir_list_and_warnings(absolute_path: str) -> Tuple[List[str], List[str]]: +def get_init_dir_list_and_warnings(absolute_path: str) -> tuple[list[str], list[str]]: """Search given path and return list of dirs containing __init__.py files.""" path = os.walk(absolute_path) warning_list = [] @@ -35,7 +34,7 @@ def get_init_dir_list_and_warnings(absolute_path: str) -> Tuple[List[str], List[ return warning_list, dir_list -def check_missing_init_files(absolute_path: str) -> List[str]: +def check_missing_init_files(absolute_path: str) -> list[str]: """Search absolute_path and look for missing __init__.py files.""" warning_list, dir_list = get_init_dir_list_and_warnings(absolute_path) @@ -48,7 +47,7 @@ def check_missing_init_files(absolute_path: str) -> List[str]: return dir_list -def get_all_var_list(init_dir: str) -> Tuple[Path, List[str], List[str]]: +def get_all_var_list(init_dir: str) -> tuple[Path, list[str], list[str]]: """Get the __all__ list of a __init__.py file. The function returns the path of the '__init__.py' file of the given dir, as well as @@ -75,7 +74,7 @@ def get_all_var_list(init_dir: str) -> Tuple[Path, List[str], List[str]]: return init_file, all_list, all_lines -def check_all_init_files(dir_list: List[str]) -> None: +def check_all_init_files(dir_list: list[str]) -> None: """Check if __all__ is in alphabetical order in __init__.py files.""" warning_list = [] From 881090c04c1399e5a46ffa18750b65b2daa09248 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 18:16:58 +0100 Subject: [PATCH 13/15] Update copyright notices --- framework/dev/format.sh | 2 +- framework/src/py/flwr/__init__.py | 2 +- framework/src/py/flwr/__init___test.py | 2 +- framework/src/py/flwr/client/__init__.py | 2 +- framework/src/py/flwr/client/app.py | 2 +- framework/src/py/flwr/client/app_test.py | 2 +- framework/src/py/flwr/client/client.py | 2 +- framework/src/py/flwr/client/client_test.py | 2 +- framework/src/py/flwr/client/dpfedavg_numpy_client.py | 2 +- framework/src/py/flwr/client/grpc_client/__init__.py | 2 +- framework/src/py/flwr/client/grpc_client/connection.py | 2 +- framework/src/py/flwr/client/grpc_client/connection_test.py | 2 +- framework/src/py/flwr/client/grpc_rere_client/__init__.py | 2 +- framework/src/py/flwr/client/grpc_rere_client/connection.py | 2 +- framework/src/py/flwr/client/message_handler/__init__.py | 2 +- framework/src/py/flwr/client/message_handler/message_handler.py | 2 +- .../src/py/flwr/client/message_handler/message_handler_test.py | 2 +- framework/src/py/flwr/client/message_handler/task_handler.py | 2 +- .../src/py/flwr/client/message_handler/task_handler_test.py | 2 +- framework/src/py/flwr/client/numpy_client.py | 2 +- framework/src/py/flwr/client/numpy_client_test.py | 2 +- framework/src/py/flwr/client/rest_client/__init__.py | 2 +- framework/src/py/flwr/client/rest_client/connection.py | 2 +- framework/src/py/flwr/client/typing.py | 2 +- framework/src/py/flwr/common/__init__.py | 2 +- framework/src/py/flwr/common/address.py | 2 +- framework/src/py/flwr/common/address_test.py | 2 +- framework/src/py/flwr/common/constant.py | 2 +- framework/src/py/flwr/common/date.py | 2 +- framework/src/py/flwr/common/dp.py | 2 +- framework/src/py/flwr/common/grpc.py | 2 +- framework/src/py/flwr/common/logger.py | 2 +- framework/src/py/flwr/common/parameter.py | 2 +- framework/src/py/flwr/common/parameter_test.py | 2 +- framework/src/py/flwr/common/retry_invoker.py | 2 +- framework/src/py/flwr/common/retry_invoker_test.py | 2 +- framework/src/py/flwr/common/secure_aggregation/__init__.py | 2 +- .../src/py/flwr/common/secure_aggregation/crypto/__init__.py | 2 +- .../src/py/flwr/common/secure_aggregation/crypto/shamir.py | 2 +- .../common/secure_aggregation/crypto/symmetric_encryption.py | 2 +- .../py/flwr/common/secure_aggregation/ndarrays_arithmetic.py | 2 +- framework/src/py/flwr/common/secure_aggregation/quantization.py | 2 +- .../py/flwr/common/secure_aggregation/secaggplus_constants.py | 2 +- .../src/py/flwr/common/secure_aggregation/secaggplus_utils.py | 2 +- framework/src/py/flwr/common/serde.py | 2 +- framework/src/py/flwr/common/serde_test.py | 2 +- framework/src/py/flwr/common/telemetry.py | 2 +- framework/src/py/flwr/common/telemetry_test.py | 2 +- framework/src/py/flwr/common/typing.py | 2 +- framework/src/py/flwr/common/version.py | 2 +- framework/src/py/flwr/server/__init__.py | 2 +- framework/src/py/flwr/server/app.py | 2 +- framework/src/py/flwr/server/client_manager.py | 2 +- framework/src/py/flwr/server/client_manager_test.py | 2 +- framework/src/py/flwr/server/client_proxy.py | 2 +- framework/src/py/flwr/server/client_proxy_test.py | 2 +- framework/src/py/flwr/server/criterion.py | 2 +- framework/src/py/flwr/server/criterion_test.py | 2 +- framework/src/py/flwr/server/driver/__init__.py | 2 +- framework/src/py/flwr/server/history.py | 2 +- framework/src/py/flwr/server/history_test.py | 2 +- framework/src/py/flwr/server/server.py | 2 +- framework/src/py/flwr/server/server_test.py | 2 +- framework/src/py/flwr/server/strategy/__init__.py | 2 +- framework/src/py/flwr/server/strategy/aggregate.py | 2 +- framework/src/py/flwr/server/strategy/aggregate_test.py | 2 +- framework/src/py/flwr/server/strategy/bulyan.py | 2 +- framework/src/py/flwr/server/strategy/bulyan_test.py | 2 +- framework/src/py/flwr/server/strategy/dpfedavg_adaptive.py | 2 +- framework/src/py/flwr/server/strategy/dpfedavg_fixed.py | 2 +- framework/src/py/flwr/server/strategy/fault_tolerant_fedavg.py | 2 +- .../src/py/flwr/server/strategy/fault_tolerant_fedavg_test.py | 2 +- framework/src/py/flwr/server/strategy/fedadagrad.py | 2 +- framework/src/py/flwr/server/strategy/fedadagrad_test.py | 2 +- framework/src/py/flwr/server/strategy/fedadam.py | 2 +- framework/src/py/flwr/server/strategy/fedavg.py | 2 +- framework/src/py/flwr/server/strategy/fedavg_android.py | 2 +- framework/src/py/flwr/server/strategy/fedavg_test.py | 2 +- framework/src/py/flwr/server/strategy/fedavgm.py | 2 +- framework/src/py/flwr/server/strategy/fedavgm_test.py | 2 +- framework/src/py/flwr/server/strategy/fedmedian.py | 2 +- framework/src/py/flwr/server/strategy/fedmedian_test.py | 2 +- framework/src/py/flwr/server/strategy/fedopt.py | 2 +- framework/src/py/flwr/server/strategy/fedprox.py | 2 +- framework/src/py/flwr/server/strategy/fedtrimmedavg.py | 2 +- framework/src/py/flwr/server/strategy/fedxgb_bagging.py | 2 +- framework/src/py/flwr/server/strategy/fedxgb_cyclic.py | 2 +- framework/src/py/flwr/server/strategy/fedxgb_nn_avg.py | 2 +- framework/src/py/flwr/server/strategy/fedyogi.py | 2 +- framework/src/py/flwr/server/strategy/krum.py | 2 +- framework/src/py/flwr/server/strategy/krum_test.py | 2 +- framework/src/py/flwr/server/strategy/multikrum_test.py | 2 +- framework/src/py/flwr/server/strategy/qfedavg.py | 2 +- framework/src/py/flwr/server/strategy/strategy.py | 2 +- framework/src/py/flwr/server/utils/__init__.py | 2 +- framework/src/py/flwr/server/utils/tensorboard.py | 2 +- framework/src/py/flwr/server/utils/tensorboard_test.py | 2 +- framework/src/py/flwr/server/utils/validator.py | 2 +- framework/src/py/flwr/server/utils/validator_test.py | 2 +- framework/src/py/flwr/simulation/__init__.py | 2 +- framework/src/py/flwr/simulation/app.py | 2 +- framework/src/py/flwr/simulation/ray_transport/__init__.py | 2 +- framework/src/py/flwr/simulation/ray_transport/ray_actor.py | 2 +- .../src/py/flwr/simulation/ray_transport/ray_client_proxy.py | 2 +- .../py/flwr/simulation/ray_transport/ray_client_proxy_test.py | 2 +- framework/src/py/flwr/simulation/ray_transport/utils.py | 2 +- 106 files changed, 106 insertions(+), 106 deletions(-) diff --git a/framework/dev/format.sh b/framework/dev/format.sh index 0d113c5afd2b..d89d89a8a863 100755 --- a/framework/dev/format.sh +++ b/framework/dev/format.sh @@ -5,7 +5,7 @@ cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../../ taplo fmt # Python -python -m flwr_tool.check_copyright framework/src/py/flwr +python -m flwr_tool.fix_copyright framework/src/py/flwr python -m flwr_tool.init_py_fix framework/src/py/flwr python -m isort --skip framework/src/py/flwr/proto framework/src/py python -m black -q --exclude framework/src/py/flwr/proto framework/src/py diff --git a/framework/src/py/flwr/__init__.py b/framework/src/py/flwr/__init__.py index ccaf07c6012f..474fbd0660ba 100644 --- a/framework/src/py/flwr/__init__.py +++ b/framework/src/py/flwr/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/__init___test.py b/framework/src/py/flwr/__init___test.py index 61785d093b2d..22ba1d8442c5 100644 --- a/framework/src/py/flwr/__init___test.py +++ b/framework/src/py/flwr/__init___test.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/__init__.py b/framework/src/py/flwr/client/__init__.py index dce3be9036bb..95a3fb24c051 100644 --- a/framework/src/py/flwr/client/__init__.py +++ b/framework/src/py/flwr/client/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/app.py b/framework/src/py/flwr/client/app.py index 7046e3f2e4fc..bb55c3d71769 100644 --- a/framework/src/py/flwr/client/app.py +++ b/framework/src/py/flwr/client/app.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/app_test.py b/framework/src/py/flwr/client/app_test.py index 723a066ea0bc..eb1126c38b15 100644 --- a/framework/src/py/flwr/client/app_test.py +++ b/framework/src/py/flwr/client/app_test.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/client.py b/framework/src/py/flwr/client/client.py index dab9b6a26588..8af7fe17c6c9 100644 --- a/framework/src/py/flwr/client/client.py +++ b/framework/src/py/flwr/client/client.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/client_test.py b/framework/src/py/flwr/client/client_test.py index 343b6cf093b2..ff8b571295e6 100644 --- a/framework/src/py/flwr/client/client_test.py +++ b/framework/src/py/flwr/client/client_test.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/dpfedavg_numpy_client.py b/framework/src/py/flwr/client/dpfedavg_numpy_client.py index bade811b48ce..ade72e254bb2 100644 --- a/framework/src/py/flwr/client/dpfedavg_numpy_client.py +++ b/framework/src/py/flwr/client/dpfedavg_numpy_client.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/grpc_client/__init__.py b/framework/src/py/flwr/client/grpc_client/__init__.py index 9e987e86b254..8682a807c35d 100644 --- a/framework/src/py/flwr/client/grpc_client/__init__.py +++ b/framework/src/py/flwr/client/grpc_client/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/grpc_client/connection.py b/framework/src/py/flwr/client/grpc_client/connection.py index 75d2ebe15025..dc03f4ae7056 100644 --- a/framework/src/py/flwr/client/grpc_client/connection.py +++ b/framework/src/py/flwr/client/grpc_client/connection.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/grpc_client/connection_test.py b/framework/src/py/flwr/client/grpc_client/connection_test.py index 13bd2c6af8e7..1505cd861296 100644 --- a/framework/src/py/flwr/client/grpc_client/connection_test.py +++ b/framework/src/py/flwr/client/grpc_client/connection_test.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/grpc_rere_client/__init__.py b/framework/src/py/flwr/client/grpc_rere_client/__init__.py index e7c9408c0047..812d19798bf0 100644 --- a/framework/src/py/flwr/client/grpc_rere_client/__init__.py +++ b/framework/src/py/flwr/client/grpc_rere_client/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/grpc_rere_client/connection.py b/framework/src/py/flwr/client/grpc_rere_client/connection.py index 6d6d24d54ea3..d831c6c4cb03 100644 --- a/framework/src/py/flwr/client/grpc_rere_client/connection.py +++ b/framework/src/py/flwr/client/grpc_rere_client/connection.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/message_handler/__init__.py b/framework/src/py/flwr/client/message_handler/__init__.py index a345b4af3ef2..6759f5b8c309 100644 --- a/framework/src/py/flwr/client/message_handler/__init__.py +++ b/framework/src/py/flwr/client/message_handler/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/message_handler/message_handler.py b/framework/src/py/flwr/client/message_handler/message_handler.py index 765c6a6b2e91..8f5e84e4aca1 100644 --- a/framework/src/py/flwr/client/message_handler/message_handler.py +++ b/framework/src/py/flwr/client/message_handler/message_handler.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/message_handler/message_handler_test.py b/framework/src/py/flwr/client/message_handler/message_handler_test.py index 0be5ab30e026..5dcdf2f60a3f 100644 --- a/framework/src/py/flwr/client/message_handler/message_handler_test.py +++ b/framework/src/py/flwr/client/message_handler/message_handler_test.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/message_handler/task_handler.py b/framework/src/py/flwr/client/message_handler/task_handler.py index 7f515a30fe5a..a30980cf27c9 100644 --- a/framework/src/py/flwr/client/message_handler/task_handler.py +++ b/framework/src/py/flwr/client/message_handler/task_handler.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/message_handler/task_handler_test.py b/framework/src/py/flwr/client/message_handler/task_handler_test.py index c8b9e14737ff..e0258404260d 100644 --- a/framework/src/py/flwr/client/message_handler/task_handler_test.py +++ b/framework/src/py/flwr/client/message_handler/task_handler_test.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/numpy_client.py b/framework/src/py/flwr/client/numpy_client.py index 6a656cb661d2..a475af0085c1 100644 --- a/framework/src/py/flwr/client/numpy_client.py +++ b/framework/src/py/flwr/client/numpy_client.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/numpy_client_test.py b/framework/src/py/flwr/client/numpy_client_test.py index c5d520a73ce1..a5f032d97627 100644 --- a/framework/src/py/flwr/client/numpy_client_test.py +++ b/framework/src/py/flwr/client/numpy_client_test.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/rest_client/__init__.py b/framework/src/py/flwr/client/rest_client/__init__.py index a24d822a6d75..175d02432714 100644 --- a/framework/src/py/flwr/client/rest_client/__init__.py +++ b/framework/src/py/flwr/client/rest_client/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/rest_client/connection.py b/framework/src/py/flwr/client/rest_client/connection.py index 7f6c247d8907..e7ab164284b4 100644 --- a/framework/src/py/flwr/client/rest_client/connection.py +++ b/framework/src/py/flwr/client/rest_client/connection.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/client/typing.py b/framework/src/py/flwr/client/typing.py index 9faed4bc7283..6c3927a23de7 100644 --- a/framework/src/py/flwr/client/typing.py +++ b/framework/src/py/flwr/client/typing.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/__init__.py b/framework/src/py/flwr/common/__init__.py index 925f21ddb491..19aef4c15555 100644 --- a/framework/src/py/flwr/common/__init__.py +++ b/framework/src/py/flwr/common/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/address.py b/framework/src/py/flwr/common/address.py index 2b10097ccb71..59dd11352a03 100644 --- a/framework/src/py/flwr/common/address.py +++ b/framework/src/py/flwr/common/address.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/address_test.py b/framework/src/py/flwr/common/address_test.py index d5901ed640b1..a0d6c8c2f315 100644 --- a/framework/src/py/flwr/common/address_test.py +++ b/framework/src/py/flwr/common/address_test.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/constant.py b/framework/src/py/flwr/common/constant.py index ce5840ddddfb..ab29820de1da 100644 --- a/framework/src/py/flwr/common/constant.py +++ b/framework/src/py/flwr/common/constant.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/date.py b/framework/src/py/flwr/common/date.py index 28afe3d1ff38..f7a6ee7a4588 100644 --- a/framework/src/py/flwr/common/date.py +++ b/framework/src/py/flwr/common/date.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/dp.py b/framework/src/py/flwr/common/dp.py index 13ae94461ef9..d975f213a4ff 100644 --- a/framework/src/py/flwr/common/dp.py +++ b/framework/src/py/flwr/common/dp.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/grpc.py b/framework/src/py/flwr/common/grpc.py index 0c6e2fc5b082..b83780bcc5e5 100644 --- a/framework/src/py/flwr/common/grpc.py +++ b/framework/src/py/flwr/common/grpc.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/logger.py b/framework/src/py/flwr/common/logger.py index 62d5fa92b02a..37a91a4abfe3 100644 --- a/framework/src/py/flwr/common/logger.py +++ b/framework/src/py/flwr/common/logger.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/parameter.py b/framework/src/py/flwr/common/parameter.py index eefd7abc19a8..35b7300ddb40 100644 --- a/framework/src/py/flwr/common/parameter.py +++ b/framework/src/py/flwr/common/parameter.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/parameter_test.py b/framework/src/py/flwr/common/parameter_test.py index 965038ead6d2..d75d165852c7 100644 --- a/framework/src/py/flwr/common/parameter_test.py +++ b/framework/src/py/flwr/common/parameter_test.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/retry_invoker.py b/framework/src/py/flwr/common/retry_invoker.py index 9785b0fbd9b4..dc09fc03f7f8 100644 --- a/framework/src/py/flwr/common/retry_invoker.py +++ b/framework/src/py/flwr/common/retry_invoker.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/retry_invoker_test.py b/framework/src/py/flwr/common/retry_invoker_test.py index a9f2625ff443..df5bdaf8c95d 100644 --- a/framework/src/py/flwr/common/retry_invoker_test.py +++ b/framework/src/py/flwr/common/retry_invoker_test.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/secure_aggregation/__init__.py b/framework/src/py/flwr/common/secure_aggregation/__init__.py index 77e1ea3842d7..4d05eba1790b 100644 --- a/framework/src/py/flwr/common/secure_aggregation/__init__.py +++ b/framework/src/py/flwr/common/secure_aggregation/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/secure_aggregation/crypto/__init__.py b/framework/src/py/flwr/common/secure_aggregation/crypto/__init__.py index 3788dbc0ca15..768de0cc59ab 100644 --- a/framework/src/py/flwr/common/secure_aggregation/crypto/__init__.py +++ b/framework/src/py/flwr/common/secure_aggregation/crypto/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/secure_aggregation/crypto/shamir.py b/framework/src/py/flwr/common/secure_aggregation/crypto/shamir.py index 9c7e67abf94f..4df43791f0ef 100644 --- a/framework/src/py/flwr/common/secure_aggregation/crypto/shamir.py +++ b/framework/src/py/flwr/common/secure_aggregation/crypto/shamir.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py b/framework/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py index f5c130fb2663..30df7d0e9f3b 100644 --- a/framework/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py +++ b/framework/src/py/flwr/common/secure_aggregation/crypto/symmetric_encryption.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py b/framework/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py index 3197fd852f3d..0d4d6c2ca12b 100644 --- a/framework/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py +++ b/framework/src/py/flwr/common/secure_aggregation/ndarrays_arithmetic.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/secure_aggregation/quantization.py b/framework/src/py/flwr/common/secure_aggregation/quantization.py index ab8521eed981..83596e527814 100644 --- a/framework/src/py/flwr/common/secure_aggregation/quantization.py +++ b/framework/src/py/flwr/common/secure_aggregation/quantization.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/secure_aggregation/secaggplus_constants.py b/framework/src/py/flwr/common/secure_aggregation/secaggplus_constants.py index 545507eb44ed..1bc409d37c64 100644 --- a/framework/src/py/flwr/common/secure_aggregation/secaggplus_constants.py +++ b/framework/src/py/flwr/common/secure_aggregation/secaggplus_constants.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/secure_aggregation/secaggplus_utils.py b/framework/src/py/flwr/common/secure_aggregation/secaggplus_utils.py index 919894d5388f..5ee9d1130d9f 100644 --- a/framework/src/py/flwr/common/secure_aggregation/secaggplus_utils.py +++ b/framework/src/py/flwr/common/secure_aggregation/secaggplus_utils.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/serde.py b/framework/src/py/flwr/common/serde.py index 88d774b4d801..45fa9c613409 100644 --- a/framework/src/py/flwr/common/serde.py +++ b/framework/src/py/flwr/common/serde.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/serde_test.py b/framework/src/py/flwr/common/serde_test.py index f6e2789ef9c0..2fd478cb209e 100644 --- a/framework/src/py/flwr/common/serde_test.py +++ b/framework/src/py/flwr/common/serde_test.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/telemetry.py b/framework/src/py/flwr/common/telemetry.py index e4487e839e8f..9c0af495dc7c 100644 --- a/framework/src/py/flwr/common/telemetry.py +++ b/framework/src/py/flwr/common/telemetry.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/telemetry_test.py b/framework/src/py/flwr/common/telemetry_test.py index f1ad635773a7..c870f4a56b8b 100644 --- a/framework/src/py/flwr/common/telemetry_test.py +++ b/framework/src/py/flwr/common/telemetry_test.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/typing.py b/framework/src/py/flwr/common/typing.py index 3c1ed7fafd85..d9cbf95b74ac 100644 --- a/framework/src/py/flwr/common/typing.py +++ b/framework/src/py/flwr/common/typing.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/common/version.py b/framework/src/py/flwr/common/version.py index 141c16ac9367..b85b939da037 100644 --- a/framework/src/py/flwr/common/version.py +++ b/framework/src/py/flwr/common/version.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/__init__.py b/framework/src/py/flwr/server/__init__.py index 1dde95b6b047..d49cdd511e34 100644 --- a/framework/src/py/flwr/server/__init__.py +++ b/framework/src/py/flwr/server/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/app.py b/framework/src/py/flwr/server/app.py index 508f2dfc9685..b81d90178034 100644 --- a/framework/src/py/flwr/server/app.py +++ b/framework/src/py/flwr/server/app.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/client_manager.py b/framework/src/py/flwr/server/client_manager.py index 9949e29f8f7d..bffb009b47f5 100644 --- a/framework/src/py/flwr/server/client_manager.py +++ b/framework/src/py/flwr/server/client_manager.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/client_manager_test.py b/framework/src/py/flwr/server/client_manager_test.py index 5820881b6aad..148067be4e2f 100644 --- a/framework/src/py/flwr/server/client_manager_test.py +++ b/framework/src/py/flwr/server/client_manager_test.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/client_proxy.py b/framework/src/py/flwr/server/client_proxy.py index 951e4ae992da..67004a911442 100644 --- a/framework/src/py/flwr/server/client_proxy.py +++ b/framework/src/py/flwr/server/client_proxy.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/client_proxy_test.py b/framework/src/py/flwr/server/client_proxy_test.py index 6ca37052a87d..30171e58366f 100644 --- a/framework/src/py/flwr/server/client_proxy_test.py +++ b/framework/src/py/flwr/server/client_proxy_test.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/criterion.py b/framework/src/py/flwr/server/criterion.py index 199a609104cb..65939932b92a 100644 --- a/framework/src/py/flwr/server/criterion.py +++ b/framework/src/py/flwr/server/criterion.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/criterion_test.py b/framework/src/py/flwr/server/criterion_test.py index f678825f064e..c418c8d307e3 100644 --- a/framework/src/py/flwr/server/criterion_test.py +++ b/framework/src/py/flwr/server/criterion_test.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/driver/__init__.py b/framework/src/py/flwr/server/driver/__init__.py index deaddff77702..e980574bd7da 100644 --- a/framework/src/py/flwr/server/driver/__init__.py +++ b/framework/src/py/flwr/server/driver/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/history.py b/framework/src/py/flwr/server/history.py index 50daf2e04de6..05d50ebb8066 100644 --- a/framework/src/py/flwr/server/history.py +++ b/framework/src/py/flwr/server/history.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/history_test.py b/framework/src/py/flwr/server/history_test.py index b53357149623..c5d0151938dd 100644 --- a/framework/src/py/flwr/server/history_test.py +++ b/framework/src/py/flwr/server/history_test.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/server.py b/framework/src/py/flwr/server/server.py index bdaa11ba20a2..39ec8fa9e114 100644 --- a/framework/src/py/flwr/server/server.py +++ b/framework/src/py/flwr/server/server.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/server_test.py b/framework/src/py/flwr/server/server_test.py index 6e8f423fe115..eb2e56e325ad 100644 --- a/framework/src/py/flwr/server/server_test.py +++ b/framework/src/py/flwr/server/server_test.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/__init__.py b/framework/src/py/flwr/server/strategy/__init__.py index e5bc30009819..dc8670f3eaf6 100644 --- a/framework/src/py/flwr/server/strategy/__init__.py +++ b/framework/src/py/flwr/server/strategy/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/aggregate.py b/framework/src/py/flwr/server/strategy/aggregate.py index 16a6c1faba96..fea872393b59 100644 --- a/framework/src/py/flwr/server/strategy/aggregate.py +++ b/framework/src/py/flwr/server/strategy/aggregate.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/aggregate_test.py b/framework/src/py/flwr/server/strategy/aggregate_test.py index 9f9dba79ec7c..ee2fb277aaed 100644 --- a/framework/src/py/flwr/server/strategy/aggregate_test.py +++ b/framework/src/py/flwr/server/strategy/aggregate_test.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/bulyan.py b/framework/src/py/flwr/server/strategy/bulyan.py index 84a261237ac5..e23a131cf50f 100644 --- a/framework/src/py/flwr/server/strategy/bulyan.py +++ b/framework/src/py/flwr/server/strategy/bulyan.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/bulyan_test.py b/framework/src/py/flwr/server/strategy/bulyan_test.py index f5b7282fed2c..caf0675ade24 100644 --- a/framework/src/py/flwr/server/strategy/bulyan_test.py +++ b/framework/src/py/flwr/server/strategy/bulyan_test.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/dpfedavg_adaptive.py b/framework/src/py/flwr/server/strategy/dpfedavg_adaptive.py index 170c9d619a7d..eb737dd85645 100644 --- a/framework/src/py/flwr/server/strategy/dpfedavg_adaptive.py +++ b/framework/src/py/flwr/server/strategy/dpfedavg_adaptive.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/dpfedavg_fixed.py b/framework/src/py/flwr/server/strategy/dpfedavg_fixed.py index 60f8c16f8e6d..0c165d24d626 100644 --- a/framework/src/py/flwr/server/strategy/dpfedavg_fixed.py +++ b/framework/src/py/flwr/server/strategy/dpfedavg_fixed.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fault_tolerant_fedavg.py b/framework/src/py/flwr/server/strategy/fault_tolerant_fedavg.py index 60213db2efeb..a4fde3fda8ba 100644 --- a/framework/src/py/flwr/server/strategy/fault_tolerant_fedavg.py +++ b/framework/src/py/flwr/server/strategy/fault_tolerant_fedavg.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fault_tolerant_fedavg_test.py b/framework/src/py/flwr/server/strategy/fault_tolerant_fedavg_test.py index a01a3a5c0ad5..90e1179ab23d 100644 --- a/framework/src/py/flwr/server/strategy/fault_tolerant_fedavg_test.py +++ b/framework/src/py/flwr/server/strategy/fault_tolerant_fedavg_test.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedadagrad.py b/framework/src/py/flwr/server/strategy/fedadagrad.py index 75befdd0e796..464ea699fdbb 100644 --- a/framework/src/py/flwr/server/strategy/fedadagrad.py +++ b/framework/src/py/flwr/server/strategy/fedadagrad.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedadagrad_test.py b/framework/src/py/flwr/server/strategy/fedadagrad_test.py index 6ac217b021b4..2b8105fa7a3e 100644 --- a/framework/src/py/flwr/server/strategy/fedadagrad_test.py +++ b/framework/src/py/flwr/server/strategy/fedadagrad_test.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedadam.py b/framework/src/py/flwr/server/strategy/fedadam.py index 83f4a1c6fa5c..d72a34bc6c79 100644 --- a/framework/src/py/flwr/server/strategy/fedadam.py +++ b/framework/src/py/flwr/server/strategy/fedadam.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedavg.py b/framework/src/py/flwr/server/strategy/fedavg.py index 2d0b855c3186..424c3f16b45d 100644 --- a/framework/src/py/flwr/server/strategy/fedavg.py +++ b/framework/src/py/flwr/server/strategy/fedavg.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedavg_android.py b/framework/src/py/flwr/server/strategy/fedavg_android.py index bcecf8efb504..5a52eadb55c6 100644 --- a/framework/src/py/flwr/server/strategy/fedavg_android.py +++ b/framework/src/py/flwr/server/strategy/fedavg_android.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedavg_test.py b/framework/src/py/flwr/server/strategy/fedavg_test.py index 66241c3ab66a..954d8d149b20 100644 --- a/framework/src/py/flwr/server/strategy/fedavg_test.py +++ b/framework/src/py/flwr/server/strategy/fedavg_test.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedavgm.py b/framework/src/py/flwr/server/strategy/fedavgm.py index a7c37c38770f..a304390482b7 100644 --- a/framework/src/py/flwr/server/strategy/fedavgm.py +++ b/framework/src/py/flwr/server/strategy/fedavgm.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedavgm_test.py b/framework/src/py/flwr/server/strategy/fedavgm_test.py index 400fa3c97247..fc86f332b02f 100644 --- a/framework/src/py/flwr/server/strategy/fedavgm_test.py +++ b/framework/src/py/flwr/server/strategy/fedavgm_test.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedmedian.py b/framework/src/py/flwr/server/strategy/fedmedian.py index 35044d42b22c..56f5437b27be 100644 --- a/framework/src/py/flwr/server/strategy/fedmedian.py +++ b/framework/src/py/flwr/server/strategy/fedmedian.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedmedian_test.py b/framework/src/py/flwr/server/strategy/fedmedian_test.py index bbce69c19ac5..ccc2d127bc90 100644 --- a/framework/src/py/flwr/server/strategy/fedmedian_test.py +++ b/framework/src/py/flwr/server/strategy/fedmedian_test.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedopt.py b/framework/src/py/flwr/server/strategy/fedopt.py index 3e143fc3ca59..6fed617c8a25 100644 --- a/framework/src/py/flwr/server/strategy/fedopt.py +++ b/framework/src/py/flwr/server/strategy/fedopt.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedprox.py b/framework/src/py/flwr/server/strategy/fedprox.py index 218fece0491f..4544a0681207 100644 --- a/framework/src/py/flwr/server/strategy/fedprox.py +++ b/framework/src/py/flwr/server/strategy/fedprox.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedtrimmedavg.py b/framework/src/py/flwr/server/strategy/fedtrimmedavg.py index 8a0e4e50fbff..b027b1925165 100644 --- a/framework/src/py/flwr/server/strategy/fedtrimmedavg.py +++ b/framework/src/py/flwr/server/strategy/fedtrimmedavg.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedxgb_bagging.py b/framework/src/py/flwr/server/strategy/fedxgb_bagging.py index 1e55466808f8..8554b1ed08b0 100644 --- a/framework/src/py/flwr/server/strategy/fedxgb_bagging.py +++ b/framework/src/py/flwr/server/strategy/fedxgb_bagging.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedxgb_cyclic.py b/framework/src/py/flwr/server/strategy/fedxgb_cyclic.py index c2dc3d797c7e..33b80024bb37 100644 --- a/framework/src/py/flwr/server/strategy/fedxgb_cyclic.py +++ b/framework/src/py/flwr/server/strategy/fedxgb_cyclic.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedxgb_nn_avg.py b/framework/src/py/flwr/server/strategy/fedxgb_nn_avg.py index a7da4a919af7..9c9564d508a4 100644 --- a/framework/src/py/flwr/server/strategy/fedxgb_nn_avg.py +++ b/framework/src/py/flwr/server/strategy/fedxgb_nn_avg.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/fedyogi.py b/framework/src/py/flwr/server/strategy/fedyogi.py index 11873d1b781f..dd6e2eff2c59 100644 --- a/framework/src/py/flwr/server/strategy/fedyogi.py +++ b/framework/src/py/flwr/server/strategy/fedyogi.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/krum.py b/framework/src/py/flwr/server/strategy/krum.py index 5d33874b9789..3b241fcca17d 100644 --- a/framework/src/py/flwr/server/strategy/krum.py +++ b/framework/src/py/flwr/server/strategy/krum.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/krum_test.py b/framework/src/py/flwr/server/strategy/krum_test.py index ac068a8e6ba6..9f3e2c55ddb7 100644 --- a/framework/src/py/flwr/server/strategy/krum_test.py +++ b/framework/src/py/flwr/server/strategy/krum_test.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/multikrum_test.py b/framework/src/py/flwr/server/strategy/multikrum_test.py index d9c73fb4eb8f..31755752a561 100644 --- a/framework/src/py/flwr/server/strategy/multikrum_test.py +++ b/framework/src/py/flwr/server/strategy/multikrum_test.py @@ -1,4 +1,4 @@ -# Copyright 2022 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/qfedavg.py b/framework/src/py/flwr/server/strategy/qfedavg.py index 30a3cc53ee94..e3c2ee518e88 100644 --- a/framework/src/py/flwr/server/strategy/qfedavg.py +++ b/framework/src/py/flwr/server/strategy/qfedavg.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/strategy/strategy.py b/framework/src/py/flwr/server/strategy/strategy.py index 14999e9a8993..b56ff5c1e9a0 100644 --- a/framework/src/py/flwr/server/strategy/strategy.py +++ b/framework/src/py/flwr/server/strategy/strategy.py @@ -1,4 +1,4 @@ -# Copyright 2020 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/utils/__init__.py b/framework/src/py/flwr/server/utils/__init__.py index 8994374c4d08..d879bac86f48 100644 --- a/framework/src/py/flwr/server/utils/__init__.py +++ b/framework/src/py/flwr/server/utils/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/utils/tensorboard.py b/framework/src/py/flwr/server/utils/tensorboard.py index 281e8949c53c..df5cd1708923 100644 --- a/framework/src/py/flwr/server/utils/tensorboard.py +++ b/framework/src/py/flwr/server/utils/tensorboard.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/utils/tensorboard_test.py b/framework/src/py/flwr/server/utils/tensorboard_test.py index 689755c6da16..4f1ae444e77f 100644 --- a/framework/src/py/flwr/server/utils/tensorboard_test.py +++ b/framework/src/py/flwr/server/utils/tensorboard_test.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/utils/validator.py b/framework/src/py/flwr/server/utils/validator.py index 01f926c4985d..299bea1ebc87 100644 --- a/framework/src/py/flwr/server/utils/validator.py +++ b/framework/src/py/flwr/server/utils/validator.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/server/utils/validator_test.py b/framework/src/py/flwr/server/utils/validator_test.py index ce8e3636467c..098b20f8af8b 100644 --- a/framework/src/py/flwr/server/utils/validator_test.py +++ b/framework/src/py/flwr/server/utils/validator_test.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/simulation/__init__.py b/framework/src/py/flwr/simulation/__init__.py index d7277ddcdd46..c17745c12c8f 100644 --- a/framework/src/py/flwr/simulation/__init__.py +++ b/framework/src/py/flwr/simulation/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/simulation/app.py b/framework/src/py/flwr/simulation/app.py index cecf24081458..e022a6ba213c 100644 --- a/framework/src/py/flwr/simulation/app.py +++ b/framework/src/py/flwr/simulation/app.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/simulation/ray_transport/__init__.py b/framework/src/py/flwr/simulation/ray_transport/__init__.py index ed4971935a15..a9fc150266c6 100644 --- a/framework/src/py/flwr/simulation/ray_transport/__init__.py +++ b/framework/src/py/flwr/simulation/ray_transport/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/simulation/ray_transport/ray_actor.py b/framework/src/py/flwr/simulation/ray_transport/ray_actor.py index 4fb48a99b689..11d006dd8a1e 100644 --- a/framework/src/py/flwr/simulation/ray_transport/ray_actor.py +++ b/framework/src/py/flwr/simulation/ray_transport/ray_actor.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/simulation/ray_transport/ray_client_proxy.py b/framework/src/py/flwr/simulation/ray_transport/ray_client_proxy.py index a5d4b27d3e5a..055bca0cc818 100644 --- a/framework/src/py/flwr/simulation/ray_transport/ray_client_proxy.py +++ b/framework/src/py/flwr/simulation/ray_transport/ray_client_proxy.py @@ -1,4 +1,4 @@ -# Copyright 2021 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py b/framework/src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py index af8c6137bb08..a79239ee9952 100644 --- a/framework/src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py +++ b/framework/src/py/flwr/simulation/ray_transport/ray_client_proxy_test.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/framework/src/py/flwr/simulation/ray_transport/utils.py b/framework/src/py/flwr/simulation/ray_transport/utils.py index 3861164998a4..150bf8f08a27 100644 --- a/framework/src/py/flwr/simulation/ray_transport/utils.py +++ b/framework/src/py/flwr/simulation/ray_transport/utils.py @@ -1,4 +1,4 @@ -# Copyright 2023 Flower Labs GmbH. All Rights Reserved. +# Copyright 2024 Flower Labs GmbH. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. From d86b0f89672ef1aa8109cdb0f29eebc53ae577cb Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Thu, 5 Dec 2024 18:56:47 +0100 Subject: [PATCH 14/15] Fix cpp --- framework/src/cc/flwr/CMakeLists.txt | 2 + .../cc/flwr/include/flwr/proto/fab.grpc.pb.cc | 27 + .../cc/flwr/include/flwr/proto/fab.grpc.pb.h | 51 + .../src/cc/flwr/include/flwr/proto/fab.pb.cc | 821 ++++ .../src/cc/flwr/include/flwr/proto/fab.pb.h | 911 ++++ .../flwr/include/flwr/proto/fleet.grpc.pb.cc | 42 + .../flwr/include/flwr/proto/fleet.grpc.pb.h | 168 +- .../cc/flwr/include/flwr/proto/fleet.pb.cc | 864 +--- .../src/cc/flwr/include/flwr/proto/fleet.pb.h | 992 +---- .../src/cc/flwr/include/flwr/proto/node.pb.cc | 16 +- .../src/cc/flwr/include/flwr/proto/node.pb.h | 24 +- .../flwr/include/flwr/proto/recordset.pb.cc | 799 +++- .../cc/flwr/include/flwr/proto/recordset.pb.h | 912 +++- .../cc/flwr/include/flwr/proto/run.grpc.pb.cc | 27 + .../cc/flwr/include/flwr/proto/run.grpc.pb.h | 51 + .../src/cc/flwr/include/flwr/proto/run.pb.cc | 3503 +++++++++++++++ .../src/cc/flwr/include/flwr/proto/run.pb.h | 3752 +++++++++++++++++ .../src/cc/flwr/include/flwr/proto/task.pb.cc | 66 +- .../src/cc/flwr/include/flwr/proto/task.pb.h | 49 +- .../flwr/include/flwr/proto/transport.pb.cc | 58 +- .../cc/flwr/include/flwr/proto/transport.pb.h | 55 + framework/src/cc/flwr/src/serde.cc | 12 +- 22 files changed, 11137 insertions(+), 2065 deletions(-) create mode 100644 framework/src/cc/flwr/include/flwr/proto/fab.grpc.pb.cc create mode 100644 framework/src/cc/flwr/include/flwr/proto/fab.grpc.pb.h create mode 100644 framework/src/cc/flwr/include/flwr/proto/fab.pb.cc create mode 100644 framework/src/cc/flwr/include/flwr/proto/fab.pb.h create mode 100644 framework/src/cc/flwr/include/flwr/proto/run.grpc.pb.cc create mode 100644 framework/src/cc/flwr/include/flwr/proto/run.grpc.pb.h create mode 100644 framework/src/cc/flwr/include/flwr/proto/run.pb.cc create mode 100644 framework/src/cc/flwr/include/flwr/proto/run.pb.h diff --git a/framework/src/cc/flwr/CMakeLists.txt b/framework/src/cc/flwr/CMakeLists.txt index 9955d21e84ad..ab83d1f08ccd 100644 --- a/framework/src/cc/flwr/CMakeLists.txt +++ b/framework/src/cc/flwr/CMakeLists.txt @@ -75,6 +75,8 @@ GENERATE_AND_COPY(task) GENERATE_AND_COPY(fleet) GENERATE_AND_COPY(error) GENERATE_AND_COPY(recordset) +GENERATE_AND_COPY(fab) +GENERATE_AND_COPY(run) add_library(flwr_grpc_proto STATIC ${ALL_PROTO_FILES}) diff --git a/framework/src/cc/flwr/include/flwr/proto/fab.grpc.pb.cc b/framework/src/cc/flwr/include/flwr/proto/fab.grpc.pb.cc new file mode 100644 index 000000000000..53ed1fc926a4 --- /dev/null +++ b/framework/src/cc/flwr/include/flwr/proto/fab.grpc.pb.cc @@ -0,0 +1,27 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: flwr/proto/fab.proto + +#include "flwr/proto/fab.pb.h" +#include "flwr/proto/fab.grpc.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace flwr { +namespace proto { + +} // namespace flwr +} // namespace proto + diff --git a/framework/src/cc/flwr/include/flwr/proto/fab.grpc.pb.h b/framework/src/cc/flwr/include/flwr/proto/fab.grpc.pb.h new file mode 100644 index 000000000000..593e4e18673b --- /dev/null +++ b/framework/src/cc/flwr/include/flwr/proto/fab.grpc.pb.h @@ -0,0 +1,51 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: flwr/proto/fab.proto +// Original file comments: +// Copyright 2024 Flower Labs GmbH. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ============================================================================== +// +#ifndef GRPC_flwr_2fproto_2ffab_2eproto__INCLUDED +#define GRPC_flwr_2fproto_2ffab_2eproto__INCLUDED + +#include "flwr/proto/fab.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace flwr { +namespace proto { + +} // namespace proto +} // namespace flwr + + +#endif // GRPC_flwr_2fproto_2ffab_2eproto__INCLUDED diff --git a/framework/src/cc/flwr/include/flwr/proto/fab.pb.cc b/framework/src/cc/flwr/include/flwr/proto/fab.pb.cc new file mode 100644 index 000000000000..547c1d2e9cea --- /dev/null +++ b/framework/src/cc/flwr/include/flwr/proto/fab.pb.cc @@ -0,0 +1,821 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: flwr/proto/fab.proto + +#include "flwr/proto/fab.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +PROTOBUF_PRAGMA_INIT_SEG +namespace flwr { +namespace proto { +constexpr Fab::Fab( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : hash_str_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , content_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} +struct FabDefaultTypeInternal { + constexpr FabDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~FabDefaultTypeInternal() {} + union { + Fab _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FabDefaultTypeInternal _Fab_default_instance_; +constexpr GetFabRequest::GetFabRequest( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : hash_str_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , node_(nullptr){} +struct GetFabRequestDefaultTypeInternal { + constexpr GetFabRequestDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~GetFabRequestDefaultTypeInternal() {} + union { + GetFabRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetFabRequestDefaultTypeInternal _GetFabRequest_default_instance_; +constexpr GetFabResponse::GetFabResponse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : fab_(nullptr){} +struct GetFabResponseDefaultTypeInternal { + constexpr GetFabResponseDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~GetFabResponseDefaultTypeInternal() {} + union { + GetFabResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetFabResponseDefaultTypeInternal _GetFabResponse_default_instance_; +} // namespace proto +} // namespace flwr +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_flwr_2fproto_2ffab_2eproto[3]; +static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_flwr_2fproto_2ffab_2eproto = nullptr; +static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_flwr_2fproto_2ffab_2eproto = nullptr; + +const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_flwr_2fproto_2ffab_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::Fab, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::Fab, hash_str_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Fab, content_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetFabRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetFabRequest, node_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetFabRequest, hash_str_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetFabResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetFabResponse, fab_), +}; +static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, -1, -1, sizeof(::flwr::proto::Fab)}, + { 8, -1, -1, sizeof(::flwr::proto::GetFabRequest)}, + { 16, -1, -1, sizeof(::flwr::proto::GetFabResponse)}, +}; + +static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { + reinterpret_cast(&::flwr::proto::_Fab_default_instance_), + reinterpret_cast(&::flwr::proto::_GetFabRequest_default_instance_), + reinterpret_cast(&::flwr::proto::_GetFabResponse_default_instance_), +}; + +const char descriptor_table_protodef_flwr_2fproto_2ffab_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\024flwr/proto/fab.proto\022\nflwr.proto\032\025flwr" + "/proto/node.proto\"(\n\003Fab\022\020\n\010hash_str\030\001 \001" + "(\t\022\017\n\007content\030\002 \001(\014\"A\n\rGetFabRequest\022\036\n\004" + "node\030\001 \001(\0132\020.flwr.proto.Node\022\020\n\010hash_str" + "\030\002 \001(\t\".\n\016GetFabResponse\022\034\n\003fab\030\001 \001(\0132\017." + "flwr.proto.Fabb\006proto3" + ; +static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_flwr_2fproto_2ffab_2eproto_deps[1] = { + &::descriptor_table_flwr_2fproto_2fnode_2eproto, +}; +static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_flwr_2fproto_2ffab_2eproto_once; +const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_flwr_2fproto_2ffab_2eproto = { + false, false, 222, descriptor_table_protodef_flwr_2fproto_2ffab_2eproto, "flwr/proto/fab.proto", + &descriptor_table_flwr_2fproto_2ffab_2eproto_once, descriptor_table_flwr_2fproto_2ffab_2eproto_deps, 1, 3, + schemas, file_default_instances, TableStruct_flwr_2fproto_2ffab_2eproto::offsets, + file_level_metadata_flwr_2fproto_2ffab_2eproto, file_level_enum_descriptors_flwr_2fproto_2ffab_2eproto, file_level_service_descriptors_flwr_2fproto_2ffab_2eproto, +}; +PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_flwr_2fproto_2ffab_2eproto_getter() { + return &descriptor_table_flwr_2fproto_2ffab_2eproto; +} + +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_flwr_2fproto_2ffab_2eproto(&descriptor_table_flwr_2fproto_2ffab_2eproto); +namespace flwr { +namespace proto { + +// =================================================================== + +class Fab::_Internal { + public: +}; + +Fab::Fab(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.Fab) +} +Fab::Fab(const Fab& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + hash_str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_hash_str().empty()) { + hash_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_hash_str(), + GetArenaForAllocation()); + } + content_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_content().empty()) { + content_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_content(), + GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:flwr.proto.Fab) +} + +void Fab::SharedCtor() { +hash_str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +content_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +Fab::~Fab() { + // @@protoc_insertion_point(destructor:flwr.proto.Fab) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void Fab::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + hash_str_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + content_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void Fab::ArenaDtor(void* object) { + Fab* _this = reinterpret_cast< Fab* >(object); + (void)_this; +} +void Fab::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void Fab::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void Fab::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.Fab) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + hash_str_.ClearToEmpty(); + content_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* Fab::_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 hash_str = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_hash_str(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.Fab.hash_str")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bytes content = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_content(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* Fab::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.Fab) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string hash_str = 1; + if (!this->_internal_hash_str().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_hash_str().data(), static_cast(this->_internal_hash_str().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.Fab.hash_str"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_hash_str(), target); + } + + // bytes content = 2; + if (!this->_internal_content().empty()) { + target = stream->WriteBytesMaybeAliased( + 2, this->_internal_content(), 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:flwr.proto.Fab) + return target; +} + +size_t Fab::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.Fab) + 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 hash_str = 1; + if (!this->_internal_hash_str().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_hash_str()); + } + + // bytes content = 2; + if (!this->_internal_content().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_content()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Fab::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + Fab::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Fab::GetClassData() const { return &_class_data_; } + +void Fab::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void Fab::MergeFrom(const Fab& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.Fab) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_hash_str().empty()) { + _internal_set_hash_str(from._internal_hash_str()); + } + if (!from._internal_content().empty()) { + _internal_set_content(from._internal_content()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void Fab::CopyFrom(const Fab& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.Fab) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool Fab::IsInitialized() const { + return true; +} + +void Fab::InternalSwap(Fab* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &hash_str_, lhs_arena, + &other->hash_str_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &content_, lhs_arena, + &other->content_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata Fab::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2ffab_2eproto_getter, &descriptor_table_flwr_2fproto_2ffab_2eproto_once, + file_level_metadata_flwr_2fproto_2ffab_2eproto[0]); +} + +// =================================================================== + +class GetFabRequest::_Internal { + public: + static const ::flwr::proto::Node& node(const GetFabRequest* msg); +}; + +const ::flwr::proto::Node& +GetFabRequest::_Internal::node(const GetFabRequest* msg) { + return *msg->node_; +} +void GetFabRequest::clear_node() { + if (GetArenaForAllocation() == nullptr && node_ != nullptr) { + delete node_; + } + node_ = nullptr; +} +GetFabRequest::GetFabRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.GetFabRequest) +} +GetFabRequest::GetFabRequest(const GetFabRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + hash_str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_hash_str().empty()) { + hash_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_hash_str(), + GetArenaForAllocation()); + } + if (from._internal_has_node()) { + node_ = new ::flwr::proto::Node(*from.node_); + } else { + node_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flwr.proto.GetFabRequest) +} + +void GetFabRequest::SharedCtor() { +hash_str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +node_ = nullptr; +} + +GetFabRequest::~GetFabRequest() { + // @@protoc_insertion_point(destructor:flwr.proto.GetFabRequest) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void GetFabRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + hash_str_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete node_; +} + +void GetFabRequest::ArenaDtor(void* object) { + GetFabRequest* _this = reinterpret_cast< GetFabRequest* >(object); + (void)_this; +} +void GetFabRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetFabRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void GetFabRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.GetFabRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + hash_str_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && node_ != nullptr) { + delete node_; + } + node_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetFabRequest::_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) { + // .flwr.proto.Node node = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_node(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string hash_str = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_hash_str(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.GetFabRequest.hash_str")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetFabRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.GetFabRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flwr.proto.Node node = 1; + if (this->_internal_has_node()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::node(this), target, stream); + } + + // string hash_str = 2; + if (!this->_internal_hash_str().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_hash_str().data(), static_cast(this->_internal_hash_str().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.GetFabRequest.hash_str"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_hash_str(), 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:flwr.proto.GetFabRequest) + return target; +} + +size_t GetFabRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.GetFabRequest) + 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 hash_str = 2; + if (!this->_internal_hash_str().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_hash_str()); + } + + // .flwr.proto.Node node = 1; + if (this->_internal_has_node()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *node_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetFabRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GetFabRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetFabRequest::GetClassData() const { return &_class_data_; } + +void GetFabRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GetFabRequest::MergeFrom(const GetFabRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.GetFabRequest) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_hash_str().empty()) { + _internal_set_hash_str(from._internal_hash_str()); + } + if (from._internal_has_node()) { + _internal_mutable_node()->::flwr::proto::Node::MergeFrom(from._internal_node()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetFabRequest::CopyFrom(const GetFabRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.GetFabRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetFabRequest::IsInitialized() const { + return true; +} + +void GetFabRequest::InternalSwap(GetFabRequest* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &hash_str_, lhs_arena, + &other->hash_str_, rhs_arena + ); + swap(node_, other->node_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetFabRequest::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2ffab_2eproto_getter, &descriptor_table_flwr_2fproto_2ffab_2eproto_once, + file_level_metadata_flwr_2fproto_2ffab_2eproto[1]); +} + +// =================================================================== + +class GetFabResponse::_Internal { + public: + static const ::flwr::proto::Fab& fab(const GetFabResponse* msg); +}; + +const ::flwr::proto::Fab& +GetFabResponse::_Internal::fab(const GetFabResponse* msg) { + return *msg->fab_; +} +GetFabResponse::GetFabResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.GetFabResponse) +} +GetFabResponse::GetFabResponse(const GetFabResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_fab()) { + fab_ = new ::flwr::proto::Fab(*from.fab_); + } else { + fab_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flwr.proto.GetFabResponse) +} + +void GetFabResponse::SharedCtor() { +fab_ = nullptr; +} + +GetFabResponse::~GetFabResponse() { + // @@protoc_insertion_point(destructor:flwr.proto.GetFabResponse) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void GetFabResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete fab_; +} + +void GetFabResponse::ArenaDtor(void* object) { + GetFabResponse* _this = reinterpret_cast< GetFabResponse* >(object); + (void)_this; +} +void GetFabResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetFabResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void GetFabResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.GetFabResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && fab_ != nullptr) { + delete fab_; + } + fab_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetFabResponse::_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) { + // .flwr.proto.Fab fab = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_fab(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetFabResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.GetFabResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flwr.proto.Fab fab = 1; + if (this->_internal_has_fab()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::fab(this), target, stream); + } + + 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:flwr.proto.GetFabResponse) + return target; +} + +size_t GetFabResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.GetFabResponse) + 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; + + // .flwr.proto.Fab fab = 1; + if (this->_internal_has_fab()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *fab_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetFabResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GetFabResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetFabResponse::GetClassData() const { return &_class_data_; } + +void GetFabResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GetFabResponse::MergeFrom(const GetFabResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.GetFabResponse) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_fab()) { + _internal_mutable_fab()->::flwr::proto::Fab::MergeFrom(from._internal_fab()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetFabResponse::CopyFrom(const GetFabResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.GetFabResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetFabResponse::IsInitialized() const { + return true; +} + +void GetFabResponse::InternalSwap(GetFabResponse* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(fab_, other->fab_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetFabResponse::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2ffab_2eproto_getter, &descriptor_table_flwr_2fproto_2ffab_2eproto_once, + file_level_metadata_flwr_2fproto_2ffab_2eproto[2]); +} + +// @@protoc_insertion_point(namespace_scope) +} // namespace proto +} // namespace flwr +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::flwr::proto::Fab* Arena::CreateMaybeMessage< ::flwr::proto::Fab >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::Fab >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::GetFabRequest* Arena::CreateMaybeMessage< ::flwr::proto::GetFabRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::GetFabRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::GetFabResponse* Arena::CreateMaybeMessage< ::flwr::proto::GetFabResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::GetFabResponse >(arena); +} +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include diff --git a/framework/src/cc/flwr/include/flwr/proto/fab.pb.h b/framework/src/cc/flwr/include/flwr/proto/fab.pb.h new file mode 100644 index 000000000000..b80703990636 --- /dev/null +++ b/framework/src/cc/flwr/include/flwr/proto/fab.pb.h @@ -0,0 +1,911 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: flwr/proto/fab.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_flwr_2fproto_2ffab_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_flwr_2fproto_2ffab_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3018000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3018001 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include "flwr/proto/node.pb.h" +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_flwr_2fproto_2ffab_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_flwr_2fproto_2ffab_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + 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[3] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_flwr_2fproto_2ffab_2eproto; +namespace flwr { +namespace proto { +class Fab; +struct FabDefaultTypeInternal; +extern FabDefaultTypeInternal _Fab_default_instance_; +class GetFabRequest; +struct GetFabRequestDefaultTypeInternal; +extern GetFabRequestDefaultTypeInternal _GetFabRequest_default_instance_; +class GetFabResponse; +struct GetFabResponseDefaultTypeInternal; +extern GetFabResponseDefaultTypeInternal _GetFabResponse_default_instance_; +} // namespace proto +} // namespace flwr +PROTOBUF_NAMESPACE_OPEN +template<> ::flwr::proto::Fab* Arena::CreateMaybeMessage<::flwr::proto::Fab>(Arena*); +template<> ::flwr::proto::GetFabRequest* Arena::CreateMaybeMessage<::flwr::proto::GetFabRequest>(Arena*); +template<> ::flwr::proto::GetFabResponse* Arena::CreateMaybeMessage<::flwr::proto::GetFabResponse>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace flwr { +namespace proto { + +// =================================================================== + +class Fab final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.Fab) */ { + public: + inline Fab() : Fab(nullptr) {} + ~Fab() override; + explicit constexpr Fab(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + Fab(const Fab& from); + Fab(Fab&& from) noexcept + : Fab() { + *this = ::std::move(from); + } + + inline Fab& operator=(const Fab& from) { + CopyFrom(from); + return *this; + } + inline Fab& operator=(Fab&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 Fab& default_instance() { + return *internal_default_instance(); + } + static inline const Fab* internal_default_instance() { + return reinterpret_cast( + &_Fab_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(Fab& a, Fab& b) { + a.Swap(&b); + } + inline void Swap(Fab* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Fab* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline Fab* New() const final { + return new Fab(); + } + + Fab* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const Fab& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const Fab& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(Fab* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.Fab"; + } + protected: + explicit Fab(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kHashStrFieldNumber = 1, + kContentFieldNumber = 2, + }; + // string hash_str = 1; + void clear_hash_str(); + const std::string& hash_str() const; + template + void set_hash_str(ArgT0&& arg0, ArgT... args); + std::string* mutable_hash_str(); + PROTOBUF_MUST_USE_RESULT std::string* release_hash_str(); + void set_allocated_hash_str(std::string* hash_str); + private: + const std::string& _internal_hash_str() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_hash_str(const std::string& value); + std::string* _internal_mutable_hash_str(); + public: + + // bytes content = 2; + void clear_content(); + const std::string& content() const; + template + void set_content(ArgT0&& arg0, ArgT... args); + std::string* mutable_content(); + PROTOBUF_MUST_USE_RESULT std::string* release_content(); + void set_allocated_content(std::string* content); + private: + const std::string& _internal_content() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_content(const std::string& value); + std::string* _internal_mutable_content(); + public: + + // @@protoc_insertion_point(class_scope:flwr.proto.Fab) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr hash_str_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr content_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2ffab_2eproto; +}; +// ------------------------------------------------------------------- + +class GetFabRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.GetFabRequest) */ { + public: + inline GetFabRequest() : GetFabRequest(nullptr) {} + ~GetFabRequest() override; + explicit constexpr GetFabRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetFabRequest(const GetFabRequest& from); + GetFabRequest(GetFabRequest&& from) noexcept + : GetFabRequest() { + *this = ::std::move(from); + } + + inline GetFabRequest& operator=(const GetFabRequest& from) { + CopyFrom(from); + return *this; + } + inline GetFabRequest& operator=(GetFabRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 GetFabRequest& default_instance() { + return *internal_default_instance(); + } + static inline const GetFabRequest* internal_default_instance() { + return reinterpret_cast( + &_GetFabRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(GetFabRequest& a, GetFabRequest& b) { + a.Swap(&b); + } + inline void Swap(GetFabRequest* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetFabRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetFabRequest* New() const final { + return new GetFabRequest(); + } + + GetFabRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetFabRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const GetFabRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(GetFabRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.GetFabRequest"; + } + protected: + explicit GetFabRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kHashStrFieldNumber = 2, + kNodeFieldNumber = 1, + }; + // string hash_str = 2; + void clear_hash_str(); + const std::string& hash_str() const; + template + void set_hash_str(ArgT0&& arg0, ArgT... args); + std::string* mutable_hash_str(); + PROTOBUF_MUST_USE_RESULT std::string* release_hash_str(); + void set_allocated_hash_str(std::string* hash_str); + private: + const std::string& _internal_hash_str() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_hash_str(const std::string& value); + std::string* _internal_mutable_hash_str(); + public: + + // .flwr.proto.Node node = 1; + bool has_node() const; + private: + bool _internal_has_node() const; + public: + void clear_node(); + const ::flwr::proto::Node& node() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::Node* release_node(); + ::flwr::proto::Node* mutable_node(); + void set_allocated_node(::flwr::proto::Node* node); + private: + const ::flwr::proto::Node& _internal_node() const; + ::flwr::proto::Node* _internal_mutable_node(); + public: + void unsafe_arena_set_allocated_node( + ::flwr::proto::Node* node); + ::flwr::proto::Node* unsafe_arena_release_node(); + + // @@protoc_insertion_point(class_scope:flwr.proto.GetFabRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr hash_str_; + ::flwr::proto::Node* node_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2ffab_2eproto; +}; +// ------------------------------------------------------------------- + +class GetFabResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.GetFabResponse) */ { + public: + inline GetFabResponse() : GetFabResponse(nullptr) {} + ~GetFabResponse() override; + explicit constexpr GetFabResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetFabResponse(const GetFabResponse& from); + GetFabResponse(GetFabResponse&& from) noexcept + : GetFabResponse() { + *this = ::std::move(from); + } + + inline GetFabResponse& operator=(const GetFabResponse& from) { + CopyFrom(from); + return *this; + } + inline GetFabResponse& operator=(GetFabResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 GetFabResponse& default_instance() { + return *internal_default_instance(); + } + static inline const GetFabResponse* internal_default_instance() { + return reinterpret_cast( + &_GetFabResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(GetFabResponse& a, GetFabResponse& b) { + a.Swap(&b); + } + inline void Swap(GetFabResponse* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetFabResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetFabResponse* New() const final { + return new GetFabResponse(); + } + + GetFabResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetFabResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const GetFabResponse& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(GetFabResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.GetFabResponse"; + } + protected: + explicit GetFabResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kFabFieldNumber = 1, + }; + // .flwr.proto.Fab fab = 1; + bool has_fab() const; + private: + bool _internal_has_fab() const; + public: + void clear_fab(); + const ::flwr::proto::Fab& fab() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::Fab* release_fab(); + ::flwr::proto::Fab* mutable_fab(); + void set_allocated_fab(::flwr::proto::Fab* fab); + private: + const ::flwr::proto::Fab& _internal_fab() const; + ::flwr::proto::Fab* _internal_mutable_fab(); + public: + void unsafe_arena_set_allocated_fab( + ::flwr::proto::Fab* fab); + ::flwr::proto::Fab* unsafe_arena_release_fab(); + + // @@protoc_insertion_point(class_scope:flwr.proto.GetFabResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::flwr::proto::Fab* fab_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2ffab_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// Fab + +// string hash_str = 1; +inline void Fab::clear_hash_str() { + hash_str_.ClearToEmpty(); +} +inline const std::string& Fab::hash_str() const { + // @@protoc_insertion_point(field_get:flwr.proto.Fab.hash_str) + return _internal_hash_str(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Fab::set_hash_str(ArgT0&& arg0, ArgT... args) { + + hash_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.Fab.hash_str) +} +inline std::string* Fab::mutable_hash_str() { + std::string* _s = _internal_mutable_hash_str(); + // @@protoc_insertion_point(field_mutable:flwr.proto.Fab.hash_str) + return _s; +} +inline const std::string& Fab::_internal_hash_str() const { + return hash_str_.Get(); +} +inline void Fab::_internal_set_hash_str(const std::string& value) { + + hash_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* Fab::_internal_mutable_hash_str() { + + return hash_str_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* Fab::release_hash_str() { + // @@protoc_insertion_point(field_release:flwr.proto.Fab.hash_str) + return hash_str_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void Fab::set_allocated_hash_str(std::string* hash_str) { + if (hash_str != nullptr) { + + } else { + + } + hash_str_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), hash_str, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.Fab.hash_str) +} + +// bytes content = 2; +inline void Fab::clear_content() { + content_.ClearToEmpty(); +} +inline const std::string& Fab::content() const { + // @@protoc_insertion_point(field_get:flwr.proto.Fab.content) + return _internal_content(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Fab::set_content(ArgT0&& arg0, ArgT... args) { + + content_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.Fab.content) +} +inline std::string* Fab::mutable_content() { + std::string* _s = _internal_mutable_content(); + // @@protoc_insertion_point(field_mutable:flwr.proto.Fab.content) + return _s; +} +inline const std::string& Fab::_internal_content() const { + return content_.Get(); +} +inline void Fab::_internal_set_content(const std::string& value) { + + content_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* Fab::_internal_mutable_content() { + + return content_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* Fab::release_content() { + // @@protoc_insertion_point(field_release:flwr.proto.Fab.content) + return content_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void Fab::set_allocated_content(std::string* content) { + if (content != nullptr) { + + } else { + + } + content_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), content, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.Fab.content) +} + +// ------------------------------------------------------------------- + +// GetFabRequest + +// .flwr.proto.Node node = 1; +inline bool GetFabRequest::_internal_has_node() const { + return this != internal_default_instance() && node_ != nullptr; +} +inline bool GetFabRequest::has_node() const { + return _internal_has_node(); +} +inline const ::flwr::proto::Node& GetFabRequest::_internal_node() const { + const ::flwr::proto::Node* p = node_; + return p != nullptr ? *p : reinterpret_cast( + ::flwr::proto::_Node_default_instance_); +} +inline const ::flwr::proto::Node& GetFabRequest::node() const { + // @@protoc_insertion_point(field_get:flwr.proto.GetFabRequest.node) + return _internal_node(); +} +inline void GetFabRequest::unsafe_arena_set_allocated_node( + ::flwr::proto::Node* node) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(node_); + } + node_ = node; + if (node) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.GetFabRequest.node) +} +inline ::flwr::proto::Node* GetFabRequest::release_node() { + + ::flwr::proto::Node* temp = node_; + node_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::flwr::proto::Node* GetFabRequest::unsafe_arena_release_node() { + // @@protoc_insertion_point(field_release:flwr.proto.GetFabRequest.node) + + ::flwr::proto::Node* temp = node_; + node_ = nullptr; + return temp; +} +inline ::flwr::proto::Node* GetFabRequest::_internal_mutable_node() { + + if (node_ == nullptr) { + auto* p = CreateMaybeMessage<::flwr::proto::Node>(GetArenaForAllocation()); + node_ = p; + } + return node_; +} +inline ::flwr::proto::Node* GetFabRequest::mutable_node() { + ::flwr::proto::Node* _msg = _internal_mutable_node(); + // @@protoc_insertion_point(field_mutable:flwr.proto.GetFabRequest.node) + return _msg; +} +inline void GetFabRequest::set_allocated_node(::flwr::proto::Node* node) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(node_); + } + if (node) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(node)); + if (message_arena != submessage_arena) { + node = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, node, submessage_arena); + } + + } else { + + } + node_ = node; + // @@protoc_insertion_point(field_set_allocated:flwr.proto.GetFabRequest.node) +} + +// string hash_str = 2; +inline void GetFabRequest::clear_hash_str() { + hash_str_.ClearToEmpty(); +} +inline const std::string& GetFabRequest::hash_str() const { + // @@protoc_insertion_point(field_get:flwr.proto.GetFabRequest.hash_str) + return _internal_hash_str(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetFabRequest::set_hash_str(ArgT0&& arg0, ArgT... args) { + + hash_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.GetFabRequest.hash_str) +} +inline std::string* GetFabRequest::mutable_hash_str() { + std::string* _s = _internal_mutable_hash_str(); + // @@protoc_insertion_point(field_mutable:flwr.proto.GetFabRequest.hash_str) + return _s; +} +inline const std::string& GetFabRequest::_internal_hash_str() const { + return hash_str_.Get(); +} +inline void GetFabRequest::_internal_set_hash_str(const std::string& value) { + + hash_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* GetFabRequest::_internal_mutable_hash_str() { + + return hash_str_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* GetFabRequest::release_hash_str() { + // @@protoc_insertion_point(field_release:flwr.proto.GetFabRequest.hash_str) + return hash_str_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void GetFabRequest::set_allocated_hash_str(std::string* hash_str) { + if (hash_str != nullptr) { + + } else { + + } + hash_str_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), hash_str, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.GetFabRequest.hash_str) +} + +// ------------------------------------------------------------------- + +// GetFabResponse + +// .flwr.proto.Fab fab = 1; +inline bool GetFabResponse::_internal_has_fab() const { + return this != internal_default_instance() && fab_ != nullptr; +} +inline bool GetFabResponse::has_fab() const { + return _internal_has_fab(); +} +inline void GetFabResponse::clear_fab() { + if (GetArenaForAllocation() == nullptr && fab_ != nullptr) { + delete fab_; + } + fab_ = nullptr; +} +inline const ::flwr::proto::Fab& GetFabResponse::_internal_fab() const { + const ::flwr::proto::Fab* p = fab_; + return p != nullptr ? *p : reinterpret_cast( + ::flwr::proto::_Fab_default_instance_); +} +inline const ::flwr::proto::Fab& GetFabResponse::fab() const { + // @@protoc_insertion_point(field_get:flwr.proto.GetFabResponse.fab) + return _internal_fab(); +} +inline void GetFabResponse::unsafe_arena_set_allocated_fab( + ::flwr::proto::Fab* fab) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(fab_); + } + fab_ = fab; + if (fab) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.GetFabResponse.fab) +} +inline ::flwr::proto::Fab* GetFabResponse::release_fab() { + + ::flwr::proto::Fab* temp = fab_; + fab_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::flwr::proto::Fab* GetFabResponse::unsafe_arena_release_fab() { + // @@protoc_insertion_point(field_release:flwr.proto.GetFabResponse.fab) + + ::flwr::proto::Fab* temp = fab_; + fab_ = nullptr; + return temp; +} +inline ::flwr::proto::Fab* GetFabResponse::_internal_mutable_fab() { + + if (fab_ == nullptr) { + auto* p = CreateMaybeMessage<::flwr::proto::Fab>(GetArenaForAllocation()); + fab_ = p; + } + return fab_; +} +inline ::flwr::proto::Fab* GetFabResponse::mutable_fab() { + ::flwr::proto::Fab* _msg = _internal_mutable_fab(); + // @@protoc_insertion_point(field_mutable:flwr.proto.GetFabResponse.fab) + return _msg; +} +inline void GetFabResponse::set_allocated_fab(::flwr::proto::Fab* fab) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete fab_; + } + if (fab) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::flwr::proto::Fab>::GetOwningArena(fab); + if (message_arena != submessage_arena) { + fab = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, fab, submessage_arena); + } + + } else { + + } + fab_ = fab; + // @@protoc_insertion_point(field_set_allocated:flwr.proto.GetFabResponse.fab) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace proto +} // namespace flwr + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_flwr_2fproto_2ffab_2eproto diff --git a/framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.cc b/framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.cc index 0e6c69ad14ac..1c748d03d2cb 100644 --- a/framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.cc +++ b/framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.cc @@ -29,6 +29,7 @@ static const char* Fleet_method_names[] = { "/flwr.proto.Fleet/PullTaskIns", "/flwr.proto.Fleet/PushTaskRes", "/flwr.proto.Fleet/GetRun", + "/flwr.proto.Fleet/GetFab", }; std::unique_ptr< Fleet::Stub> Fleet::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { @@ -44,6 +45,7 @@ Fleet::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, con , rpcmethod_PullTaskIns_(Fleet_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_PushTaskRes_(Fleet_method_names[4], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_GetRun_(Fleet_method_names[5], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_GetFab_(Fleet_method_names[6], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) {} ::grpc::Status Fleet::Stub::CreateNode(::grpc::ClientContext* context, const ::flwr::proto::CreateNodeRequest& request, ::flwr::proto::CreateNodeResponse* response) { @@ -184,6 +186,29 @@ ::grpc::ClientAsyncResponseReader< ::flwr::proto::GetRunResponse>* Fleet::Stub:: return result; } +::grpc::Status Fleet::Stub::GetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::flwr::proto::GetFabResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::flwr::proto::GetFabRequest, ::flwr::proto::GetFabResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetFab_, context, request, response); +} + +void Fleet::Stub::async::GetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest* request, ::flwr::proto::GetFabResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::flwr::proto::GetFabRequest, ::flwr::proto::GetFabResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetFab_, context, request, response, std::move(f)); +} + +void Fleet::Stub::async::GetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest* request, ::flwr::proto::GetFabResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetFab_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flwr::proto::GetFabResponse>* Fleet::Stub::PrepareAsyncGetFabRaw(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::flwr::proto::GetFabResponse, ::flwr::proto::GetFabRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetFab_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::flwr::proto::GetFabResponse>* Fleet::Stub::AsyncGetFabRaw(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncGetFabRaw(context, request, cq); + result->StartCall(); + return result; +} + Fleet::Service::Service() { AddMethod(new ::grpc::internal::RpcServiceMethod( Fleet_method_names[0], @@ -245,6 +270,16 @@ Fleet::Service::Service() { ::flwr::proto::GetRunResponse* resp) { return service->GetRun(ctx, req, resp); }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + Fleet_method_names[6], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< Fleet::Service, ::flwr::proto::GetFabRequest, ::flwr::proto::GetFabResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](Fleet::Service* service, + ::grpc::ServerContext* ctx, + const ::flwr::proto::GetFabRequest* req, + ::flwr::proto::GetFabResponse* resp) { + return service->GetFab(ctx, req, resp); + }, this))); } Fleet::Service::~Service() { @@ -292,6 +327,13 @@ ::grpc::Status Fleet::Service::GetRun(::grpc::ServerContext* context, const ::fl return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } +::grpc::Status Fleet::Service::GetFab(::grpc::ServerContext* context, const ::flwr::proto::GetFabRequest* request, ::flwr::proto::GetFabResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + } // namespace flwr } // namespace proto diff --git a/framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.h b/framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.h index fb1e4bf7b6c4..9d83a641380d 100644 --- a/framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.h +++ b/framework/src/cc/flwr/include/flwr/proto/fleet.grpc.pb.h @@ -100,6 +100,14 @@ class Fleet final { std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flwr::proto::GetRunResponse>> PrepareAsyncGetRun(::grpc::ClientContext* context, const ::flwr::proto::GetRunRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flwr::proto::GetRunResponse>>(PrepareAsyncGetRunRaw(context, request, cq)); } + // Get FAB + virtual ::grpc::Status GetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::flwr::proto::GetFabResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flwr::proto::GetFabResponse>> AsyncGetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flwr::proto::GetFabResponse>>(AsyncGetFabRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flwr::proto::GetFabResponse>> PrepareAsyncGetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flwr::proto::GetFabResponse>>(PrepareAsyncGetFabRaw(context, request, cq)); + } class async_interface { public: virtual ~async_interface() {} @@ -121,6 +129,9 @@ class Fleet final { virtual void PushTaskRes(::grpc::ClientContext* context, const ::flwr::proto::PushTaskResRequest* request, ::flwr::proto::PushTaskResResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; virtual void GetRun(::grpc::ClientContext* context, const ::flwr::proto::GetRunRequest* request, ::flwr::proto::GetRunResponse* response, std::function) = 0; virtual void GetRun(::grpc::ClientContext* context, const ::flwr::proto::GetRunRequest* request, ::flwr::proto::GetRunResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + // Get FAB + virtual void GetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest* request, ::flwr::proto::GetFabResponse* response, std::function) = 0; + virtual void GetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest* request, ::flwr::proto::GetFabResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; }; typedef class async_interface experimental_async_interface; virtual class async_interface* async() { return nullptr; } @@ -138,6 +149,8 @@ class Fleet final { virtual ::grpc::ClientAsyncResponseReaderInterface< ::flwr::proto::PushTaskResResponse>* PrepareAsyncPushTaskResRaw(::grpc::ClientContext* context, const ::flwr::proto::PushTaskResRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::flwr::proto::GetRunResponse>* AsyncGetRunRaw(::grpc::ClientContext* context, const ::flwr::proto::GetRunRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::flwr::proto::GetRunResponse>* PrepareAsyncGetRunRaw(::grpc::ClientContext* context, const ::flwr::proto::GetRunRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flwr::proto::GetFabResponse>* AsyncGetFabRaw(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flwr::proto::GetFabResponse>* PrepareAsyncGetFabRaw(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::grpc::CompletionQueue* cq) = 0; }; class Stub final : public StubInterface { public: @@ -184,6 +197,13 @@ class Fleet final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flwr::proto::GetRunResponse>> PrepareAsyncGetRun(::grpc::ClientContext* context, const ::flwr::proto::GetRunRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flwr::proto::GetRunResponse>>(PrepareAsyncGetRunRaw(context, request, cq)); } + ::grpc::Status GetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::flwr::proto::GetFabResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flwr::proto::GetFabResponse>> AsyncGetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flwr::proto::GetFabResponse>>(AsyncGetFabRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flwr::proto::GetFabResponse>> PrepareAsyncGetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flwr::proto::GetFabResponse>>(PrepareAsyncGetFabRaw(context, request, cq)); + } class async final : public StubInterface::async_interface { public: @@ -199,6 +219,8 @@ class Fleet final { void PushTaskRes(::grpc::ClientContext* context, const ::flwr::proto::PushTaskResRequest* request, ::flwr::proto::PushTaskResResponse* response, ::grpc::ClientUnaryReactor* reactor) override; void GetRun(::grpc::ClientContext* context, const ::flwr::proto::GetRunRequest* request, ::flwr::proto::GetRunResponse* response, std::function) override; void GetRun(::grpc::ClientContext* context, const ::flwr::proto::GetRunRequest* request, ::flwr::proto::GetRunResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void GetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest* request, ::flwr::proto::GetFabResponse* response, std::function) override; + void GetFab(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest* request, ::flwr::proto::GetFabResponse* response, ::grpc::ClientUnaryReactor* reactor) override; private: friend class Stub; explicit async(Stub* stub): stub_(stub) { } @@ -222,12 +244,15 @@ class Fleet final { ::grpc::ClientAsyncResponseReader< ::flwr::proto::PushTaskResResponse>* PrepareAsyncPushTaskResRaw(::grpc::ClientContext* context, const ::flwr::proto::PushTaskResRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::flwr::proto::GetRunResponse>* AsyncGetRunRaw(::grpc::ClientContext* context, const ::flwr::proto::GetRunRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::flwr::proto::GetRunResponse>* PrepareAsyncGetRunRaw(::grpc::ClientContext* context, const ::flwr::proto::GetRunRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flwr::proto::GetFabResponse>* AsyncGetFabRaw(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flwr::proto::GetFabResponse>* PrepareAsyncGetFabRaw(::grpc::ClientContext* context, const ::flwr::proto::GetFabRequest& request, ::grpc::CompletionQueue* cq) override; const ::grpc::internal::RpcMethod rpcmethod_CreateNode_; const ::grpc::internal::RpcMethod rpcmethod_DeleteNode_; const ::grpc::internal::RpcMethod rpcmethod_Ping_; const ::grpc::internal::RpcMethod rpcmethod_PullTaskIns_; const ::grpc::internal::RpcMethod rpcmethod_PushTaskRes_; const ::grpc::internal::RpcMethod rpcmethod_GetRun_; + const ::grpc::internal::RpcMethod rpcmethod_GetFab_; }; static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); @@ -247,6 +272,8 @@ class Fleet final { // HTTP API path: /api/v1/fleet/push-task-res virtual ::grpc::Status PushTaskRes(::grpc::ServerContext* context, const ::flwr::proto::PushTaskResRequest* request, ::flwr::proto::PushTaskResResponse* response); virtual ::grpc::Status GetRun(::grpc::ServerContext* context, const ::flwr::proto::GetRunRequest* request, ::flwr::proto::GetRunResponse* response); + // Get FAB + virtual ::grpc::Status GetFab(::grpc::ServerContext* context, const ::flwr::proto::GetFabRequest* request, ::flwr::proto::GetFabResponse* response); }; template class WithAsyncMethod_CreateNode : public BaseClass { @@ -368,7 +395,27 @@ class Fleet final { ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag); } }; - typedef WithAsyncMethod_CreateNode > > > > > AsyncService; + template + class WithAsyncMethod_GetFab : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_GetFab() { + ::grpc::Service::MarkMethodAsync(6); + } + ~WithAsyncMethod_GetFab() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetFab(::grpc::ServerContext* /*context*/, const ::flwr::proto::GetFabRequest* /*request*/, ::flwr::proto::GetFabResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetFab(::grpc::ServerContext* context, ::flwr::proto::GetFabRequest* request, ::grpc::ServerAsyncResponseWriter< ::flwr::proto::GetFabResponse>* 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); + } + }; + typedef WithAsyncMethod_CreateNode > > > > > > AsyncService; template class WithCallbackMethod_CreateNode : public BaseClass { private: @@ -531,7 +578,34 @@ class Fleet final { virtual ::grpc::ServerUnaryReactor* GetRun( ::grpc::CallbackServerContext* /*context*/, const ::flwr::proto::GetRunRequest* /*request*/, ::flwr::proto::GetRunResponse* /*response*/) { return nullptr; } }; - typedef WithCallbackMethod_CreateNode > > > > > CallbackService; + template + class WithCallbackMethod_GetFab : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_GetFab() { + ::grpc::Service::MarkMethodCallback(6, + new ::grpc::internal::CallbackUnaryHandler< ::flwr::proto::GetFabRequest, ::flwr::proto::GetFabResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::flwr::proto::GetFabRequest* request, ::flwr::proto::GetFabResponse* response) { return this->GetFab(context, request, response); }));} + void SetMessageAllocatorFor_GetFab( + ::grpc::MessageAllocator< ::flwr::proto::GetFabRequest, ::flwr::proto::GetFabResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(6); + static_cast<::grpc::internal::CallbackUnaryHandler< ::flwr::proto::GetFabRequest, ::flwr::proto::GetFabResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_GetFab() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetFab(::grpc::ServerContext* /*context*/, const ::flwr::proto::GetFabRequest* /*request*/, ::flwr::proto::GetFabResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* GetFab( + ::grpc::CallbackServerContext* /*context*/, const ::flwr::proto::GetFabRequest* /*request*/, ::flwr::proto::GetFabResponse* /*response*/) { return nullptr; } + }; + typedef WithCallbackMethod_CreateNode > > > > > > CallbackService; typedef CallbackService ExperimentalCallbackService; template class WithGenericMethod_CreateNode : public BaseClass { @@ -636,6 +710,23 @@ class Fleet final { } }; template + class WithGenericMethod_GetFab : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_GetFab() { + ::grpc::Service::MarkMethodGeneric(6); + } + ~WithGenericMethod_GetFab() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetFab(::grpc::ServerContext* /*context*/, const ::flwr::proto::GetFabRequest* /*request*/, ::flwr::proto::GetFabResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template class WithRawMethod_CreateNode : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} @@ -756,6 +847,26 @@ class Fleet final { } }; template + class WithRawMethod_GetFab : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_GetFab() { + ::grpc::Service::MarkMethodRaw(6); + } + ~WithRawMethod_GetFab() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetFab(::grpc::ServerContext* /*context*/, const ::flwr::proto::GetFabRequest* /*request*/, ::flwr::proto::GetFabResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetFab(::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 WithRawCallbackMethod_CreateNode : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} @@ -888,6 +999,28 @@ class Fleet final { ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } }; template + class WithRawCallbackMethod_GetFab : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_GetFab() { + ::grpc::Service::MarkMethodRawCallback(6, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->GetFab(context, request, response); })); + } + ~WithRawCallbackMethod_GetFab() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetFab(::grpc::ServerContext* /*context*/, const ::flwr::proto::GetFabRequest* /*request*/, ::flwr::proto::GetFabResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* GetFab( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template class WithStreamedUnaryMethod_CreateNode : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} @@ -1049,9 +1182,36 @@ class Fleet final { // replace default version of method with streamed unary virtual ::grpc::Status StreamedGetRun(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flwr::proto::GetRunRequest,::flwr::proto::GetRunResponse>* server_unary_streamer) = 0; }; - typedef WithStreamedUnaryMethod_CreateNode > > > > > StreamedUnaryService; + template + class WithStreamedUnaryMethod_GetFab : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_GetFab() { + ::grpc::Service::MarkMethodStreamed(6, + new ::grpc::internal::StreamedUnaryHandler< + ::flwr::proto::GetFabRequest, ::flwr::proto::GetFabResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::flwr::proto::GetFabRequest, ::flwr::proto::GetFabResponse>* streamer) { + return this->StreamedGetFab(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_GetFab() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status GetFab(::grpc::ServerContext* /*context*/, const ::flwr::proto::GetFabRequest* /*request*/, ::flwr::proto::GetFabResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedGetFab(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flwr::proto::GetFabRequest,::flwr::proto::GetFabResponse>* server_unary_streamer) = 0; + }; + typedef WithStreamedUnaryMethod_CreateNode > > > > > > StreamedUnaryService; typedef Service SplitStreamedService; - typedef WithStreamedUnaryMethod_CreateNode > > > > > StreamedService; + typedef WithStreamedUnaryMethod_CreateNode > > > > > > StreamedService; }; } // namespace proto diff --git a/framework/src/cc/flwr/include/flwr/proto/fleet.pb.cc b/framework/src/cc/flwr/include/flwr/proto/fleet.pb.cc index d221658623c3..6f37b676893c 100644 --- a/framework/src/cc/flwr/include/flwr/proto/fleet.pb.cc +++ b/framework/src/cc/flwr/include/flwr/proto/fleet.pb.cc @@ -118,7 +118,8 @@ struct PullTaskInsResponseDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PullTaskInsResponseDefaultTypeInternal _PullTaskInsResponse_default_instance_; constexpr PushTaskResRequest::PushTaskResRequest( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : task_res_list_(){} + : task_res_list_() + , node_(nullptr){} struct PushTaskResRequestDefaultTypeInternal { constexpr PushTaskResRequestDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -152,44 +153,6 @@ struct PushTaskResResponseDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PushTaskResResponseDefaultTypeInternal _PushTaskResResponse_default_instance_; -constexpr Run::Run( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : fab_id_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , fab_version_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , run_id_(int64_t{0}){} -struct RunDefaultTypeInternal { - constexpr RunDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~RunDefaultTypeInternal() {} - union { - Run _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RunDefaultTypeInternal _Run_default_instance_; -constexpr GetRunRequest::GetRunRequest( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : run_id_(int64_t{0}){} -struct GetRunRequestDefaultTypeInternal { - constexpr GetRunRequestDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~GetRunRequestDefaultTypeInternal() {} - union { - GetRunRequest _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetRunRequestDefaultTypeInternal _GetRunRequest_default_instance_; -constexpr GetRunResponse::GetRunResponse( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : run_(nullptr){} -struct GetRunResponseDefaultTypeInternal { - constexpr GetRunResponseDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~GetRunResponseDefaultTypeInternal() {} - union { - GetRunResponse _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetRunResponseDefaultTypeInternal _GetRunResponse_default_instance_; constexpr Reconnect::Reconnect( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) : reconnect_(uint64_t{0u}){} @@ -204,7 +167,7 @@ struct ReconnectDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ReconnectDefaultTypeInternal _Reconnect_default_instance_; } // namespace proto } // namespace flwr -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_flwr_2fproto_2ffleet_2eproto[15]; +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_flwr_2fproto_2ffleet_2eproto[12]; static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_flwr_2fproto_2ffleet_2eproto = nullptr; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_flwr_2fproto_2ffleet_2eproto = nullptr; @@ -273,6 +236,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_flwr_2fproto_2ffleet_2eproto:: ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::PushTaskResRequest, node_), PROTOBUF_FIELD_OFFSET(::flwr::proto::PushTaskResRequest, task_res_list_), PROTOBUF_FIELD_OFFSET(::flwr::proto::PushTaskResResponse_ResultsEntry_DoNotUse, _has_bits_), PROTOBUF_FIELD_OFFSET(::flwr::proto::PushTaskResResponse_ResultsEntry_DoNotUse, _internal_metadata_), @@ -293,29 +257,6 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_flwr_2fproto_2ffleet_2eproto:: PROTOBUF_FIELD_OFFSET(::flwr::proto::PushTaskResResponse, reconnect_), PROTOBUF_FIELD_OFFSET(::flwr::proto::PushTaskResResponse, results_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, run_id_), - PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, fab_id_), - PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, fab_version_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunRequest, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunRequest, run_id_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunResponse, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunResponse, run_), - ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flwr::proto::Reconnect, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ @@ -333,12 +274,9 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 42, -1, -1, sizeof(::flwr::proto::PullTaskInsRequest)}, { 50, -1, -1, sizeof(::flwr::proto::PullTaskInsResponse)}, { 58, -1, -1, sizeof(::flwr::proto::PushTaskResRequest)}, - { 65, 73, -1, sizeof(::flwr::proto::PushTaskResResponse_ResultsEntry_DoNotUse)}, - { 75, -1, -1, sizeof(::flwr::proto::PushTaskResResponse)}, - { 83, -1, -1, sizeof(::flwr::proto::Run)}, - { 92, -1, -1, sizeof(::flwr::proto::GetRunRequest)}, - { 99, -1, -1, sizeof(::flwr::proto::GetRunResponse)}, - { 106, -1, -1, sizeof(::flwr::proto::Reconnect)}, + { 66, 74, -1, sizeof(::flwr::proto::PushTaskResResponse_ResultsEntry_DoNotUse)}, + { 76, -1, -1, sizeof(::flwr::proto::PushTaskResResponse)}, + { 84, -1, -1, sizeof(::flwr::proto::Reconnect)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -353,58 +291,57 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = reinterpret_cast(&::flwr::proto::_PushTaskResRequest_default_instance_), reinterpret_cast(&::flwr::proto::_PushTaskResResponse_ResultsEntry_DoNotUse_default_instance_), reinterpret_cast(&::flwr::proto::_PushTaskResResponse_default_instance_), - reinterpret_cast(&::flwr::proto::_Run_default_instance_), - reinterpret_cast(&::flwr::proto::_GetRunRequest_default_instance_), - reinterpret_cast(&::flwr::proto::_GetRunResponse_default_instance_), reinterpret_cast(&::flwr::proto::_Reconnect_default_instance_), }; const char descriptor_table_protodef_flwr_2fproto_2ffleet_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\026flwr/proto/fleet.proto\022\nflwr.proto\032\025fl" "wr/proto/node.proto\032\025flwr/proto/task.pro" - "to\"*\n\021CreateNodeRequest\022\025\n\rping_interval" - "\030\001 \001(\001\"4\n\022CreateNodeResponse\022\036\n\004node\030\001 \001" - "(\0132\020.flwr.proto.Node\"3\n\021DeleteNodeReques" - "t\022\036\n\004node\030\001 \001(\0132\020.flwr.proto.Node\"\024\n\022Del" - "eteNodeResponse\"D\n\013PingRequest\022\036\n\004node\030\001" - " \001(\0132\020.flwr.proto.Node\022\025\n\rping_interval\030" - "\002 \001(\001\"\037\n\014PingResponse\022\017\n\007success\030\001 \001(\010\"F" - "\n\022PullTaskInsRequest\022\036\n\004node\030\001 \001(\0132\020.flw" - "r.proto.Node\022\020\n\010task_ids\030\002 \003(\t\"k\n\023PullTa" - "skInsResponse\022(\n\treconnect\030\001 \001(\0132\025.flwr." - "proto.Reconnect\022*\n\rtask_ins_list\030\002 \003(\0132\023" - ".flwr.proto.TaskIns\"@\n\022PushTaskResReques" - "t\022*\n\rtask_res_list\030\001 \003(\0132\023.flwr.proto.Ta" - "skRes\"\256\001\n\023PushTaskResResponse\022(\n\treconne" - "ct\030\001 \001(\0132\025.flwr.proto.Reconnect\022=\n\007resul" - "ts\030\002 \003(\0132,.flwr.proto.PushTaskResRespons" - "e.ResultsEntry\032.\n\014ResultsEntry\022\013\n\003key\030\001 " - "\001(\t\022\r\n\005value\030\002 \001(\r:\0028\001\":\n\003Run\022\016\n\006run_id\030" - "\001 \001(\022\022\016\n\006fab_id\030\002 \001(\t\022\023\n\013fab_version\030\003 \001" - "(\t\"\037\n\rGetRunRequest\022\016\n\006run_id\030\001 \001(\022\".\n\016G" - "etRunResponse\022\034\n\003run\030\001 \001(\0132\017.flwr.proto." - "Run\"\036\n\tReconnect\022\021\n\treconnect\030\001 \001(\0042\311\003\n\005" - "Fleet\022M\n\nCreateNode\022\035.flwr.proto.CreateN" - "odeRequest\032\036.flwr.proto.CreateNodeRespon" - "se\"\000\022M\n\nDeleteNode\022\035.flwr.proto.DeleteNo" - "deRequest\032\036.flwr.proto.DeleteNodeRespons" - "e\"\000\022;\n\004Ping\022\027.flwr.proto.PingRequest\032\030.f" - "lwr.proto.PingResponse\"\000\022P\n\013PullTaskIns\022" - "\036.flwr.proto.PullTaskInsRequest\032\037.flwr.p" - "roto.PullTaskInsResponse\"\000\022P\n\013PushTaskRe" - "s\022\036.flwr.proto.PushTaskResRequest\032\037.flwr" - ".proto.PushTaskResResponse\"\000\022A\n\006GetRun\022\031" - ".flwr.proto.GetRunRequest\032\032.flwr.proto.G" - "etRunResponse\"\000b\006proto3" + "to\032\024flwr/proto/run.proto\032\024flwr/proto/fab" + ".proto\"*\n\021CreateNodeRequest\022\025\n\rping_inte" + "rval\030\001 \001(\001\"4\n\022CreateNodeResponse\022\036\n\004node" + "\030\001 \001(\0132\020.flwr.proto.Node\"3\n\021DeleteNodeRe" + "quest\022\036\n\004node\030\001 \001(\0132\020.flwr.proto.Node\"\024\n" + "\022DeleteNodeResponse\"D\n\013PingRequest\022\036\n\004no" + "de\030\001 \001(\0132\020.flwr.proto.Node\022\025\n\rping_inter" + "val\030\002 \001(\001\"\037\n\014PingResponse\022\017\n\007success\030\001 \001" + "(\010\"F\n\022PullTaskInsRequest\022\036\n\004node\030\001 \001(\0132\020" + ".flwr.proto.Node\022\020\n\010task_ids\030\002 \003(\t\"k\n\023Pu" + "llTaskInsResponse\022(\n\treconnect\030\001 \001(\0132\025.f" + "lwr.proto.Reconnect\022*\n\rtask_ins_list\030\002 \003" + "(\0132\023.flwr.proto.TaskIns\"`\n\022PushTaskResRe" + "quest\022\036\n\004node\030\001 \001(\0132\020.flwr.proto.Node\022*\n" + "\rtask_res_list\030\002 \003(\0132\023.flwr.proto.TaskRe" + "s\"\256\001\n\023PushTaskResResponse\022(\n\treconnect\030\001" + " \001(\0132\025.flwr.proto.Reconnect\022=\n\007results\030\002" + " \003(\0132,.flwr.proto.PushTaskResResponse.Re" + "sultsEntry\032.\n\014ResultsEntry\022\013\n\003key\030\001 \001(\t\022" + "\r\n\005value\030\002 \001(\r:\0028\001\"\036\n\tReconnect\022\021\n\trecon" + "nect\030\001 \001(\0042\214\004\n\005Fleet\022M\n\nCreateNode\022\035.flw" + "r.proto.CreateNodeRequest\032\036.flwr.proto.C" + "reateNodeResponse\"\000\022M\n\nDeleteNode\022\035.flwr" + ".proto.DeleteNodeRequest\032\036.flwr.proto.De" + "leteNodeResponse\"\000\022;\n\004Ping\022\027.flwr.proto." + "PingRequest\032\030.flwr.proto.PingResponse\"\000\022" + "P\n\013PullTaskIns\022\036.flwr.proto.PullTaskInsR" + "equest\032\037.flwr.proto.PullTaskInsResponse\"" + "\000\022P\n\013PushTaskRes\022\036.flwr.proto.PushTaskRe" + "sRequest\032\037.flwr.proto.PushTaskResRespons" + "e\"\000\022A\n\006GetRun\022\031.flwr.proto.GetRunRequest" + "\032\032.flwr.proto.GetRunResponse\"\000\022A\n\006GetFab" + "\022\031.flwr.proto.GetFabRequest\032\032.flwr.proto" + ".GetFabResponse\"\000b\006proto3" ; -static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_flwr_2fproto_2ffleet_2eproto_deps[2] = { +static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_flwr_2fproto_2ffleet_2eproto_deps[4] = { + &::descriptor_table_flwr_2fproto_2ffab_2eproto, &::descriptor_table_flwr_2fproto_2fnode_2eproto, + &::descriptor_table_flwr_2fproto_2frun_2eproto, &::descriptor_table_flwr_2fproto_2ftask_2eproto, }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_flwr_2fproto_2ffleet_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_flwr_2fproto_2ffleet_2eproto = { - false, false, 1423, descriptor_table_protodef_flwr_2fproto_2ffleet_2eproto, "flwr/proto/fleet.proto", - &descriptor_table_flwr_2fproto_2ffleet_2eproto_once, descriptor_table_flwr_2fproto_2ffleet_2eproto_deps, 2, 15, + false, false, 1425, descriptor_table_protodef_flwr_2fproto_2ffleet_2eproto, "flwr/proto/fleet.proto", + &descriptor_table_flwr_2fproto_2ffleet_2eproto_once, descriptor_table_flwr_2fproto_2ffleet_2eproto_deps, 4, 12, schemas, file_default_instances, TableStruct_flwr_2fproto_2ffleet_2eproto::offsets, file_level_metadata_flwr_2fproto_2ffleet_2eproto, file_level_enum_descriptors_flwr_2fproto_2ffleet_2eproto, file_level_service_descriptors_flwr_2fproto_2ffleet_2eproto, }; @@ -1921,8 +1858,19 @@ ::PROTOBUF_NAMESPACE_ID::Metadata PullTaskInsResponse::GetMetadata() const { class PushTaskResRequest::_Internal { public: + static const ::flwr::proto::Node& node(const PushTaskResRequest* msg); }; +const ::flwr::proto::Node& +PushTaskResRequest::_Internal::node(const PushTaskResRequest* msg) { + return *msg->node_; +} +void PushTaskResRequest::clear_node() { + if (GetArenaForAllocation() == nullptr && node_ != nullptr) { + delete node_; + } + node_ = nullptr; +} void PushTaskResRequest::clear_task_res_list() { task_res_list_.Clear(); } @@ -1940,10 +1888,16 @@ PushTaskResRequest::PushTaskResRequest(const PushTaskResRequest& from) : ::PROTOBUF_NAMESPACE_ID::Message(), task_res_list_(from.task_res_list_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_node()) { + node_ = new ::flwr::proto::Node(*from.node_); + } else { + node_ = nullptr; + } // @@protoc_insertion_point(copy_constructor:flwr.proto.PushTaskResRequest) } void PushTaskResRequest::SharedCtor() { +node_ = nullptr; } PushTaskResRequest::~PushTaskResRequest() { @@ -1955,6 +1909,7 @@ PushTaskResRequest::~PushTaskResRequest() { inline void PushTaskResRequest::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete node_; } void PushTaskResRequest::ArenaDtor(void* object) { @@ -1974,6 +1929,10 @@ void PushTaskResRequest::Clear() { (void) cached_has_bits; task_res_list_.Clear(); + if (GetArenaForAllocation() == nullptr && node_ != nullptr) { + delete node_; + } + node_ = nullptr; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -1983,16 +1942,24 @@ const char* PushTaskResRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMES ::PROTOBUF_NAMESPACE_ID::uint32 tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // repeated .flwr.proto.TaskRes task_res_list = 1; + // .flwr.proto.Node node = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_node(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // repeated .flwr.proto.TaskRes task_res_list = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { ptr -= 1; do { ptr += 1; ptr = ctx->ParseMessage(_internal_add_task_res_list(), ptr); CHK_(ptr); if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr)); } else goto handle_unusual; continue; @@ -2025,12 +1992,20 @@ ::PROTOBUF_NAMESPACE_ID::uint8* PushTaskResRequest::_InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - // repeated .flwr.proto.TaskRes task_res_list = 1; + // .flwr.proto.Node node = 1; + if (this->_internal_has_node()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::node(this), target, stream); + } + + // repeated .flwr.proto.TaskRes task_res_list = 2; for (unsigned int i = 0, n = static_cast(this->_internal_task_res_list_size()); i < n; i++) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, this->_internal_task_res_list(i), target, stream); + InternalWriteMessage(2, this->_internal_task_res_list(i), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -2049,13 +2024,20 @@ size_t PushTaskResRequest::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .flwr.proto.TaskRes task_res_list = 1; + // repeated .flwr.proto.TaskRes task_res_list = 2; total_size += 1UL * this->_internal_task_res_list_size(); for (const auto& msg : this->task_res_list_) { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } + // .flwr.proto.Node node = 1; + if (this->_internal_has_node()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *node_); + } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } @@ -2079,6 +2061,9 @@ void PushTaskResRequest::MergeFrom(const PushTaskResRequest& from) { (void) cached_has_bits; task_res_list_.MergeFrom(from.task_res_list_); + if (from._internal_has_node()) { + _internal_mutable_node()->::flwr::proto::Node::MergeFrom(from._internal_node()); + } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -2097,6 +2082,7 @@ void PushTaskResRequest::InternalSwap(PushTaskResRequest* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); task_res_list_.InternalSwap(&other->task_res_list_); + swap(node_, other->node_); } ::PROTOBUF_NAMESPACE_ID::Metadata PushTaskResRequest::GetMetadata() const { @@ -2389,645 +2375,6 @@ ::PROTOBUF_NAMESPACE_ID::Metadata PushTaskResResponse::GetMetadata() const { // =================================================================== -class Run::_Internal { - public: -}; - -Run::Run(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:flwr.proto.Run) -} -Run::Run(const Run& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - fab_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from._internal_fab_id().empty()) { - fab_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fab_id(), - GetArenaForAllocation()); - } - fab_version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from._internal_fab_version().empty()) { - fab_version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fab_version(), - GetArenaForAllocation()); - } - run_id_ = from.run_id_; - // @@protoc_insertion_point(copy_constructor:flwr.proto.Run) -} - -void Run::SharedCtor() { -fab_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -fab_version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -run_id_ = int64_t{0}; -} - -Run::~Run() { - // @@protoc_insertion_point(destructor:flwr.proto.Run) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void Run::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - fab_id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - fab_version_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void Run::ArenaDtor(void* object) { - Run* _this = reinterpret_cast< Run* >(object); - (void)_this; -} -void Run::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void Run::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void Run::Clear() { -// @@protoc_insertion_point(message_clear_start:flwr.proto.Run) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - fab_id_.ClearToEmpty(); - fab_version_.ClearToEmpty(); - run_id_ = int64_t{0}; - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* Run::_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) { - // sint64 run_id = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { - run_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarintZigZag64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // string fab_id = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - auto str = _internal_mutable_fab_id(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.Run.fab_id")); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // string fab_version = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { - auto str = _internal_mutable_fab_version(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.Run.fab_version")); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -::PROTOBUF_NAMESPACE_ID::uint8* Run::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.Run) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // sint64 run_id = 1; - if (this->_internal_run_id() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteSInt64ToArray(1, this->_internal_run_id(), target); - } - - // string fab_id = 2; - if (!this->_internal_fab_id().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_fab_id().data(), static_cast(this->_internal_fab_id().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "flwr.proto.Run.fab_id"); - target = stream->WriteStringMaybeAliased( - 2, this->_internal_fab_id(), target); - } - - // string fab_version = 3; - if (!this->_internal_fab_version().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_fab_version().data(), static_cast(this->_internal_fab_version().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "flwr.proto.Run.fab_version"); - target = stream->WriteStringMaybeAliased( - 3, this->_internal_fab_version(), 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:flwr.proto.Run) - return target; -} - -size_t Run::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:flwr.proto.Run) - 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 fab_id = 2; - if (!this->_internal_fab_id().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_fab_id()); - } - - // string fab_version = 3; - if (!this->_internal_fab_version().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_fab_version()); - } - - // sint64 run_id = 1; - if (this->_internal_run_id() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SInt64SizePlusOne(this->_internal_run_id()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Run::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - Run::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Run::GetClassData() const { return &_class_data_; } - -void Run::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, - const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void Run::MergeFrom(const Run& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.Run) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (!from._internal_fab_id().empty()) { - _internal_set_fab_id(from._internal_fab_id()); - } - if (!from._internal_fab_version().empty()) { - _internal_set_fab_version(from._internal_fab_version()); - } - if (from._internal_run_id() != 0) { - _internal_set_run_id(from._internal_run_id()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void Run::CopyFrom(const Run& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.Run) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Run::IsInitialized() const { - return true; -} - -void Run::InternalSwap(Run* other) { - using std::swap; - auto* lhs_arena = GetArenaForAllocation(); - auto* rhs_arena = other->GetArenaForAllocation(); - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &fab_id_, lhs_arena, - &other->fab_id_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &fab_version_, lhs_arena, - &other->fab_version_, rhs_arena - ); - swap(run_id_, other->run_id_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata Run::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_flwr_2fproto_2ffleet_2eproto_getter, &descriptor_table_flwr_2fproto_2ffleet_2eproto_once, - file_level_metadata_flwr_2fproto_2ffleet_2eproto[11]); -} - -// =================================================================== - -class GetRunRequest::_Internal { - public: -}; - -GetRunRequest::GetRunRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:flwr.proto.GetRunRequest) -} -GetRunRequest::GetRunRequest(const GetRunRequest& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - run_id_ = from.run_id_; - // @@protoc_insertion_point(copy_constructor:flwr.proto.GetRunRequest) -} - -void GetRunRequest::SharedCtor() { -run_id_ = int64_t{0}; -} - -GetRunRequest::~GetRunRequest() { - // @@protoc_insertion_point(destructor:flwr.proto.GetRunRequest) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void GetRunRequest::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void GetRunRequest::ArenaDtor(void* object) { - GetRunRequest* _this = reinterpret_cast< GetRunRequest* >(object); - (void)_this; -} -void GetRunRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void GetRunRequest::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void GetRunRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:flwr.proto.GetRunRequest) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - run_id_ = int64_t{0}; - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* GetRunRequest::_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) { - // sint64 run_id = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { - run_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarintZigZag64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -::PROTOBUF_NAMESPACE_ID::uint8* GetRunRequest::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.GetRunRequest) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // sint64 run_id = 1; - if (this->_internal_run_id() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteSInt64ToArray(1, this->_internal_run_id(), 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:flwr.proto.GetRunRequest) - return target; -} - -size_t GetRunRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:flwr.proto.GetRunRequest) - 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; - - // sint64 run_id = 1; - if (this->_internal_run_id() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SInt64SizePlusOne(this->_internal_run_id()); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetRunRequest::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - GetRunRequest::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetRunRequest::GetClassData() const { return &_class_data_; } - -void GetRunRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, - const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void GetRunRequest::MergeFrom(const GetRunRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.GetRunRequest) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_run_id() != 0) { - _internal_set_run_id(from._internal_run_id()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void GetRunRequest::CopyFrom(const GetRunRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.GetRunRequest) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool GetRunRequest::IsInitialized() const { - return true; -} - -void GetRunRequest::InternalSwap(GetRunRequest* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(run_id_, other->run_id_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata GetRunRequest::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_flwr_2fproto_2ffleet_2eproto_getter, &descriptor_table_flwr_2fproto_2ffleet_2eproto_once, - file_level_metadata_flwr_2fproto_2ffleet_2eproto[12]); -} - -// =================================================================== - -class GetRunResponse::_Internal { - public: - static const ::flwr::proto::Run& run(const GetRunResponse* msg); -}; - -const ::flwr::proto::Run& -GetRunResponse::_Internal::run(const GetRunResponse* msg) { - return *msg->run_; -} -GetRunResponse::GetRunResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:flwr.proto.GetRunResponse) -} -GetRunResponse::GetRunResponse(const GetRunResponse& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_run()) { - run_ = new ::flwr::proto::Run(*from.run_); - } else { - run_ = nullptr; - } - // @@protoc_insertion_point(copy_constructor:flwr.proto.GetRunResponse) -} - -void GetRunResponse::SharedCtor() { -run_ = nullptr; -} - -GetRunResponse::~GetRunResponse() { - // @@protoc_insertion_point(destructor:flwr.proto.GetRunResponse) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void GetRunResponse::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete run_; -} - -void GetRunResponse::ArenaDtor(void* object) { - GetRunResponse* _this = reinterpret_cast< GetRunResponse* >(object); - (void)_this; -} -void GetRunResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void GetRunResponse::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void GetRunResponse::Clear() { -// @@protoc_insertion_point(message_clear_start:flwr.proto.GetRunResponse) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - if (GetArenaForAllocation() == nullptr && run_ != nullptr) { - delete run_; - } - run_ = nullptr; - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* GetRunResponse::_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) { - // .flwr.proto.Run run = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_run(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} - -::PROTOBUF_NAMESPACE_ID::uint8* GetRunResponse::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.GetRunResponse) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // .flwr.proto.Run run = 1; - if (this->_internal_has_run()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 1, _Internal::run(this), target, stream); - } - - 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:flwr.proto.GetRunResponse) - return target; -} - -size_t GetRunResponse::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:flwr.proto.GetRunResponse) - 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; - - // .flwr.proto.Run run = 1; - if (this->_internal_has_run()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *run_); - } - - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetRunResponse::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - GetRunResponse::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetRunResponse::GetClassData() const { return &_class_data_; } - -void GetRunResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, - const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void GetRunResponse::MergeFrom(const GetRunResponse& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.GetRunResponse) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_run()) { - _internal_mutable_run()->::flwr::proto::Run::MergeFrom(from._internal_run()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void GetRunResponse::CopyFrom(const GetRunResponse& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.GetRunResponse) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool GetRunResponse::IsInitialized() const { - return true; -} - -void GetRunResponse::InternalSwap(GetRunResponse* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(run_, other->run_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata GetRunResponse::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_flwr_2fproto_2ffleet_2eproto_getter, &descriptor_table_flwr_2fproto_2ffleet_2eproto_once, - file_level_metadata_flwr_2fproto_2ffleet_2eproto[13]); -} - -// =================================================================== - class Reconnect::_Internal { public: }; @@ -3201,7 +2548,7 @@ void Reconnect::InternalSwap(Reconnect* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Reconnect::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2ffleet_2eproto_getter, &descriptor_table_flwr_2fproto_2ffleet_2eproto_once, - file_level_metadata_flwr_2fproto_2ffleet_2eproto[14]); + file_level_metadata_flwr_2fproto_2ffleet_2eproto[11]); } // @@protoc_insertion_point(namespace_scope) @@ -3241,15 +2588,6 @@ template<> PROTOBUF_NOINLINE ::flwr::proto::PushTaskResResponse_ResultsEntry_DoN template<> PROTOBUF_NOINLINE ::flwr::proto::PushTaskResResponse* Arena::CreateMaybeMessage< ::flwr::proto::PushTaskResResponse >(Arena* arena) { return Arena::CreateMessageInternal< ::flwr::proto::PushTaskResResponse >(arena); } -template<> PROTOBUF_NOINLINE ::flwr::proto::Run* Arena::CreateMaybeMessage< ::flwr::proto::Run >(Arena* arena) { - return Arena::CreateMessageInternal< ::flwr::proto::Run >(arena); -} -template<> PROTOBUF_NOINLINE ::flwr::proto::GetRunRequest* Arena::CreateMaybeMessage< ::flwr::proto::GetRunRequest >(Arena* arena) { - return Arena::CreateMessageInternal< ::flwr::proto::GetRunRequest >(arena); -} -template<> PROTOBUF_NOINLINE ::flwr::proto::GetRunResponse* Arena::CreateMaybeMessage< ::flwr::proto::GetRunResponse >(Arena* arena) { - return Arena::CreateMessageInternal< ::flwr::proto::GetRunResponse >(arena); -} template<> PROTOBUF_NOINLINE ::flwr::proto::Reconnect* Arena::CreateMaybeMessage< ::flwr::proto::Reconnect >(Arena* arena) { return Arena::CreateMessageInternal< ::flwr::proto::Reconnect >(arena); } diff --git a/framework/src/cc/flwr/include/flwr/proto/fleet.pb.h b/framework/src/cc/flwr/include/flwr/proto/fleet.pb.h index 9ad30b5752f5..9a65252b1385 100644 --- a/framework/src/cc/flwr/include/flwr/proto/fleet.pb.h +++ b/framework/src/cc/flwr/include/flwr/proto/fleet.pb.h @@ -37,6 +37,8 @@ #include #include "flwr/proto/node.pb.h" #include "flwr/proto/task.pb.h" +#include "flwr/proto/run.pb.h" +#include "flwr/proto/fab.pb.h" // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_flwr_2fproto_2ffleet_2eproto @@ -52,7 +54,7 @@ struct TableStruct_flwr_2fproto_2ffleet_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[15] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[12] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -73,12 +75,6 @@ extern DeleteNodeRequestDefaultTypeInternal _DeleteNodeRequest_default_instance_ class DeleteNodeResponse; struct DeleteNodeResponseDefaultTypeInternal; extern DeleteNodeResponseDefaultTypeInternal _DeleteNodeResponse_default_instance_; -class GetRunRequest; -struct GetRunRequestDefaultTypeInternal; -extern GetRunRequestDefaultTypeInternal _GetRunRequest_default_instance_; -class GetRunResponse; -struct GetRunResponseDefaultTypeInternal; -extern GetRunResponseDefaultTypeInternal _GetRunResponse_default_instance_; class PingRequest; struct PingRequestDefaultTypeInternal; extern PingRequestDefaultTypeInternal _PingRequest_default_instance_; @@ -103,9 +99,6 @@ extern PushTaskResResponse_ResultsEntry_DoNotUseDefaultTypeInternal _PushTaskRes class Reconnect; struct ReconnectDefaultTypeInternal; extern ReconnectDefaultTypeInternal _Reconnect_default_instance_; -class Run; -struct RunDefaultTypeInternal; -extern RunDefaultTypeInternal _Run_default_instance_; } // namespace proto } // namespace flwr PROTOBUF_NAMESPACE_OPEN @@ -113,8 +106,6 @@ template<> ::flwr::proto::CreateNodeRequest* Arena::CreateMaybeMessage<::flwr::p template<> ::flwr::proto::CreateNodeResponse* Arena::CreateMaybeMessage<::flwr::proto::CreateNodeResponse>(Arena*); template<> ::flwr::proto::DeleteNodeRequest* Arena::CreateMaybeMessage<::flwr::proto::DeleteNodeRequest>(Arena*); template<> ::flwr::proto::DeleteNodeResponse* Arena::CreateMaybeMessage<::flwr::proto::DeleteNodeResponse>(Arena*); -template<> ::flwr::proto::GetRunRequest* Arena::CreateMaybeMessage<::flwr::proto::GetRunRequest>(Arena*); -template<> ::flwr::proto::GetRunResponse* Arena::CreateMaybeMessage<::flwr::proto::GetRunResponse>(Arena*); template<> ::flwr::proto::PingRequest* Arena::CreateMaybeMessage<::flwr::proto::PingRequest>(Arena*); template<> ::flwr::proto::PingResponse* Arena::CreateMaybeMessage<::flwr::proto::PingResponse>(Arena*); template<> ::flwr::proto::PullTaskInsRequest* Arena::CreateMaybeMessage<::flwr::proto::PullTaskInsRequest>(Arena*); @@ -123,7 +114,6 @@ template<> ::flwr::proto::PushTaskResRequest* Arena::CreateMaybeMessage<::flwr:: template<> ::flwr::proto::PushTaskResResponse* Arena::CreateMaybeMessage<::flwr::proto::PushTaskResResponse>(Arena*); template<> ::flwr::proto::PushTaskResResponse_ResultsEntry_DoNotUse* Arena::CreateMaybeMessage<::flwr::proto::PushTaskResResponse_ResultsEntry_DoNotUse>(Arena*); template<> ::flwr::proto::Reconnect* Arena::CreateMaybeMessage<::flwr::proto::Reconnect>(Arena*); -template<> ::flwr::proto::Run* Arena::CreateMaybeMessage<::flwr::proto::Run>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace flwr { namespace proto { @@ -1467,9 +1457,10 @@ class PushTaskResRequest final : // accessors ------------------------------------------------------- enum : int { - kTaskResListFieldNumber = 1, + kTaskResListFieldNumber = 2, + kNodeFieldNumber = 1, }; - // repeated .flwr.proto.TaskRes task_res_list = 1; + // repeated .flwr.proto.TaskRes task_res_list = 2; int task_res_list_size() const; private: int _internal_task_res_list_size() const; @@ -1487,6 +1478,24 @@ class PushTaskResRequest final : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::flwr::proto::TaskRes >& task_res_list() const; + // .flwr.proto.Node node = 1; + bool has_node() const; + private: + bool _internal_has_node() const; + public: + void clear_node(); + const ::flwr::proto::Node& node() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::Node* release_node(); + ::flwr::proto::Node* mutable_node(); + void set_allocated_node(::flwr::proto::Node* node); + private: + const ::flwr::proto::Node& _internal_node() const; + ::flwr::proto::Node* _internal_mutable_node(); + public: + void unsafe_arena_set_allocated_node( + ::flwr::proto::Node* node); + ::flwr::proto::Node* unsafe_arena_release_node(); + // @@protoc_insertion_point(class_scope:flwr.proto.PushTaskResRequest) private: class _Internal; @@ -1495,6 +1504,7 @@ class PushTaskResRequest final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::flwr::proto::TaskRes > task_res_list_; + ::flwr::proto::Node* node_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_flwr_2fproto_2ffleet_2eproto; }; @@ -1513,530 +1523,36 @@ class PushTaskResResponse_ResultsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID explicit constexpr PushTaskResResponse_ResultsEntry_DoNotUse( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); explicit PushTaskResResponse_ResultsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); - void MergeFrom(const PushTaskResResponse_ResultsEntry_DoNotUse& other); - static const PushTaskResResponse_ResultsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_PushTaskResResponse_ResultsEntry_DoNotUse_default_instance_); } - static bool ValidateKey(std::string* s) { - return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "flwr.proto.PushTaskResResponse.ResultsEntry.key"); - } - static bool ValidateValue(void*) { return true; } - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; -}; - -// ------------------------------------------------------------------- - -class PushTaskResResponse final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.PushTaskResResponse) */ { - public: - inline PushTaskResResponse() : PushTaskResResponse(nullptr) {} - ~PushTaskResResponse() override; - explicit constexpr PushTaskResResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - PushTaskResResponse(const PushTaskResResponse& from); - PushTaskResResponse(PushTaskResResponse&& from) noexcept - : PushTaskResResponse() { - *this = ::std::move(from); - } - - inline PushTaskResResponse& operator=(const PushTaskResResponse& from) { - CopyFrom(from); - return *this; - } - inline PushTaskResResponse& operator=(PushTaskResResponse&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - 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 PushTaskResResponse& default_instance() { - return *internal_default_instance(); - } - static inline const PushTaskResResponse* internal_default_instance() { - return reinterpret_cast( - &_PushTaskResResponse_default_instance_); - } - static constexpr int kIndexInFileMessages = - 10; - - friend void swap(PushTaskResResponse& a, PushTaskResResponse& b) { - a.Swap(&b); - } - inline void Swap(PushTaskResResponse* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(PushTaskResResponse* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline PushTaskResResponse* New() const final { - return new PushTaskResResponse(); - } - - PushTaskResResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const PushTaskResResponse& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const PushTaskResResponse& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); - public: - 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(PushTaskResResponse* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "flwr.proto.PushTaskResResponse"; - } - protected: - explicit PushTaskResResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - - // accessors ------------------------------------------------------- - - enum : int { - kResultsFieldNumber = 2, - kReconnectFieldNumber = 1, - }; - // map results = 2; - int results_size() const; - private: - int _internal_results_size() const; - public: - void clear_results(); - private: - const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >& - _internal_results() const; - ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >* - _internal_mutable_results(); - public: - const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >& - results() const; - ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >* - mutable_results(); - - // .flwr.proto.Reconnect reconnect = 1; - bool has_reconnect() const; - private: - bool _internal_has_reconnect() const; - public: - void clear_reconnect(); - const ::flwr::proto::Reconnect& reconnect() const; - PROTOBUF_MUST_USE_RESULT ::flwr::proto::Reconnect* release_reconnect(); - ::flwr::proto::Reconnect* mutable_reconnect(); - void set_allocated_reconnect(::flwr::proto::Reconnect* reconnect); - private: - const ::flwr::proto::Reconnect& _internal_reconnect() const; - ::flwr::proto::Reconnect* _internal_mutable_reconnect(); - public: - void unsafe_arena_set_allocated_reconnect( - ::flwr::proto::Reconnect* reconnect); - ::flwr::proto::Reconnect* unsafe_arena_release_reconnect(); - - // @@protoc_insertion_point(class_scope:flwr.proto.PushTaskResResponse) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::MapField< - PushTaskResResponse_ResultsEntry_DoNotUse, - std::string, ::PROTOBUF_NAMESPACE_ID::uint32, - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32> results_; - ::flwr::proto::Reconnect* reconnect_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_flwr_2fproto_2ffleet_2eproto; -}; -// ------------------------------------------------------------------- - -class Run final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.Run) */ { - public: - inline Run() : Run(nullptr) {} - ~Run() override; - explicit constexpr Run(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - Run(const Run& from); - Run(Run&& from) noexcept - : Run() { - *this = ::std::move(from); - } - - inline Run& operator=(const Run& from) { - CopyFrom(from); - return *this; - } - inline Run& operator=(Run&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - 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 Run& default_instance() { - return *internal_default_instance(); - } - static inline const Run* internal_default_instance() { - return reinterpret_cast( - &_Run_default_instance_); - } - static constexpr int kIndexInFileMessages = - 11; - - friend void swap(Run& a, Run& b) { - a.Swap(&b); - } - inline void Swap(Run* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(Run* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline Run* New() const final { - return new Run(); - } - - Run* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Run& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const Run& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); - public: - 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(Run* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "flwr.proto.Run"; - } - protected: - explicit Run(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kFabIdFieldNumber = 2, - kFabVersionFieldNumber = 3, - kRunIdFieldNumber = 1, - }; - // string fab_id = 2; - void clear_fab_id(); - const std::string& fab_id() const; - template - void set_fab_id(ArgT0&& arg0, ArgT... args); - std::string* mutable_fab_id(); - PROTOBUF_MUST_USE_RESULT std::string* release_fab_id(); - void set_allocated_fab_id(std::string* fab_id); - private: - const std::string& _internal_fab_id() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_fab_id(const std::string& value); - std::string* _internal_mutable_fab_id(); - public: - - // string fab_version = 3; - void clear_fab_version(); - const std::string& fab_version() const; - template - void set_fab_version(ArgT0&& arg0, ArgT... args); - std::string* mutable_fab_version(); - PROTOBUF_MUST_USE_RESULT std::string* release_fab_version(); - void set_allocated_fab_version(std::string* fab_version); - private: - const std::string& _internal_fab_version() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_fab_version(const std::string& value); - std::string* _internal_mutable_fab_version(); - public: - - // sint64 run_id = 1; - void clear_run_id(); - ::PROTOBUF_NAMESPACE_ID::int64 run_id() const; - void set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value); - private: - ::PROTOBUF_NAMESPACE_ID::int64 _internal_run_id() const; - void _internal_set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value); - public: - - // @@protoc_insertion_point(class_scope:flwr.proto.Run) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fab_id_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fab_version_; - ::PROTOBUF_NAMESPACE_ID::int64 run_id_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_flwr_2fproto_2ffleet_2eproto; -}; -// ------------------------------------------------------------------- - -class GetRunRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.GetRunRequest) */ { - public: - inline GetRunRequest() : GetRunRequest(nullptr) {} - ~GetRunRequest() override; - explicit constexpr GetRunRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - GetRunRequest(const GetRunRequest& from); - GetRunRequest(GetRunRequest&& from) noexcept - : GetRunRequest() { - *this = ::std::move(from); - } - - inline GetRunRequest& operator=(const GetRunRequest& from) { - CopyFrom(from); - return *this; - } - inline GetRunRequest& operator=(GetRunRequest&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - 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 GetRunRequest& default_instance() { - return *internal_default_instance(); - } - static inline const GetRunRequest* internal_default_instance() { - return reinterpret_cast( - &_GetRunRequest_default_instance_); - } - static constexpr int kIndexInFileMessages = - 12; - - friend void swap(GetRunRequest& a, GetRunRequest& b) { - a.Swap(&b); - } - inline void Swap(GetRunRequest* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(GetRunRequest* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline GetRunRequest* New() const final { - return new GetRunRequest(); - } - - GetRunRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const GetRunRequest& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const GetRunRequest& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); - public: - 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(GetRunRequest* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "flwr.proto.GetRunRequest"; - } - protected: - explicit GetRunRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kRunIdFieldNumber = 1, - }; - // sint64 run_id = 1; - void clear_run_id(); - ::PROTOBUF_NAMESPACE_ID::int64 run_id() const; - void set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value); - private: - ::PROTOBUF_NAMESPACE_ID::int64 _internal_run_id() const; - void _internal_set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value); - public: - - // @@protoc_insertion_point(class_scope:flwr.proto.GetRunRequest) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::int64 run_id_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_flwr_2fproto_2ffleet_2eproto; + void MergeFrom(const PushTaskResResponse_ResultsEntry_DoNotUse& other); + static const PushTaskResResponse_ResultsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_PushTaskResResponse_ResultsEntry_DoNotUse_default_instance_); } + static bool ValidateKey(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "flwr.proto.PushTaskResResponse.ResultsEntry.key"); + } + static bool ValidateValue(void*) { return true; } + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; }; + // ------------------------------------------------------------------- -class GetRunResponse final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.GetRunResponse) */ { +class PushTaskResResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.PushTaskResResponse) */ { public: - inline GetRunResponse() : GetRunResponse(nullptr) {} - ~GetRunResponse() override; - explicit constexpr GetRunResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline PushTaskResResponse() : PushTaskResResponse(nullptr) {} + ~PushTaskResResponse() override; + explicit constexpr PushTaskResResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - GetRunResponse(const GetRunResponse& from); - GetRunResponse(GetRunResponse&& from) noexcept - : GetRunResponse() { + PushTaskResResponse(const PushTaskResResponse& from); + PushTaskResResponse(PushTaskResResponse&& from) noexcept + : PushTaskResResponse() { *this = ::std::move(from); } - inline GetRunResponse& operator=(const GetRunResponse& from) { + inline PushTaskResResponse& operator=(const PushTaskResResponse& from) { CopyFrom(from); return *this; } - inline GetRunResponse& operator=(GetRunResponse&& from) noexcept { + inline PushTaskResResponse& operator=(PushTaskResResponse&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -2059,20 +1575,20 @@ class GetRunResponse final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const GetRunResponse& default_instance() { + static const PushTaskResResponse& default_instance() { return *internal_default_instance(); } - static inline const GetRunResponse* internal_default_instance() { - return reinterpret_cast( - &_GetRunResponse_default_instance_); + static inline const PushTaskResResponse* internal_default_instance() { + return reinterpret_cast( + &_PushTaskResResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 13; + 10; - friend void swap(GetRunResponse& a, GetRunResponse& b) { + friend void swap(PushTaskResResponse& a, PushTaskResResponse& b) { a.Swap(&b); } - inline void Swap(GetRunResponse* other) { + inline void Swap(PushTaskResResponse* other) { if (other == this) return; if (GetOwningArena() == other->GetOwningArena()) { InternalSwap(other); @@ -2080,7 +1596,7 @@ class GetRunResponse final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(GetRunResponse* other) { + void UnsafeArenaSwap(PushTaskResResponse* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -2088,17 +1604,17 @@ class GetRunResponse final : // implements Message ---------------------------------------------- - inline GetRunResponse* New() const final { - return new GetRunResponse(); + inline PushTaskResResponse* New() const final { + return new PushTaskResResponse(); } - GetRunResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); + PushTaskResResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const GetRunResponse& from); + void CopyFrom(const PushTaskResResponse& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const GetRunResponse& from); + void MergeFrom(const PushTaskResResponse& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -2115,13 +1631,13 @@ class GetRunResponse final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(GetRunResponse* other); + void InternalSwap(PushTaskResResponse* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "flwr.proto.GetRunResponse"; + return "flwr.proto.PushTaskResResponse"; } protected: - explicit GetRunResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit PushTaskResResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -2135,37 +1651,61 @@ class GetRunResponse final : // nested types ---------------------------------------------------- + // accessors ------------------------------------------------------- enum : int { - kRunFieldNumber = 1, + kResultsFieldNumber = 2, + kReconnectFieldNumber = 1, }; - // .flwr.proto.Run run = 1; - bool has_run() const; + // map results = 2; + int results_size() const; + private: + int _internal_results_size() const; + public: + void clear_results(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >& + _internal_results() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >* + _internal_mutable_results(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >& + results() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >* + mutable_results(); + + // .flwr.proto.Reconnect reconnect = 1; + bool has_reconnect() const; private: - bool _internal_has_run() const; + bool _internal_has_reconnect() const; public: - void clear_run(); - const ::flwr::proto::Run& run() const; - PROTOBUF_MUST_USE_RESULT ::flwr::proto::Run* release_run(); - ::flwr::proto::Run* mutable_run(); - void set_allocated_run(::flwr::proto::Run* run); + void clear_reconnect(); + const ::flwr::proto::Reconnect& reconnect() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::Reconnect* release_reconnect(); + ::flwr::proto::Reconnect* mutable_reconnect(); + void set_allocated_reconnect(::flwr::proto::Reconnect* reconnect); private: - const ::flwr::proto::Run& _internal_run() const; - ::flwr::proto::Run* _internal_mutable_run(); + const ::flwr::proto::Reconnect& _internal_reconnect() const; + ::flwr::proto::Reconnect* _internal_mutable_reconnect(); public: - void unsafe_arena_set_allocated_run( - ::flwr::proto::Run* run); - ::flwr::proto::Run* unsafe_arena_release_run(); + void unsafe_arena_set_allocated_reconnect( + ::flwr::proto::Reconnect* reconnect); + ::flwr::proto::Reconnect* unsafe_arena_release_reconnect(); - // @@protoc_insertion_point(class_scope:flwr.proto.GetRunResponse) + // @@protoc_insertion_point(class_scope:flwr.proto.PushTaskResResponse) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::flwr::proto::Run* run_; + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + PushTaskResResponse_ResultsEntry_DoNotUse, + std::string, ::PROTOBUF_NAMESPACE_ID::uint32, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32> results_; + ::flwr::proto::Reconnect* reconnect_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_flwr_2fproto_2ffleet_2eproto; }; @@ -2219,7 +1759,7 @@ class Reconnect final : &_Reconnect_default_instance_); } static constexpr int kIndexInFileMessages = - 14; + 11; friend void swap(Reconnect& a, Reconnect& b) { a.Swap(&b); @@ -2961,7 +2501,93 @@ PullTaskInsResponse::task_ins_list() const { // PushTaskResRequest -// repeated .flwr.proto.TaskRes task_res_list = 1; +// .flwr.proto.Node node = 1; +inline bool PushTaskResRequest::_internal_has_node() const { + return this != internal_default_instance() && node_ != nullptr; +} +inline bool PushTaskResRequest::has_node() const { + return _internal_has_node(); +} +inline const ::flwr::proto::Node& PushTaskResRequest::_internal_node() const { + const ::flwr::proto::Node* p = node_; + return p != nullptr ? *p : reinterpret_cast( + ::flwr::proto::_Node_default_instance_); +} +inline const ::flwr::proto::Node& PushTaskResRequest::node() const { + // @@protoc_insertion_point(field_get:flwr.proto.PushTaskResRequest.node) + return _internal_node(); +} +inline void PushTaskResRequest::unsafe_arena_set_allocated_node( + ::flwr::proto::Node* node) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(node_); + } + node_ = node; + if (node) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.PushTaskResRequest.node) +} +inline ::flwr::proto::Node* PushTaskResRequest::release_node() { + + ::flwr::proto::Node* temp = node_; + node_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::flwr::proto::Node* PushTaskResRequest::unsafe_arena_release_node() { + // @@protoc_insertion_point(field_release:flwr.proto.PushTaskResRequest.node) + + ::flwr::proto::Node* temp = node_; + node_ = nullptr; + return temp; +} +inline ::flwr::proto::Node* PushTaskResRequest::_internal_mutable_node() { + + if (node_ == nullptr) { + auto* p = CreateMaybeMessage<::flwr::proto::Node>(GetArenaForAllocation()); + node_ = p; + } + return node_; +} +inline ::flwr::proto::Node* PushTaskResRequest::mutable_node() { + ::flwr::proto::Node* _msg = _internal_mutable_node(); + // @@protoc_insertion_point(field_mutable:flwr.proto.PushTaskResRequest.node) + return _msg; +} +inline void PushTaskResRequest::set_allocated_node(::flwr::proto::Node* node) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(node_); + } + if (node) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(node)); + if (message_arena != submessage_arena) { + node = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, node, submessage_arena); + } + + } else { + + } + node_ = node; + // @@protoc_insertion_point(field_set_allocated:flwr.proto.PushTaskResRequest.node) +} + +// repeated .flwr.proto.TaskRes task_res_list = 2; inline int PushTaskResRequest::_internal_task_res_list_size() const { return task_res_list_.size(); } @@ -3125,240 +2751,6 @@ PushTaskResResponse::mutable_results() { // ------------------------------------------------------------------- -// Run - -// sint64 run_id = 1; -inline void Run::clear_run_id() { - run_id_ = int64_t{0}; -} -inline ::PROTOBUF_NAMESPACE_ID::int64 Run::_internal_run_id() const { - return run_id_; -} -inline ::PROTOBUF_NAMESPACE_ID::int64 Run::run_id() const { - // @@protoc_insertion_point(field_get:flwr.proto.Run.run_id) - return _internal_run_id(); -} -inline void Run::_internal_set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value) { - - run_id_ = value; -} -inline void Run::set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value) { - _internal_set_run_id(value); - // @@protoc_insertion_point(field_set:flwr.proto.Run.run_id) -} - -// string fab_id = 2; -inline void Run::clear_fab_id() { - fab_id_.ClearToEmpty(); -} -inline const std::string& Run::fab_id() const { - // @@protoc_insertion_point(field_get:flwr.proto.Run.fab_id) - return _internal_fab_id(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void Run::set_fab_id(ArgT0&& arg0, ArgT... args) { - - fab_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:flwr.proto.Run.fab_id) -} -inline std::string* Run::mutable_fab_id() { - std::string* _s = _internal_mutable_fab_id(); - // @@protoc_insertion_point(field_mutable:flwr.proto.Run.fab_id) - return _s; -} -inline const std::string& Run::_internal_fab_id() const { - return fab_id_.Get(); -} -inline void Run::_internal_set_fab_id(const std::string& value) { - - fab_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* Run::_internal_mutable_fab_id() { - - return fab_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* Run::release_fab_id() { - // @@protoc_insertion_point(field_release:flwr.proto.Run.fab_id) - return fab_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void Run::set_allocated_fab_id(std::string* fab_id) { - if (fab_id != nullptr) { - - } else { - - } - fab_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), fab_id, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:flwr.proto.Run.fab_id) -} - -// string fab_version = 3; -inline void Run::clear_fab_version() { - fab_version_.ClearToEmpty(); -} -inline const std::string& Run::fab_version() const { - // @@protoc_insertion_point(field_get:flwr.proto.Run.fab_version) - return _internal_fab_version(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void Run::set_fab_version(ArgT0&& arg0, ArgT... args) { - - fab_version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:flwr.proto.Run.fab_version) -} -inline std::string* Run::mutable_fab_version() { - std::string* _s = _internal_mutable_fab_version(); - // @@protoc_insertion_point(field_mutable:flwr.proto.Run.fab_version) - return _s; -} -inline const std::string& Run::_internal_fab_version() const { - return fab_version_.Get(); -} -inline void Run::_internal_set_fab_version(const std::string& value) { - - fab_version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* Run::_internal_mutable_fab_version() { - - return fab_version_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* Run::release_fab_version() { - // @@protoc_insertion_point(field_release:flwr.proto.Run.fab_version) - return fab_version_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void Run::set_allocated_fab_version(std::string* fab_version) { - if (fab_version != nullptr) { - - } else { - - } - fab_version_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), fab_version, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:flwr.proto.Run.fab_version) -} - -// ------------------------------------------------------------------- - -// GetRunRequest - -// sint64 run_id = 1; -inline void GetRunRequest::clear_run_id() { - run_id_ = int64_t{0}; -} -inline ::PROTOBUF_NAMESPACE_ID::int64 GetRunRequest::_internal_run_id() const { - return run_id_; -} -inline ::PROTOBUF_NAMESPACE_ID::int64 GetRunRequest::run_id() const { - // @@protoc_insertion_point(field_get:flwr.proto.GetRunRequest.run_id) - return _internal_run_id(); -} -inline void GetRunRequest::_internal_set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value) { - - run_id_ = value; -} -inline void GetRunRequest::set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value) { - _internal_set_run_id(value); - // @@protoc_insertion_point(field_set:flwr.proto.GetRunRequest.run_id) -} - -// ------------------------------------------------------------------- - -// GetRunResponse - -// .flwr.proto.Run run = 1; -inline bool GetRunResponse::_internal_has_run() const { - return this != internal_default_instance() && run_ != nullptr; -} -inline bool GetRunResponse::has_run() const { - return _internal_has_run(); -} -inline void GetRunResponse::clear_run() { - if (GetArenaForAllocation() == nullptr && run_ != nullptr) { - delete run_; - } - run_ = nullptr; -} -inline const ::flwr::proto::Run& GetRunResponse::_internal_run() const { - const ::flwr::proto::Run* p = run_; - return p != nullptr ? *p : reinterpret_cast( - ::flwr::proto::_Run_default_instance_); -} -inline const ::flwr::proto::Run& GetRunResponse::run() const { - // @@protoc_insertion_point(field_get:flwr.proto.GetRunResponse.run) - return _internal_run(); -} -inline void GetRunResponse::unsafe_arena_set_allocated_run( - ::flwr::proto::Run* run) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(run_); - } - run_ = run; - if (run) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.GetRunResponse.run) -} -inline ::flwr::proto::Run* GetRunResponse::release_run() { - - ::flwr::proto::Run* temp = run_; - run_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::flwr::proto::Run* GetRunResponse::unsafe_arena_release_run() { - // @@protoc_insertion_point(field_release:flwr.proto.GetRunResponse.run) - - ::flwr::proto::Run* temp = run_; - run_ = nullptr; - return temp; -} -inline ::flwr::proto::Run* GetRunResponse::_internal_mutable_run() { - - if (run_ == nullptr) { - auto* p = CreateMaybeMessage<::flwr::proto::Run>(GetArenaForAllocation()); - run_ = p; - } - return run_; -} -inline ::flwr::proto::Run* GetRunResponse::mutable_run() { - ::flwr::proto::Run* _msg = _internal_mutable_run(); - // @@protoc_insertion_point(field_mutable:flwr.proto.GetRunResponse.run) - return _msg; -} -inline void GetRunResponse::set_allocated_run(::flwr::proto::Run* run) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete run_; - } - if (run) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::flwr::proto::Run>::GetOwningArena(run); - if (message_arena != submessage_arena) { - run = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, run, submessage_arena); - } - - } else { - - } - run_ = run; - // @@protoc_insertion_point(field_set_allocated:flwr.proto.GetRunResponse.run) -} - -// ------------------------------------------------------------------- - // Reconnect // uint64 reconnect = 1; @@ -3406,12 +2798,6 @@ inline void Reconnect::set_reconnect(::PROTOBUF_NAMESPACE_ID::uint64 value) { // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) diff --git a/framework/src/cc/flwr/include/flwr/proto/node.pb.cc b/framework/src/cc/flwr/include/flwr/proto/node.pb.cc index 9b59af028685..a5ec814f774b 100644 --- a/framework/src/cc/flwr/include/flwr/proto/node.pb.cc +++ b/framework/src/cc/flwr/include/flwr/proto/node.pb.cc @@ -20,7 +20,7 @@ namespace flwr { namespace proto { constexpr Node::Node( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : node_id_(int64_t{0}) + : node_id_(uint64_t{0u}) , anonymous_(false){} struct NodeDefaultTypeInternal { constexpr NodeDefaultTypeInternal() @@ -57,7 +57,7 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = const char descriptor_table_protodef_flwr_2fproto_2fnode_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\025flwr/proto/node.proto\022\nflwr.proto\"*\n\004N" - "ode\022\017\n\007node_id\030\001 \001(\022\022\021\n\tanonymous\030\002 \001(\010b" + "ode\022\017\n\007node_id\030\001 \001(\004\022\021\n\tanonymous\030\002 \001(\010b" "\006proto3" ; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_flwr_2fproto_2fnode_2eproto_once; @@ -146,10 +146,10 @@ const char* Node::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::inter ::PROTOBUF_NAMESPACE_ID::uint32 tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // sint64 node_id = 1; + // uint64 node_id = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { - node_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarintZigZag64(&ptr); + node_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; @@ -191,10 +191,10 @@ ::PROTOBUF_NAMESPACE_ID::uint8* Node::_InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - // sint64 node_id = 1; + // uint64 node_id = 1; if (this->_internal_node_id() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteSInt64ToArray(1, this->_internal_node_id(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_node_id(), target); } // bool anonymous = 2; @@ -219,9 +219,9 @@ size_t Node::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // sint64 node_id = 1; + // uint64 node_id = 1; if (this->_internal_node_id() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SInt64SizePlusOne(this->_internal_node_id()); + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_node_id()); } // bool anonymous = 2; diff --git a/framework/src/cc/flwr/include/flwr/proto/node.pb.h b/framework/src/cc/flwr/include/flwr/proto/node.pb.h index 1177959ce599..1a40e8248c72 100644 --- a/framework/src/cc/flwr/include/flwr/proto/node.pb.h +++ b/framework/src/cc/flwr/include/flwr/proto/node.pb.h @@ -190,13 +190,13 @@ class Node final : kNodeIdFieldNumber = 1, kAnonymousFieldNumber = 2, }; - // sint64 node_id = 1; + // uint64 node_id = 1; void clear_node_id(); - ::PROTOBUF_NAMESPACE_ID::int64 node_id() const; - void set_node_id(::PROTOBUF_NAMESPACE_ID::int64 value); + ::PROTOBUF_NAMESPACE_ID::uint64 node_id() const; + void set_node_id(::PROTOBUF_NAMESPACE_ID::uint64 value); private: - ::PROTOBUF_NAMESPACE_ID::int64 _internal_node_id() const; - void _internal_set_node_id(::PROTOBUF_NAMESPACE_ID::int64 value); + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_node_id() const; + void _internal_set_node_id(::PROTOBUF_NAMESPACE_ID::uint64 value); public: // bool anonymous = 2; @@ -215,7 +215,7 @@ class Node final : template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::int64 node_id_; + ::PROTOBUF_NAMESPACE_ID::uint64 node_id_; bool anonymous_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_flwr_2fproto_2fnode_2eproto; @@ -231,22 +231,22 @@ class Node final : #endif // __GNUC__ // Node -// sint64 node_id = 1; +// uint64 node_id = 1; inline void Node::clear_node_id() { - node_id_ = int64_t{0}; + node_id_ = uint64_t{0u}; } -inline ::PROTOBUF_NAMESPACE_ID::int64 Node::_internal_node_id() const { +inline ::PROTOBUF_NAMESPACE_ID::uint64 Node::_internal_node_id() const { return node_id_; } -inline ::PROTOBUF_NAMESPACE_ID::int64 Node::node_id() const { +inline ::PROTOBUF_NAMESPACE_ID::uint64 Node::node_id() const { // @@protoc_insertion_point(field_get:flwr.proto.Node.node_id) return _internal_node_id(); } -inline void Node::_internal_set_node_id(::PROTOBUF_NAMESPACE_ID::int64 value) { +inline void Node::_internal_set_node_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { node_id_ = value; } -inline void Node::set_node_id(::PROTOBUF_NAMESPACE_ID::int64 value) { +inline void Node::set_node_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { _internal_set_node_id(value); // @@protoc_insertion_point(field_set:flwr.proto.Node.node_id) } diff --git a/framework/src/cc/flwr/include/flwr/proto/recordset.pb.cc b/framework/src/cc/flwr/include/flwr/proto/recordset.pb.cc index a7cf72084d7a..c7d29a8f033d 100644 --- a/framework/src/cc/flwr/include/flwr/proto/recordset.pb.cc +++ b/framework/src/cc/flwr/include/flwr/proto/recordset.pb.cc @@ -30,19 +30,32 @@ struct DoubleListDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DoubleListDefaultTypeInternal _DoubleList_default_instance_; -constexpr Sint64List::Sint64List( +constexpr SintList::SintList( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) : vals_() , _vals_cached_byte_size_(0){} -struct Sint64ListDefaultTypeInternal { - constexpr Sint64ListDefaultTypeInternal() +struct SintListDefaultTypeInternal { + constexpr SintListDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~Sint64ListDefaultTypeInternal() {} + ~SintListDefaultTypeInternal() {} union { - Sint64List _instance; + SintList _instance; }; }; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT Sint64ListDefaultTypeInternal _Sint64List_default_instance_; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SintListDefaultTypeInternal _SintList_default_instance_; +constexpr UintList::UintList( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : vals_() + , _vals_cached_byte_size_(0){} +struct UintListDefaultTypeInternal { + constexpr UintListDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~UintListDefaultTypeInternal() {} + union { + UintList _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UintListDefaultTypeInternal _UintList_default_instance_; constexpr BoolList::BoolList( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) : vals_(){} @@ -227,7 +240,7 @@ struct RecordSetDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RecordSetDefaultTypeInternal _RecordSet_default_instance_; } // namespace proto } // namespace flwr -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_flwr_2fproto_2frecordset_2eproto[17]; +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_flwr_2fproto_2frecordset_2eproto[18]; static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_flwr_2fproto_2frecordset_2eproto = nullptr; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_flwr_2fproto_2frecordset_2eproto = nullptr; @@ -240,12 +253,19 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_flwr_2fproto_2frecordset_2epro ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::flwr::proto::DoubleList, vals_), ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::flwr::proto::Sint64List, _internal_metadata_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::SintList, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ - PROTOBUF_FIELD_OFFSET(::flwr::proto::Sint64List, vals_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::SintList, vals_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::UintList, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::UintList, vals_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flwr::proto::BoolList, _internal_metadata_), ~0u, // no _extensions_ @@ -287,6 +307,8 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_flwr_2fproto_2frecordset_2epro ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, PROTOBUF_FIELD_OFFSET(::flwr::proto::MetricsRecordValue, value_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flwr::proto::ConfigsRecordValue, _internal_metadata_), @@ -304,6 +326,8 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_flwr_2fproto_2frecordset_2epro ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, PROTOBUF_FIELD_OFFSET(::flwr::proto::ConfigsRecordValue, value_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flwr::proto::ParametersRecord, _internal_metadata_), @@ -389,27 +413,29 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_flwr_2fproto_2frecordset_2epro }; static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::flwr::proto::DoubleList)}, - { 7, -1, -1, sizeof(::flwr::proto::Sint64List)}, - { 14, -1, -1, sizeof(::flwr::proto::BoolList)}, - { 21, -1, -1, sizeof(::flwr::proto::StringList)}, - { 28, -1, -1, sizeof(::flwr::proto::BytesList)}, - { 35, -1, -1, sizeof(::flwr::proto::Array)}, - { 45, -1, -1, sizeof(::flwr::proto::MetricsRecordValue)}, - { 56, -1, -1, sizeof(::flwr::proto::ConfigsRecordValue)}, - { 73, -1, -1, sizeof(::flwr::proto::ParametersRecord)}, - { 81, 89, -1, sizeof(::flwr::proto::MetricsRecord_DataEntry_DoNotUse)}, - { 91, -1, -1, sizeof(::flwr::proto::MetricsRecord)}, - { 98, 106, -1, sizeof(::flwr::proto::ConfigsRecord_DataEntry_DoNotUse)}, - { 108, -1, -1, sizeof(::flwr::proto::ConfigsRecord)}, - { 115, 123, -1, sizeof(::flwr::proto::RecordSet_ParametersEntry_DoNotUse)}, - { 125, 133, -1, sizeof(::flwr::proto::RecordSet_MetricsEntry_DoNotUse)}, - { 135, 143, -1, sizeof(::flwr::proto::RecordSet_ConfigsEntry_DoNotUse)}, - { 145, -1, -1, sizeof(::flwr::proto::RecordSet)}, + { 7, -1, -1, sizeof(::flwr::proto::SintList)}, + { 14, -1, -1, sizeof(::flwr::proto::UintList)}, + { 21, -1, -1, sizeof(::flwr::proto::BoolList)}, + { 28, -1, -1, sizeof(::flwr::proto::StringList)}, + { 35, -1, -1, sizeof(::flwr::proto::BytesList)}, + { 42, -1, -1, sizeof(::flwr::proto::Array)}, + { 52, -1, -1, sizeof(::flwr::proto::MetricsRecordValue)}, + { 65, -1, -1, sizeof(::flwr::proto::ConfigsRecordValue)}, + { 84, -1, -1, sizeof(::flwr::proto::ParametersRecord)}, + { 92, 100, -1, sizeof(::flwr::proto::MetricsRecord_DataEntry_DoNotUse)}, + { 102, -1, -1, sizeof(::flwr::proto::MetricsRecord)}, + { 109, 117, -1, sizeof(::flwr::proto::ConfigsRecord_DataEntry_DoNotUse)}, + { 119, -1, -1, sizeof(::flwr::proto::ConfigsRecord)}, + { 126, 134, -1, sizeof(::flwr::proto::RecordSet_ParametersEntry_DoNotUse)}, + { 136, 144, -1, sizeof(::flwr::proto::RecordSet_MetricsEntry_DoNotUse)}, + { 146, 154, -1, sizeof(::flwr::proto::RecordSet_ConfigsEntry_DoNotUse)}, + { 156, -1, -1, sizeof(::flwr::proto::RecordSet)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { reinterpret_cast(&::flwr::proto::_DoubleList_default_instance_), - reinterpret_cast(&::flwr::proto::_Sint64List_default_instance_), + reinterpret_cast(&::flwr::proto::_SintList_default_instance_), + reinterpret_cast(&::flwr::proto::_UintList_default_instance_), reinterpret_cast(&::flwr::proto::_BoolList_default_instance_), reinterpret_cast(&::flwr::proto::_StringList_default_instance_), reinterpret_cast(&::flwr::proto::_BytesList_default_instance_), @@ -429,49 +455,53 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = const char descriptor_table_protodef_flwr_2fproto_2frecordset_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\032flwr/proto/recordset.proto\022\nflwr.proto" - "\"\032\n\nDoubleList\022\014\n\004vals\030\001 \003(\001\"\032\n\nSint64Li" - "st\022\014\n\004vals\030\001 \003(\022\"\030\n\010BoolList\022\014\n\004vals\030\001 \003" - "(\010\"\032\n\nStringList\022\014\n\004vals\030\001 \003(\t\"\031\n\tBytesL" - "ist\022\014\n\004vals\030\001 \003(\014\"B\n\005Array\022\r\n\005dtype\030\001 \001(" - "\t\022\r\n\005shape\030\002 \003(\005\022\r\n\005stype\030\003 \001(\t\022\014\n\004data\030" - "\004 \001(\014\"\237\001\n\022MetricsRecordValue\022\020\n\006double\030\001" - " \001(\001H\000\022\020\n\006sint64\030\002 \001(\022H\000\022-\n\013double_list\030" - "\025 \001(\0132\026.flwr.proto.DoubleListH\000\022-\n\013sint6" - "4_list\030\026 \001(\0132\026.flwr.proto.Sint64ListH\000B\007" - "\n\005value\"\331\002\n\022ConfigsRecordValue\022\020\n\006double" - "\030\001 \001(\001H\000\022\020\n\006sint64\030\002 \001(\022H\000\022\016\n\004bool\030\003 \001(\010" - "H\000\022\020\n\006string\030\004 \001(\tH\000\022\017\n\005bytes\030\005 \001(\014H\000\022-\n" - "\013double_list\030\025 \001(\0132\026.flwr.proto.DoubleLi" - "stH\000\022-\n\013sint64_list\030\026 \001(\0132\026.flwr.proto.S" - "int64ListH\000\022)\n\tbool_list\030\027 \001(\0132\024.flwr.pr" - "oto.BoolListH\000\022-\n\013string_list\030\030 \001(\0132\026.fl" - "wr.proto.StringListH\000\022+\n\nbytes_list\030\031 \001(" - "\0132\025.flwr.proto.BytesListH\000B\007\n\005value\"M\n\020P" - "arametersRecord\022\021\n\tdata_keys\030\001 \003(\t\022&\n\013da" - "ta_values\030\002 \003(\0132\021.flwr.proto.Array\"\217\001\n\rM" - "etricsRecord\0221\n\004data\030\001 \003(\0132#.flwr.proto." - "MetricsRecord.DataEntry\032K\n\tDataEntry\022\013\n\003" - "key\030\001 \001(\t\022-\n\005value\030\002 \001(\0132\036.flwr.proto.Me" - "tricsRecordValue:\0028\001\"\217\001\n\rConfigsRecord\0221" - "\n\004data\030\001 \003(\0132#.flwr.proto.ConfigsRecord." - "DataEntry\032K\n\tDataEntry\022\013\n\003key\030\001 \001(\t\022-\n\005v" - "alue\030\002 \001(\0132\036.flwr.proto.ConfigsRecordVal" - "ue:\0028\001\"\227\003\n\tRecordSet\0229\n\nparameters\030\001 \003(\013" - "2%.flwr.proto.RecordSet.ParametersEntry\022" - "3\n\007metrics\030\002 \003(\0132\".flwr.proto.RecordSet." - "MetricsEntry\0223\n\007configs\030\003 \003(\0132\".flwr.pro" - "to.RecordSet.ConfigsEntry\032O\n\017ParametersE" - "ntry\022\013\n\003key\030\001 \001(\t\022+\n\005value\030\002 \001(\0132\034.flwr." - "proto.ParametersRecord:\0028\001\032I\n\014MetricsEnt" - "ry\022\013\n\003key\030\001 \001(\t\022(\n\005value\030\002 \001(\0132\031.flwr.pr" - "oto.MetricsRecord:\0028\001\032I\n\014ConfigsEntry\022\013\n" - "\003key\030\001 \001(\t\022(\n\005value\030\002 \001(\0132\031.flwr.proto.C" - "onfigsRecord:\0028\001b\006proto3" + "\"\032\n\nDoubleList\022\014\n\004vals\030\001 \003(\001\"\030\n\010SintList" + "\022\014\n\004vals\030\001 \003(\022\"\030\n\010UintList\022\014\n\004vals\030\001 \003(\004" + "\"\030\n\010BoolList\022\014\n\004vals\030\001 \003(\010\"\032\n\nStringList" + "\022\014\n\004vals\030\001 \003(\t\"\031\n\tBytesList\022\014\n\004vals\030\001 \003(" + "\014\"B\n\005Array\022\r\n\005dtype\030\001 \001(\t\022\r\n\005shape\030\002 \003(\005" + "\022\r\n\005stype\030\003 \001(\t\022\014\n\004data\030\004 \001(\014\"\330\001\n\022Metric" + "sRecordValue\022\020\n\006double\030\001 \001(\001H\000\022\020\n\006sint64" + "\030\002 \001(\022H\000\022\020\n\006uint64\030\003 \001(\004H\000\022-\n\013double_lis" + "t\030\025 \001(\0132\026.flwr.proto.DoubleListH\000\022)\n\tsin" + "t_list\030\026 \001(\0132\024.flwr.proto.SintListH\000\022)\n\t" + "uint_list\030\027 \001(\0132\024.flwr.proto.UintListH\000B" + "\007\n\005value\"\222\003\n\022ConfigsRecordValue\022\020\n\006doubl" + "e\030\001 \001(\001H\000\022\020\n\006sint64\030\002 \001(\022H\000\022\020\n\006uint64\030\003 " + "\001(\004H\000\022\016\n\004bool\030\004 \001(\010H\000\022\020\n\006string\030\005 \001(\tH\000\022" + "\017\n\005bytes\030\006 \001(\014H\000\022-\n\013double_list\030\025 \001(\0132\026." + "flwr.proto.DoubleListH\000\022)\n\tsint_list\030\026 \001" + "(\0132\024.flwr.proto.SintListH\000\022)\n\tuint_list\030" + "\027 \001(\0132\024.flwr.proto.UintListH\000\022)\n\tbool_li" + "st\030\030 \001(\0132\024.flwr.proto.BoolListH\000\022-\n\013stri" + "ng_list\030\031 \001(\0132\026.flwr.proto.StringListH\000\022" + "+\n\nbytes_list\030\032 \001(\0132\025.flwr.proto.BytesLi" + "stH\000B\007\n\005value\"M\n\020ParametersRecord\022\021\n\tdat" + "a_keys\030\001 \003(\t\022&\n\013data_values\030\002 \003(\0132\021.flwr" + ".proto.Array\"\217\001\n\rMetricsRecord\0221\n\004data\030\001" + " \003(\0132#.flwr.proto.MetricsRecord.DataEntr" + "y\032K\n\tDataEntry\022\013\n\003key\030\001 \001(\t\022-\n\005value\030\002 \001" + "(\0132\036.flwr.proto.MetricsRecordValue:\0028\001\"\217" + "\001\n\rConfigsRecord\0221\n\004data\030\001 \003(\0132#.flwr.pr" + "oto.ConfigsRecord.DataEntry\032K\n\tDataEntry" + "\022\013\n\003key\030\001 \001(\t\022-\n\005value\030\002 \001(\0132\036.flwr.prot" + "o.ConfigsRecordValue:\0028\001\"\227\003\n\tRecordSet\0229" + "\n\nparameters\030\001 \003(\0132%.flwr.proto.RecordSe" + "t.ParametersEntry\0223\n\007metrics\030\002 \003(\0132\".flw" + "r.proto.RecordSet.MetricsEntry\0223\n\007config" + "s\030\003 \003(\0132\".flwr.proto.RecordSet.ConfigsEn" + "try\032O\n\017ParametersEntry\022\013\n\003key\030\001 \001(\t\022+\n\005v" + "alue\030\002 \001(\0132\034.flwr.proto.ParametersRecord" + ":\0028\001\032I\n\014MetricsEntry\022\013\n\003key\030\001 \001(\t\022(\n\005val" + "ue\030\002 \001(\0132\031.flwr.proto.MetricsRecord:\0028\001\032" + "I\n\014ConfigsEntry\022\013\n\003key\030\001 \001(\t\022(\n\005value\030\002 " + "\001(\0132\031.flwr.proto.ConfigsRecord:\0028\001b\006prot" + "o3" ; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_flwr_2fproto_2frecordset_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_flwr_2fproto_2frecordset_2eproto = { - false, false, 1544, descriptor_table_protodef_flwr_2fproto_2frecordset_2eproto, "flwr/proto/recordset.proto", - &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, nullptr, 0, 17, + false, false, 1682, descriptor_table_protodef_flwr_2fproto_2frecordset_2eproto, "flwr/proto/recordset.proto", + &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, nullptr, 0, 18, schemas, file_default_instances, TableStruct_flwr_2fproto_2frecordset_2eproto::offsets, file_level_metadata_flwr_2fproto_2frecordset_2eproto, file_level_enum_descriptors_flwr_2fproto_2frecordset_2eproto, file_level_service_descriptors_flwr_2fproto_2frecordset_2eproto, }; @@ -671,11 +701,11 @@ ::PROTOBUF_NAMESPACE_ID::Metadata DoubleList::GetMetadata() const { // =================================================================== -class Sint64List::_Internal { +class SintList::_Internal { public: }; -Sint64List::Sint64List(::PROTOBUF_NAMESPACE_ID::Arena* arena, +SintList::SintList(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), vals_(arena) { @@ -683,41 +713,41 @@ Sint64List::Sint64List(::PROTOBUF_NAMESPACE_ID::Arena* arena, if (!is_message_owned) { RegisterArenaDtor(arena); } - // @@protoc_insertion_point(arena_constructor:flwr.proto.Sint64List) + // @@protoc_insertion_point(arena_constructor:flwr.proto.SintList) } -Sint64List::Sint64List(const Sint64List& from) +SintList::SintList(const SintList& from) : ::PROTOBUF_NAMESPACE_ID::Message(), vals_(from.vals_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - // @@protoc_insertion_point(copy_constructor:flwr.proto.Sint64List) + // @@protoc_insertion_point(copy_constructor:flwr.proto.SintList) } -void Sint64List::SharedCtor() { +void SintList::SharedCtor() { } -Sint64List::~Sint64List() { - // @@protoc_insertion_point(destructor:flwr.proto.Sint64List) +SintList::~SintList() { + // @@protoc_insertion_point(destructor:flwr.proto.SintList) if (GetArenaForAllocation() != nullptr) return; SharedDtor(); _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -inline void Sint64List::SharedDtor() { +inline void SintList::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); } -void Sint64List::ArenaDtor(void* object) { - Sint64List* _this = reinterpret_cast< Sint64List* >(object); +void SintList::ArenaDtor(void* object) { + SintList* _this = reinterpret_cast< SintList* >(object); (void)_this; } -void Sint64List::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +void SintList::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { } -void Sint64List::SetCachedSize(int size) const { +void SintList::SetCachedSize(int size) const { _cached_size_.Set(size); } -void Sint64List::Clear() { -// @@protoc_insertion_point(message_clear_start:flwr.proto.Sint64List) +void SintList::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.SintList) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; @@ -726,7 +756,7 @@ void Sint64List::Clear() { _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* Sint64List::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +const char* SintList::_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; @@ -766,9 +796,9 @@ const char* Sint64List::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID: #undef CHK_ } -::PROTOBUF_NAMESPACE_ID::uint8* Sint64List::_InternalSerialize( +::PROTOBUF_NAMESPACE_ID::uint8* SintList::_InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.Sint64List) + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.SintList) ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; @@ -785,12 +815,12 @@ ::PROTOBUF_NAMESPACE_ID::uint8* Sint64List::_InternalSerialize( 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:flwr.proto.Sint64List) + // @@protoc_insertion_point(serialize_to_array_end:flwr.proto.SintList) return target; } -size_t Sint64List::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:flwr.proto.Sint64List) +size_t SintList::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.SintList) size_t total_size = 0; ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; @@ -815,21 +845,21 @@ size_t Sint64List::ByteSizeLong() const { return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Sint64List::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SintList::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - Sint64List::MergeImpl + SintList::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Sint64List::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SintList::GetClassData() const { return &_class_data_; } -void Sint64List::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void SintList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void Sint64List::MergeFrom(const Sint64List& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.Sint64List) +void SintList::MergeFrom(const SintList& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.SintList) GOOGLE_DCHECK_NE(&from, this); ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; @@ -838,24 +868,24 @@ void Sint64List::MergeFrom(const Sint64List& from) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void Sint64List::CopyFrom(const Sint64List& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.Sint64List) +void SintList::CopyFrom(const SintList& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.SintList) if (&from == this) return; Clear(); MergeFrom(from); } -bool Sint64List::IsInitialized() const { +bool SintList::IsInitialized() const { return true; } -void Sint64List::InternalSwap(Sint64List* other) { +void SintList::InternalSwap(SintList* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); vals_.InternalSwap(&other->vals_); } -::PROTOBUF_NAMESPACE_ID::Metadata Sint64List::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata SintList::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, file_level_metadata_flwr_2fproto_2frecordset_2eproto[1]); @@ -863,6 +893,198 @@ ::PROTOBUF_NAMESPACE_ID::Metadata Sint64List::GetMetadata() const { // =================================================================== +class UintList::_Internal { + public: +}; + +UintList::UintList(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + vals_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.UintList) +} +UintList::UintList(const UintList& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + vals_(from.vals_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:flwr.proto.UintList) +} + +void UintList::SharedCtor() { +} + +UintList::~UintList() { + // @@protoc_insertion_point(destructor:flwr.proto.UintList) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void UintList::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void UintList::ArenaDtor(void* object) { + UintList* _this = reinterpret_cast< UintList* >(object); + (void)_this; +} +void UintList::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void UintList::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void UintList::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.UintList) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + vals_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* UintList::_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) { + // repeated uint64 vals = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_vals(), ptr, ctx); + CHK_(ptr); + } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) { + _internal_add_vals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* UintList::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.UintList) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // repeated uint64 vals = 1; + { + int byte_size = _vals_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteUInt64Packed( + 1, _internal_vals(), byte_size, 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:flwr.proto.UintList) + return target; +} + +size_t UintList::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.UintList) + 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 uint64 vals = 1; + { + size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + UInt64Size(this->vals_); + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _vals_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData UintList::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + UintList::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*UintList::GetClassData() const { return &_class_data_; } + +void UintList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void UintList::MergeFrom(const UintList& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.UintList) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + vals_.MergeFrom(from.vals_); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void UintList::CopyFrom(const UintList& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.UintList) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool UintList::IsInitialized() const { + return true; +} + +void UintList::InternalSwap(UintList* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + vals_.InternalSwap(&other->vals_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata UintList::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, + file_level_metadata_flwr_2fproto_2frecordset_2eproto[2]); +} + +// =================================================================== + class BoolList::_Internal { public: }; @@ -1043,7 +1265,7 @@ void BoolList::InternalSwap(BoolList* other) { ::PROTOBUF_NAMESPACE_ID::Metadata BoolList::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[2]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[3]); } // =================================================================== @@ -1233,7 +1455,7 @@ void StringList::InternalSwap(StringList* other) { ::PROTOBUF_NAMESPACE_ID::Metadata StringList::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[3]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[4]); } // =================================================================== @@ -1418,7 +1640,7 @@ void BytesList::InternalSwap(BytesList* other) { ::PROTOBUF_NAMESPACE_ID::Metadata BytesList::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[4]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[5]); } // =================================================================== @@ -1736,7 +1958,7 @@ void Array::InternalSwap(Array* other) { ::PROTOBUF_NAMESPACE_ID::Metadata Array::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[5]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[6]); } // =================================================================== @@ -1744,16 +1966,21 @@ ::PROTOBUF_NAMESPACE_ID::Metadata Array::GetMetadata() const { class MetricsRecordValue::_Internal { public: static const ::flwr::proto::DoubleList& double_list(const MetricsRecordValue* msg); - static const ::flwr::proto::Sint64List& sint64_list(const MetricsRecordValue* msg); + static const ::flwr::proto::SintList& sint_list(const MetricsRecordValue* msg); + static const ::flwr::proto::UintList& uint_list(const MetricsRecordValue* msg); }; const ::flwr::proto::DoubleList& MetricsRecordValue::_Internal::double_list(const MetricsRecordValue* msg) { return *msg->value_.double_list_; } -const ::flwr::proto::Sint64List& -MetricsRecordValue::_Internal::sint64_list(const MetricsRecordValue* msg) { - return *msg->value_.sint64_list_; +const ::flwr::proto::SintList& +MetricsRecordValue::_Internal::sint_list(const MetricsRecordValue* msg) { + return *msg->value_.sint_list_; +} +const ::flwr::proto::UintList& +MetricsRecordValue::_Internal::uint_list(const MetricsRecordValue* msg) { + return *msg->value_.uint_list_; } void MetricsRecordValue::set_allocated_double_list(::flwr::proto::DoubleList* double_list) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); @@ -1770,20 +1997,35 @@ void MetricsRecordValue::set_allocated_double_list(::flwr::proto::DoubleList* do } // @@protoc_insertion_point(field_set_allocated:flwr.proto.MetricsRecordValue.double_list) } -void MetricsRecordValue::set_allocated_sint64_list(::flwr::proto::Sint64List* sint64_list) { +void MetricsRecordValue::set_allocated_sint_list(::flwr::proto::SintList* sint_list) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); clear_value(); - if (sint64_list) { + if (sint_list) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::flwr::proto::Sint64List>::GetOwningArena(sint64_list); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::flwr::proto::SintList>::GetOwningArena(sint_list); if (message_arena != submessage_arena) { - sint64_list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, sint64_list, submessage_arena); + sint_list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, sint_list, submessage_arena); } - set_has_sint64_list(); - value_.sint64_list_ = sint64_list; + set_has_sint_list(); + value_.sint_list_ = sint_list; } - // @@protoc_insertion_point(field_set_allocated:flwr.proto.MetricsRecordValue.sint64_list) + // @@protoc_insertion_point(field_set_allocated:flwr.proto.MetricsRecordValue.sint_list) +} +void MetricsRecordValue::set_allocated_uint_list(::flwr::proto::UintList* uint_list) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_value(); + if (uint_list) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::flwr::proto::UintList>::GetOwningArena(uint_list); + if (message_arena != submessage_arena) { + uint_list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, uint_list, submessage_arena); + } + set_has_uint_list(); + value_.uint_list_ = uint_list; + } + // @@protoc_insertion_point(field_set_allocated:flwr.proto.MetricsRecordValue.uint_list) } MetricsRecordValue::MetricsRecordValue(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) @@ -1807,12 +2049,20 @@ MetricsRecordValue::MetricsRecordValue(const MetricsRecordValue& from) _internal_set_sint64(from._internal_sint64()); break; } + case kUint64: { + _internal_set_uint64(from._internal_uint64()); + break; + } case kDoubleList: { _internal_mutable_double_list()->::flwr::proto::DoubleList::MergeFrom(from._internal_double_list()); break; } - case kSint64List: { - _internal_mutable_sint64_list()->::flwr::proto::Sint64List::MergeFrom(from._internal_sint64_list()); + case kSintList: { + _internal_mutable_sint_list()->::flwr::proto::SintList::MergeFrom(from._internal_sint_list()); + break; + } + case kUintList: { + _internal_mutable_uint_list()->::flwr::proto::UintList::MergeFrom(from._internal_uint_list()); break; } case VALUE_NOT_SET: { @@ -1861,15 +2111,25 @@ void MetricsRecordValue::clear_value() { // No need to clear break; } + case kUint64: { + // No need to clear + break; + } case kDoubleList: { if (GetArenaForAllocation() == nullptr) { delete value_.double_list_; } break; } - case kSint64List: { + case kSintList: { + if (GetArenaForAllocation() == nullptr) { + delete value_.sint_list_; + } + break; + } + case kUintList: { if (GetArenaForAllocation() == nullptr) { - delete value_.sint64_list_; + delete value_.uint_list_; } break; } @@ -1913,6 +2173,14 @@ const char* MetricsRecordValue::_InternalParse(const char* ptr, ::PROTOBUF_NAMES } else goto handle_unusual; continue; + // uint64 uint64 = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { + _internal_set_uint64(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; // .flwr.proto.DoubleList double_list = 21; case 21: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) { @@ -1921,10 +2189,18 @@ const char* MetricsRecordValue::_InternalParse(const char* ptr, ::PROTOBUF_NAMES } else goto handle_unusual; continue; - // .flwr.proto.Sint64List sint64_list = 22; + // .flwr.proto.SintList sint_list = 22; case 22: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) { - ptr = ctx->ParseMessage(_internal_mutable_sint64_list(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_sint_list(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .flwr.proto.UintList uint_list = 23; + case 23: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) { + ptr = ctx->ParseMessage(_internal_mutable_uint_list(), ptr); CHK_(ptr); } else goto handle_unusual; @@ -1970,6 +2246,12 @@ ::PROTOBUF_NAMESPACE_ID::uint8* MetricsRecordValue::_InternalSerialize( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteSInt64ToArray(2, this->_internal_sint64(), target); } + // uint64 uint64 = 3; + if (_internal_has_uint64()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->_internal_uint64(), target); + } + // .flwr.proto.DoubleList double_list = 21; if (_internal_has_double_list()) { target = stream->EnsureSpace(target); @@ -1978,12 +2260,20 @@ ::PROTOBUF_NAMESPACE_ID::uint8* MetricsRecordValue::_InternalSerialize( 21, _Internal::double_list(this), target, stream); } - // .flwr.proto.Sint64List sint64_list = 22; - if (_internal_has_sint64_list()) { + // .flwr.proto.SintList sint_list = 22; + if (_internal_has_sint_list()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 22, _Internal::sint_list(this), target, stream); + } + + // .flwr.proto.UintList uint_list = 23; + if (_internal_has_uint_list()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 22, _Internal::sint64_list(this), target, stream); + 23, _Internal::uint_list(this), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -2013,6 +2303,11 @@ size_t MetricsRecordValue::ByteSizeLong() const { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SInt64SizePlusOne(this->_internal_sint64()); break; } + // uint64 uint64 = 3; + case kUint64: { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_uint64()); + break; + } // .flwr.proto.DoubleList double_list = 21; case kDoubleList: { total_size += 2 + @@ -2020,11 +2315,18 @@ size_t MetricsRecordValue::ByteSizeLong() const { *value_.double_list_); break; } - // .flwr.proto.Sint64List sint64_list = 22; - case kSint64List: { + // .flwr.proto.SintList sint_list = 22; + case kSintList: { total_size += 2 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *value_.sint64_list_); + *value_.sint_list_); + break; + } + // .flwr.proto.UintList uint_list = 23; + case kUintList: { + total_size += 2 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *value_.uint_list_); break; } case VALUE_NOT_SET: { @@ -2062,12 +2364,20 @@ void MetricsRecordValue::MergeFrom(const MetricsRecordValue& from) { _internal_set_sint64(from._internal_sint64()); break; } + case kUint64: { + _internal_set_uint64(from._internal_uint64()); + break; + } case kDoubleList: { _internal_mutable_double_list()->::flwr::proto::DoubleList::MergeFrom(from._internal_double_list()); break; } - case kSint64List: { - _internal_mutable_sint64_list()->::flwr::proto::Sint64List::MergeFrom(from._internal_sint64_list()); + case kSintList: { + _internal_mutable_sint_list()->::flwr::proto::SintList::MergeFrom(from._internal_sint_list()); + break; + } + case kUintList: { + _internal_mutable_uint_list()->::flwr::proto::UintList::MergeFrom(from._internal_uint_list()); break; } case VALUE_NOT_SET: { @@ -2098,7 +2408,7 @@ void MetricsRecordValue::InternalSwap(MetricsRecordValue* other) { ::PROTOBUF_NAMESPACE_ID::Metadata MetricsRecordValue::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[6]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[7]); } // =================================================================== @@ -2106,7 +2416,8 @@ ::PROTOBUF_NAMESPACE_ID::Metadata MetricsRecordValue::GetMetadata() const { class ConfigsRecordValue::_Internal { public: static const ::flwr::proto::DoubleList& double_list(const ConfigsRecordValue* msg); - static const ::flwr::proto::Sint64List& sint64_list(const ConfigsRecordValue* msg); + static const ::flwr::proto::SintList& sint_list(const ConfigsRecordValue* msg); + static const ::flwr::proto::UintList& uint_list(const ConfigsRecordValue* msg); static const ::flwr::proto::BoolList& bool_list(const ConfigsRecordValue* msg); static const ::flwr::proto::StringList& string_list(const ConfigsRecordValue* msg); static const ::flwr::proto::BytesList& bytes_list(const ConfigsRecordValue* msg); @@ -2116,9 +2427,13 @@ const ::flwr::proto::DoubleList& ConfigsRecordValue::_Internal::double_list(const ConfigsRecordValue* msg) { return *msg->value_.double_list_; } -const ::flwr::proto::Sint64List& -ConfigsRecordValue::_Internal::sint64_list(const ConfigsRecordValue* msg) { - return *msg->value_.sint64_list_; +const ::flwr::proto::SintList& +ConfigsRecordValue::_Internal::sint_list(const ConfigsRecordValue* msg) { + return *msg->value_.sint_list_; +} +const ::flwr::proto::UintList& +ConfigsRecordValue::_Internal::uint_list(const ConfigsRecordValue* msg) { + return *msg->value_.uint_list_; } const ::flwr::proto::BoolList& ConfigsRecordValue::_Internal::bool_list(const ConfigsRecordValue* msg) { @@ -2147,20 +2462,35 @@ void ConfigsRecordValue::set_allocated_double_list(::flwr::proto::DoubleList* do } // @@protoc_insertion_point(field_set_allocated:flwr.proto.ConfigsRecordValue.double_list) } -void ConfigsRecordValue::set_allocated_sint64_list(::flwr::proto::Sint64List* sint64_list) { +void ConfigsRecordValue::set_allocated_sint_list(::flwr::proto::SintList* sint_list) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); clear_value(); - if (sint64_list) { + if (sint_list) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::flwr::proto::Sint64List>::GetOwningArena(sint64_list); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::flwr::proto::SintList>::GetOwningArena(sint_list); if (message_arena != submessage_arena) { - sint64_list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, sint64_list, submessage_arena); + sint_list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, sint_list, submessage_arena); } - set_has_sint64_list(); - value_.sint64_list_ = sint64_list; + set_has_sint_list(); + value_.sint_list_ = sint_list; } - // @@protoc_insertion_point(field_set_allocated:flwr.proto.ConfigsRecordValue.sint64_list) + // @@protoc_insertion_point(field_set_allocated:flwr.proto.ConfigsRecordValue.sint_list) +} +void ConfigsRecordValue::set_allocated_uint_list(::flwr::proto::UintList* uint_list) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_value(); + if (uint_list) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::flwr::proto::UintList>::GetOwningArena(uint_list); + if (message_arena != submessage_arena) { + uint_list = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, uint_list, submessage_arena); + } + set_has_uint_list(); + value_.uint_list_ = uint_list; + } + // @@protoc_insertion_point(field_set_allocated:flwr.proto.ConfigsRecordValue.uint_list) } void ConfigsRecordValue::set_allocated_bool_list(::flwr::proto::BoolList* bool_list) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); @@ -2229,6 +2559,10 @@ ConfigsRecordValue::ConfigsRecordValue(const ConfigsRecordValue& from) _internal_set_sint64(from._internal_sint64()); break; } + case kUint64: { + _internal_set_uint64(from._internal_uint64()); + break; + } case kBool: { _internal_set_bool_(from._internal_bool_()); break; @@ -2245,8 +2579,12 @@ ConfigsRecordValue::ConfigsRecordValue(const ConfigsRecordValue& from) _internal_mutable_double_list()->::flwr::proto::DoubleList::MergeFrom(from._internal_double_list()); break; } - case kSint64List: { - _internal_mutable_sint64_list()->::flwr::proto::Sint64List::MergeFrom(from._internal_sint64_list()); + case kSintList: { + _internal_mutable_sint_list()->::flwr::proto::SintList::MergeFrom(from._internal_sint_list()); + break; + } + case kUintList: { + _internal_mutable_uint_list()->::flwr::proto::UintList::MergeFrom(from._internal_uint_list()); break; } case kBoolList: { @@ -2307,6 +2645,10 @@ void ConfigsRecordValue::clear_value() { // No need to clear break; } + case kUint64: { + // No need to clear + break; + } case kBool: { // No need to clear break; @@ -2325,9 +2667,15 @@ void ConfigsRecordValue::clear_value() { } break; } - case kSint64List: { + case kSintList: { if (GetArenaForAllocation() == nullptr) { - delete value_.sint64_list_; + delete value_.sint_list_; + } + break; + } + case kUintList: { + if (GetArenaForAllocation() == nullptr) { + delete value_.uint_list_; } break; } @@ -2389,17 +2737,25 @@ const char* ConfigsRecordValue::_InternalParse(const char* ptr, ::PROTOBUF_NAMES } else goto handle_unusual; continue; - // bool bool = 3; + // uint64 uint64 = 3; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { - _internal_set_bool_(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); + _internal_set_uint64(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); CHK_(ptr); } else goto handle_unusual; continue; - // string string = 4; + // bool bool = 4; case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) { + _internal_set_bool_(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string string = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { auto str = _internal_mutable_string(); ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.ConfigsRecordValue.string")); @@ -2407,9 +2763,9 @@ const char* ConfigsRecordValue::_InternalParse(const char* ptr, ::PROTOBUF_NAMES } else goto handle_unusual; continue; - // bytes bytes = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { + // bytes bytes = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) { auto str = _internal_mutable_bytes(); ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); @@ -2424,33 +2780,41 @@ const char* ConfigsRecordValue::_InternalParse(const char* ptr, ::PROTOBUF_NAMES } else goto handle_unusual; continue; - // .flwr.proto.Sint64List sint64_list = 22; + // .flwr.proto.SintList sint_list = 22; case 22: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) { - ptr = ctx->ParseMessage(_internal_mutable_sint64_list(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_sint_list(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .flwr.proto.BoolList bool_list = 23; + // .flwr.proto.UintList uint_list = 23; case 23: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) { - ptr = ctx->ParseMessage(_internal_mutable_bool_list(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_uint_list(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .flwr.proto.StringList string_list = 24; + // .flwr.proto.BoolList bool_list = 24; case 24: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) { - ptr = ctx->ParseMessage(_internal_mutable_string_list(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_bool_list(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .flwr.proto.BytesList bytes_list = 25; + // .flwr.proto.StringList string_list = 25; case 25: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) { + ptr = ctx->ParseMessage(_internal_mutable_string_list(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .flwr.proto.BytesList bytes_list = 26; + case 26: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) { ptr = ctx->ParseMessage(_internal_mutable_bytes_list(), ptr); CHK_(ptr); } else @@ -2497,26 +2861,32 @@ ::PROTOBUF_NAMESPACE_ID::uint8* ConfigsRecordValue::_InternalSerialize( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteSInt64ToArray(2, this->_internal_sint64(), target); } - // bool bool = 3; + // uint64 uint64 = 3; + if (_internal_has_uint64()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->_internal_uint64(), target); + } + + // bool bool = 4; if (_internal_has_bool_()) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_bool_(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_bool_(), target); } - // string string = 4; + // string string = 5; if (_internal_has_string()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->_internal_string().data(), static_cast(this->_internal_string().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "flwr.proto.ConfigsRecordValue.string"); target = stream->WriteStringMaybeAliased( - 4, this->_internal_string(), target); + 5, this->_internal_string(), target); } - // bytes bytes = 5; + // bytes bytes = 6; if (_internal_has_bytes()) { target = stream->WriteBytesMaybeAliased( - 5, this->_internal_bytes(), target); + 6, this->_internal_bytes(), target); } // .flwr.proto.DoubleList double_list = 21; @@ -2527,36 +2897,44 @@ ::PROTOBUF_NAMESPACE_ID::uint8* ConfigsRecordValue::_InternalSerialize( 21, _Internal::double_list(this), target, stream); } - // .flwr.proto.Sint64List sint64_list = 22; - if (_internal_has_sint64_list()) { + // .flwr.proto.SintList sint_list = 22; + if (_internal_has_sint_list()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 22, _Internal::sint_list(this), target, stream); + } + + // .flwr.proto.UintList uint_list = 23; + if (_internal_has_uint_list()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 22, _Internal::sint64_list(this), target, stream); + 23, _Internal::uint_list(this), target, stream); } - // .flwr.proto.BoolList bool_list = 23; + // .flwr.proto.BoolList bool_list = 24; if (_internal_has_bool_list()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 23, _Internal::bool_list(this), target, stream); + 24, _Internal::bool_list(this), target, stream); } - // .flwr.proto.StringList string_list = 24; + // .flwr.proto.StringList string_list = 25; if (_internal_has_string_list()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 24, _Internal::string_list(this), target, stream); + 25, _Internal::string_list(this), target, stream); } - // .flwr.proto.BytesList bytes_list = 25; + // .flwr.proto.BytesList bytes_list = 26; if (_internal_has_bytes_list()) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: InternalWriteMessage( - 25, _Internal::bytes_list(this), target, stream); + 26, _Internal::bytes_list(this), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -2586,19 +2964,24 @@ size_t ConfigsRecordValue::ByteSizeLong() const { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SInt64SizePlusOne(this->_internal_sint64()); break; } - // bool bool = 3; + // uint64 uint64 = 3; + case kUint64: { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_uint64()); + break; + } + // bool bool = 4; case kBool: { total_size += 1 + 1; break; } - // string string = 4; + // string string = 5; case kString: { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( this->_internal_string()); break; } - // bytes bytes = 5; + // bytes bytes = 6; case kBytes: { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( @@ -2612,28 +2995,35 @@ size_t ConfigsRecordValue::ByteSizeLong() const { *value_.double_list_); break; } - // .flwr.proto.Sint64List sint64_list = 22; - case kSint64List: { + // .flwr.proto.SintList sint_list = 22; + case kSintList: { total_size += 2 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *value_.sint64_list_); + *value_.sint_list_); break; } - // .flwr.proto.BoolList bool_list = 23; + // .flwr.proto.UintList uint_list = 23; + case kUintList: { + total_size += 2 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *value_.uint_list_); + break; + } + // .flwr.proto.BoolList bool_list = 24; case kBoolList: { total_size += 2 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( *value_.bool_list_); break; } - // .flwr.proto.StringList string_list = 24; + // .flwr.proto.StringList string_list = 25; case kStringList: { total_size += 2 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( *value_.string_list_); break; } - // .flwr.proto.BytesList bytes_list = 25; + // .flwr.proto.BytesList bytes_list = 26; case kBytesList: { total_size += 2 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( @@ -2675,6 +3065,10 @@ void ConfigsRecordValue::MergeFrom(const ConfigsRecordValue& from) { _internal_set_sint64(from._internal_sint64()); break; } + case kUint64: { + _internal_set_uint64(from._internal_uint64()); + break; + } case kBool: { _internal_set_bool_(from._internal_bool_()); break; @@ -2691,8 +3085,12 @@ void ConfigsRecordValue::MergeFrom(const ConfigsRecordValue& from) { _internal_mutable_double_list()->::flwr::proto::DoubleList::MergeFrom(from._internal_double_list()); break; } - case kSint64List: { - _internal_mutable_sint64_list()->::flwr::proto::Sint64List::MergeFrom(from._internal_sint64_list()); + case kSintList: { + _internal_mutable_sint_list()->::flwr::proto::SintList::MergeFrom(from._internal_sint_list()); + break; + } + case kUintList: { + _internal_mutable_uint_list()->::flwr::proto::UintList::MergeFrom(from._internal_uint_list()); break; } case kBoolList: { @@ -2735,7 +3133,7 @@ void ConfigsRecordValue::InternalSwap(ConfigsRecordValue* other) { ::PROTOBUF_NAMESPACE_ID::Metadata ConfigsRecordValue::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[7]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[8]); } // =================================================================== @@ -2958,7 +3356,7 @@ void ParametersRecord::InternalSwap(ParametersRecord* other) { ::PROTOBUF_NAMESPACE_ID::Metadata ParametersRecord::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[8]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[9]); } // =================================================================== @@ -2972,7 +3370,7 @@ void MetricsRecord_DataEntry_DoNotUse::MergeFrom(const MetricsRecord_DataEntry_D ::PROTOBUF_NAMESPACE_ID::Metadata MetricsRecord_DataEntry_DoNotUse::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[9]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[10]); } // =================================================================== @@ -3197,7 +3595,7 @@ void MetricsRecord::InternalSwap(MetricsRecord* other) { ::PROTOBUF_NAMESPACE_ID::Metadata MetricsRecord::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[10]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[11]); } // =================================================================== @@ -3211,7 +3609,7 @@ void ConfigsRecord_DataEntry_DoNotUse::MergeFrom(const ConfigsRecord_DataEntry_D ::PROTOBUF_NAMESPACE_ID::Metadata ConfigsRecord_DataEntry_DoNotUse::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[11]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[12]); } // =================================================================== @@ -3436,7 +3834,7 @@ void ConfigsRecord::InternalSwap(ConfigsRecord* other) { ::PROTOBUF_NAMESPACE_ID::Metadata ConfigsRecord::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[12]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[13]); } // =================================================================== @@ -3450,7 +3848,7 @@ void RecordSet_ParametersEntry_DoNotUse::MergeFrom(const RecordSet_ParametersEnt ::PROTOBUF_NAMESPACE_ID::Metadata RecordSet_ParametersEntry_DoNotUse::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[13]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[14]); } // =================================================================== @@ -3464,7 +3862,7 @@ void RecordSet_MetricsEntry_DoNotUse::MergeFrom(const RecordSet_MetricsEntry_DoN ::PROTOBUF_NAMESPACE_ID::Metadata RecordSet_MetricsEntry_DoNotUse::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[14]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[15]); } // =================================================================== @@ -3478,7 +3876,7 @@ void RecordSet_ConfigsEntry_DoNotUse::MergeFrom(const RecordSet_ConfigsEntry_DoN ::PROTOBUF_NAMESPACE_ID::Metadata RecordSet_ConfigsEntry_DoNotUse::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[15]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[16]); } // =================================================================== @@ -3843,7 +4241,7 @@ void RecordSet::InternalSwap(RecordSet* other) { ::PROTOBUF_NAMESPACE_ID::Metadata RecordSet::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_flwr_2fproto_2frecordset_2eproto_getter, &descriptor_table_flwr_2fproto_2frecordset_2eproto_once, - file_level_metadata_flwr_2fproto_2frecordset_2eproto[16]); + file_level_metadata_flwr_2fproto_2frecordset_2eproto[17]); } // @@protoc_insertion_point(namespace_scope) @@ -3853,8 +4251,11 @@ PROTOBUF_NAMESPACE_OPEN template<> PROTOBUF_NOINLINE ::flwr::proto::DoubleList* Arena::CreateMaybeMessage< ::flwr::proto::DoubleList >(Arena* arena) { return Arena::CreateMessageInternal< ::flwr::proto::DoubleList >(arena); } -template<> PROTOBUF_NOINLINE ::flwr::proto::Sint64List* Arena::CreateMaybeMessage< ::flwr::proto::Sint64List >(Arena* arena) { - return Arena::CreateMessageInternal< ::flwr::proto::Sint64List >(arena); +template<> PROTOBUF_NOINLINE ::flwr::proto::SintList* Arena::CreateMaybeMessage< ::flwr::proto::SintList >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::SintList >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::UintList* Arena::CreateMaybeMessage< ::flwr::proto::UintList >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::UintList >(arena); } template<> PROTOBUF_NOINLINE ::flwr::proto::BoolList* Arena::CreateMaybeMessage< ::flwr::proto::BoolList >(Arena* arena) { return Arena::CreateMessageInternal< ::flwr::proto::BoolList >(arena); diff --git a/framework/src/cc/flwr/include/flwr/proto/recordset.pb.h b/framework/src/cc/flwr/include/flwr/proto/recordset.pb.h index 74c336cf61ad..47a567ac2ec9 100644 --- a/framework/src/cc/flwr/include/flwr/proto/recordset.pb.h +++ b/framework/src/cc/flwr/include/flwr/proto/recordset.pb.h @@ -49,7 +49,7 @@ struct TableStruct_flwr_2fproto_2frecordset_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[17] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[18] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -103,12 +103,15 @@ extern RecordSet_MetricsEntry_DoNotUseDefaultTypeInternal _RecordSet_MetricsEntr class RecordSet_ParametersEntry_DoNotUse; struct RecordSet_ParametersEntry_DoNotUseDefaultTypeInternal; extern RecordSet_ParametersEntry_DoNotUseDefaultTypeInternal _RecordSet_ParametersEntry_DoNotUse_default_instance_; -class Sint64List; -struct Sint64ListDefaultTypeInternal; -extern Sint64ListDefaultTypeInternal _Sint64List_default_instance_; +class SintList; +struct SintListDefaultTypeInternal; +extern SintListDefaultTypeInternal _SintList_default_instance_; class StringList; struct StringListDefaultTypeInternal; extern StringListDefaultTypeInternal _StringList_default_instance_; +class UintList; +struct UintListDefaultTypeInternal; +extern UintListDefaultTypeInternal _UintList_default_instance_; } // namespace proto } // namespace flwr PROTOBUF_NAMESPACE_OPEN @@ -127,8 +130,9 @@ template<> ::flwr::proto::RecordSet* Arena::CreateMaybeMessage<::flwr::proto::Re template<> ::flwr::proto::RecordSet_ConfigsEntry_DoNotUse* Arena::CreateMaybeMessage<::flwr::proto::RecordSet_ConfigsEntry_DoNotUse>(Arena*); template<> ::flwr::proto::RecordSet_MetricsEntry_DoNotUse* Arena::CreateMaybeMessage<::flwr::proto::RecordSet_MetricsEntry_DoNotUse>(Arena*); template<> ::flwr::proto::RecordSet_ParametersEntry_DoNotUse* Arena::CreateMaybeMessage<::flwr::proto::RecordSet_ParametersEntry_DoNotUse>(Arena*); -template<> ::flwr::proto::Sint64List* Arena::CreateMaybeMessage<::flwr::proto::Sint64List>(Arena*); +template<> ::flwr::proto::SintList* Arena::CreateMaybeMessage<::flwr::proto::SintList>(Arena*); template<> ::flwr::proto::StringList* Arena::CreateMaybeMessage<::flwr::proto::StringList>(Arena*); +template<> ::flwr::proto::UintList* Arena::CreateMaybeMessage<::flwr::proto::UintList>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace flwr { namespace proto { @@ -291,24 +295,24 @@ class DoubleList final : }; // ------------------------------------------------------------------- -class Sint64List final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.Sint64List) */ { +class SintList final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.SintList) */ { public: - inline Sint64List() : Sint64List(nullptr) {} - ~Sint64List() override; - explicit constexpr Sint64List(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SintList() : SintList(nullptr) {} + ~SintList() override; + explicit constexpr SintList(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - Sint64List(const Sint64List& from); - Sint64List(Sint64List&& from) noexcept - : Sint64List() { + SintList(const SintList& from); + SintList(SintList&& from) noexcept + : SintList() { *this = ::std::move(from); } - inline Sint64List& operator=(const Sint64List& from) { + inline SintList& operator=(const SintList& from) { CopyFrom(from); return *this; } - inline Sint64List& operator=(Sint64List&& from) noexcept { + inline SintList& operator=(SintList&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -331,20 +335,20 @@ class Sint64List final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Sint64List& default_instance() { + static const SintList& default_instance() { return *internal_default_instance(); } - static inline const Sint64List* internal_default_instance() { - return reinterpret_cast( - &_Sint64List_default_instance_); + static inline const SintList* internal_default_instance() { + return reinterpret_cast( + &_SintList_default_instance_); } static constexpr int kIndexInFileMessages = 1; - friend void swap(Sint64List& a, Sint64List& b) { + friend void swap(SintList& a, SintList& b) { a.Swap(&b); } - inline void Swap(Sint64List* other) { + inline void Swap(SintList* other) { if (other == this) return; if (GetOwningArena() == other->GetOwningArena()) { InternalSwap(other); @@ -352,7 +356,7 @@ class Sint64List final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Sint64List* other) { + void UnsafeArenaSwap(SintList* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -360,17 +364,17 @@ class Sint64List final : // implements Message ---------------------------------------------- - inline Sint64List* New() const final { - return new Sint64List(); + inline SintList* New() const final { + return new SintList(); } - Sint64List* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); + SintList* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Sint64List& from); + void CopyFrom(const SintList& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const Sint64List& from); + void MergeFrom(const SintList& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -387,13 +391,13 @@ class Sint64List final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(Sint64List* other); + void InternalSwap(SintList* other); friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "flwr.proto.Sint64List"; + return "flwr.proto.SintList"; } protected: - explicit Sint64List(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SintList(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); private: static void ArenaDtor(void* object); @@ -434,7 +438,7 @@ class Sint64List final : ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* mutable_vals(); - // @@protoc_insertion_point(class_scope:flwr.proto.Sint64List) + // @@protoc_insertion_point(class_scope:flwr.proto.SintList) private: class _Internal; @@ -448,6 +452,163 @@ class Sint64List final : }; // ------------------------------------------------------------------- +class UintList final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.UintList) */ { + public: + inline UintList() : UintList(nullptr) {} + ~UintList() override; + explicit constexpr UintList(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + UintList(const UintList& from); + UintList(UintList&& from) noexcept + : UintList() { + *this = ::std::move(from); + } + + inline UintList& operator=(const UintList& from) { + CopyFrom(from); + return *this; + } + inline UintList& operator=(UintList&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 UintList& default_instance() { + return *internal_default_instance(); + } + static inline const UintList* internal_default_instance() { + return reinterpret_cast( + &_UintList_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(UintList& a, UintList& b) { + a.Swap(&b); + } + inline void Swap(UintList* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(UintList* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline UintList* New() const final { + return new UintList(); + } + + UintList* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const UintList& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const UintList& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(UintList* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.UintList"; + } + protected: + explicit UintList(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kValsFieldNumber = 1, + }; + // repeated uint64 vals = 1; + int vals_size() const; + private: + int _internal_vals_size() const; + public: + void clear_vals(); + private: + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_vals(int index) const; + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >& + _internal_vals() const; + void _internal_add_vals(::PROTOBUF_NAMESPACE_ID::uint64 value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >* + _internal_mutable_vals(); + public: + ::PROTOBUF_NAMESPACE_ID::uint64 vals(int index) const; + void set_vals(int index, ::PROTOBUF_NAMESPACE_ID::uint64 value); + void add_vals(::PROTOBUF_NAMESPACE_ID::uint64 value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >& + vals() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >* + mutable_vals(); + + // @@protoc_insertion_point(class_scope:flwr.proto.UintList) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 > vals_; + mutable std::atomic _vals_cached_byte_size_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frecordset_2eproto; +}; +// ------------------------------------------------------------------- + class BoolList final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.BoolList) */ { public: @@ -496,7 +657,7 @@ class BoolList final : &_BoolList_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 3; friend void swap(BoolList& a, BoolList& b) { a.Swap(&b); @@ -652,7 +813,7 @@ class StringList final : &_StringList_default_instance_); } static constexpr int kIndexInFileMessages = - 3; + 4; friend void swap(StringList& a, StringList& b) { a.Swap(&b); @@ -810,7 +971,7 @@ class BytesList final : &_BytesList_default_instance_); } static constexpr int kIndexInFileMessages = - 4; + 5; friend void swap(BytesList& a, BytesList& b) { a.Swap(&b); @@ -968,7 +1129,7 @@ class Array final : &_Array_default_instance_); } static constexpr int kIndexInFileMessages = - 5; + 6; friend void swap(Array& a, Array& b) { a.Swap(&b); @@ -1171,8 +1332,10 @@ class MetricsRecordValue final : enum ValueCase { kDouble = 1, kSint64 = 2, + kUint64 = 3, kDoubleList = 21, - kSint64List = 22, + kSintList = 22, + kUintList = 23, VALUE_NOT_SET = 0, }; @@ -1181,7 +1344,7 @@ class MetricsRecordValue final : &_MetricsRecordValue_default_instance_); } static constexpr int kIndexInFileMessages = - 6; + 7; friend void swap(MetricsRecordValue& a, MetricsRecordValue& b) { a.Swap(&b); @@ -1254,8 +1417,10 @@ class MetricsRecordValue final : enum : int { kDoubleFieldNumber = 1, kSint64FieldNumber = 2, + kUint64FieldNumber = 3, kDoubleListFieldNumber = 21, - kSint64ListFieldNumber = 22, + kSintListFieldNumber = 22, + kUintListFieldNumber = 23, }; // double double = 1; bool has_double_() const; @@ -1283,6 +1448,19 @@ class MetricsRecordValue final : void _internal_set_sint64(::PROTOBUF_NAMESPACE_ID::int64 value); public: + // uint64 uint64 = 3; + bool has_uint64() const; + private: + bool _internal_has_uint64() const; + public: + void clear_uint64(); + ::PROTOBUF_NAMESPACE_ID::uint64 uint64() const; + void set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_uint64() const; + void _internal_set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value); + public: + // .flwr.proto.DoubleList double_list = 21; bool has_double_list() const; private: @@ -1301,23 +1479,41 @@ class MetricsRecordValue final : ::flwr::proto::DoubleList* double_list); ::flwr::proto::DoubleList* unsafe_arena_release_double_list(); - // .flwr.proto.Sint64List sint64_list = 22; - bool has_sint64_list() const; + // .flwr.proto.SintList sint_list = 22; + bool has_sint_list() const; + private: + bool _internal_has_sint_list() const; + public: + void clear_sint_list(); + const ::flwr::proto::SintList& sint_list() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::SintList* release_sint_list(); + ::flwr::proto::SintList* mutable_sint_list(); + void set_allocated_sint_list(::flwr::proto::SintList* sint_list); + private: + const ::flwr::proto::SintList& _internal_sint_list() const; + ::flwr::proto::SintList* _internal_mutable_sint_list(); + public: + void unsafe_arena_set_allocated_sint_list( + ::flwr::proto::SintList* sint_list); + ::flwr::proto::SintList* unsafe_arena_release_sint_list(); + + // .flwr.proto.UintList uint_list = 23; + bool has_uint_list() const; private: - bool _internal_has_sint64_list() const; + bool _internal_has_uint_list() const; public: - void clear_sint64_list(); - const ::flwr::proto::Sint64List& sint64_list() const; - PROTOBUF_MUST_USE_RESULT ::flwr::proto::Sint64List* release_sint64_list(); - ::flwr::proto::Sint64List* mutable_sint64_list(); - void set_allocated_sint64_list(::flwr::proto::Sint64List* sint64_list); + void clear_uint_list(); + const ::flwr::proto::UintList& uint_list() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::UintList* release_uint_list(); + ::flwr::proto::UintList* mutable_uint_list(); + void set_allocated_uint_list(::flwr::proto::UintList* uint_list); private: - const ::flwr::proto::Sint64List& _internal_sint64_list() const; - ::flwr::proto::Sint64List* _internal_mutable_sint64_list(); + const ::flwr::proto::UintList& _internal_uint_list() const; + ::flwr::proto::UintList* _internal_mutable_uint_list(); public: - void unsafe_arena_set_allocated_sint64_list( - ::flwr::proto::Sint64List* sint64_list); - ::flwr::proto::Sint64List* unsafe_arena_release_sint64_list(); + void unsafe_arena_set_allocated_uint_list( + ::flwr::proto::UintList* uint_list); + ::flwr::proto::UintList* unsafe_arena_release_uint_list(); void clear_value(); ValueCase value_case() const; @@ -1326,8 +1522,10 @@ class MetricsRecordValue final : class _Internal; void set_has_double_(); void set_has_sint64(); + void set_has_uint64(); void set_has_double_list(); - void set_has_sint64_list(); + void set_has_sint_list(); + void set_has_uint_list(); inline bool has_value() const; inline void clear_has_value(); @@ -1340,8 +1538,10 @@ class MetricsRecordValue final : ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; double double__; ::PROTOBUF_NAMESPACE_ID::int64 sint64_; + ::PROTOBUF_NAMESPACE_ID::uint64 uint64_; ::flwr::proto::DoubleList* double_list_; - ::flwr::proto::Sint64List* sint64_list_; + ::flwr::proto::SintList* sint_list_; + ::flwr::proto::UintList* uint_list_; } value_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1]; @@ -1396,14 +1596,16 @@ class ConfigsRecordValue final : enum ValueCase { kDouble = 1, kSint64 = 2, - kBool = 3, - kString = 4, - kBytes = 5, + kUint64 = 3, + kBool = 4, + kString = 5, + kBytes = 6, kDoubleList = 21, - kSint64List = 22, - kBoolList = 23, - kStringList = 24, - kBytesList = 25, + kSintList = 22, + kUintList = 23, + kBoolList = 24, + kStringList = 25, + kBytesList = 26, VALUE_NOT_SET = 0, }; @@ -1412,7 +1614,7 @@ class ConfigsRecordValue final : &_ConfigsRecordValue_default_instance_); } static constexpr int kIndexInFileMessages = - 7; + 8; friend void swap(ConfigsRecordValue& a, ConfigsRecordValue& b) { a.Swap(&b); @@ -1485,14 +1687,16 @@ class ConfigsRecordValue final : enum : int { kDoubleFieldNumber = 1, kSint64FieldNumber = 2, - kBoolFieldNumber = 3, - kStringFieldNumber = 4, - kBytesFieldNumber = 5, + kUint64FieldNumber = 3, + kBoolFieldNumber = 4, + kStringFieldNumber = 5, + kBytesFieldNumber = 6, kDoubleListFieldNumber = 21, - kSint64ListFieldNumber = 22, - kBoolListFieldNumber = 23, - kStringListFieldNumber = 24, - kBytesListFieldNumber = 25, + kSintListFieldNumber = 22, + kUintListFieldNumber = 23, + kBoolListFieldNumber = 24, + kStringListFieldNumber = 25, + kBytesListFieldNumber = 26, }; // double double = 1; bool has_double_() const; @@ -1520,7 +1724,20 @@ class ConfigsRecordValue final : void _internal_set_sint64(::PROTOBUF_NAMESPACE_ID::int64 value); public: - // bool bool = 3; + // uint64 uint64 = 3; + bool has_uint64() const; + private: + bool _internal_has_uint64() const; + public: + void clear_uint64(); + ::PROTOBUF_NAMESPACE_ID::uint64 uint64() const; + void set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_uint64() const; + void _internal_set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value); + public: + + // bool bool = 4; bool has_bool_() const; private: bool _internal_has_bool_() const; @@ -1533,7 +1750,7 @@ class ConfigsRecordValue final : void _internal_set_bool_(bool value); public: - // string string = 4; + // string string = 5; bool has_string() const; private: bool _internal_has_string() const; @@ -1551,7 +1768,7 @@ class ConfigsRecordValue final : std::string* _internal_mutable_string(); public: - // bytes bytes = 5; + // bytes bytes = 6; bool has_bytes() const; private: bool _internal_has_bytes() const; @@ -1587,25 +1804,43 @@ class ConfigsRecordValue final : ::flwr::proto::DoubleList* double_list); ::flwr::proto::DoubleList* unsafe_arena_release_double_list(); - // .flwr.proto.Sint64List sint64_list = 22; - bool has_sint64_list() const; + // .flwr.proto.SintList sint_list = 22; + bool has_sint_list() const; + private: + bool _internal_has_sint_list() const; + public: + void clear_sint_list(); + const ::flwr::proto::SintList& sint_list() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::SintList* release_sint_list(); + ::flwr::proto::SintList* mutable_sint_list(); + void set_allocated_sint_list(::flwr::proto::SintList* sint_list); + private: + const ::flwr::proto::SintList& _internal_sint_list() const; + ::flwr::proto::SintList* _internal_mutable_sint_list(); + public: + void unsafe_arena_set_allocated_sint_list( + ::flwr::proto::SintList* sint_list); + ::flwr::proto::SintList* unsafe_arena_release_sint_list(); + + // .flwr.proto.UintList uint_list = 23; + bool has_uint_list() const; private: - bool _internal_has_sint64_list() const; + bool _internal_has_uint_list() const; public: - void clear_sint64_list(); - const ::flwr::proto::Sint64List& sint64_list() const; - PROTOBUF_MUST_USE_RESULT ::flwr::proto::Sint64List* release_sint64_list(); - ::flwr::proto::Sint64List* mutable_sint64_list(); - void set_allocated_sint64_list(::flwr::proto::Sint64List* sint64_list); + void clear_uint_list(); + const ::flwr::proto::UintList& uint_list() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::UintList* release_uint_list(); + ::flwr::proto::UintList* mutable_uint_list(); + void set_allocated_uint_list(::flwr::proto::UintList* uint_list); private: - const ::flwr::proto::Sint64List& _internal_sint64_list() const; - ::flwr::proto::Sint64List* _internal_mutable_sint64_list(); + const ::flwr::proto::UintList& _internal_uint_list() const; + ::flwr::proto::UintList* _internal_mutable_uint_list(); public: - void unsafe_arena_set_allocated_sint64_list( - ::flwr::proto::Sint64List* sint64_list); - ::flwr::proto::Sint64List* unsafe_arena_release_sint64_list(); + void unsafe_arena_set_allocated_uint_list( + ::flwr::proto::UintList* uint_list); + ::flwr::proto::UintList* unsafe_arena_release_uint_list(); - // .flwr.proto.BoolList bool_list = 23; + // .flwr.proto.BoolList bool_list = 24; bool has_bool_list() const; private: bool _internal_has_bool_list() const; @@ -1623,7 +1858,7 @@ class ConfigsRecordValue final : ::flwr::proto::BoolList* bool_list); ::flwr::proto::BoolList* unsafe_arena_release_bool_list(); - // .flwr.proto.StringList string_list = 24; + // .flwr.proto.StringList string_list = 25; bool has_string_list() const; private: bool _internal_has_string_list() const; @@ -1641,7 +1876,7 @@ class ConfigsRecordValue final : ::flwr::proto::StringList* string_list); ::flwr::proto::StringList* unsafe_arena_release_string_list(); - // .flwr.proto.BytesList bytes_list = 25; + // .flwr.proto.BytesList bytes_list = 26; bool has_bytes_list() const; private: bool _internal_has_bytes_list() const; @@ -1666,11 +1901,13 @@ class ConfigsRecordValue final : class _Internal; void set_has_double_(); void set_has_sint64(); + void set_has_uint64(); void set_has_bool_(); void set_has_string(); void set_has_bytes(); void set_has_double_list(); - void set_has_sint64_list(); + void set_has_sint_list(); + void set_has_uint_list(); void set_has_bool_list(); void set_has_string_list(); void set_has_bytes_list(); @@ -1686,11 +1923,13 @@ class ConfigsRecordValue final : ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; double double__; ::PROTOBUF_NAMESPACE_ID::int64 sint64_; + ::PROTOBUF_NAMESPACE_ID::uint64 uint64_; bool bool__; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr string_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bytes_; ::flwr::proto::DoubleList* double_list_; - ::flwr::proto::Sint64List* sint64_list_; + ::flwr::proto::SintList* sint_list_; + ::flwr::proto::UintList* uint_list_; ::flwr::proto::BoolList* bool_list_; ::flwr::proto::StringList* string_list_; ::flwr::proto::BytesList* bytes_list_; @@ -1750,7 +1989,7 @@ class ParametersRecord final : &_ParametersRecord_default_instance_); } static constexpr int kIndexInFileMessages = - 8; + 9; friend void swap(ParametersRecord& a, ParametersRecord& b) { a.Swap(&b); @@ -1953,7 +2192,7 @@ class MetricsRecord final : &_MetricsRecord_default_instance_); } static constexpr int kIndexInFileMessages = - 10; + 11; friend void swap(MetricsRecord& a, MetricsRecord& b) { a.Swap(&b); @@ -2134,7 +2373,7 @@ class ConfigsRecord final : &_ConfigsRecord_default_instance_); } static constexpr int kIndexInFileMessages = - 12; + 13; friend void swap(ConfigsRecord& a, ConfigsRecord& b) { a.Swap(&b); @@ -2365,7 +2604,7 @@ class RecordSet final : &_RecordSet_default_instance_); } static constexpr int kIndexInFileMessages = - 16; + 17; friend void swap(RecordSet& a, RecordSet& b) { a.Swap(&b); @@ -2577,52 +2816,103 @@ DoubleList::mutable_vals() { // ------------------------------------------------------------------- -// Sint64List +// SintList // repeated sint64 vals = 1; -inline int Sint64List::_internal_vals_size() const { +inline int SintList::_internal_vals_size() const { return vals_.size(); } -inline int Sint64List::vals_size() const { +inline int SintList::vals_size() const { return _internal_vals_size(); } -inline void Sint64List::clear_vals() { +inline void SintList::clear_vals() { vals_.Clear(); } -inline ::PROTOBUF_NAMESPACE_ID::int64 Sint64List::_internal_vals(int index) const { +inline ::PROTOBUF_NAMESPACE_ID::int64 SintList::_internal_vals(int index) const { return vals_.Get(index); } -inline ::PROTOBUF_NAMESPACE_ID::int64 Sint64List::vals(int index) const { - // @@protoc_insertion_point(field_get:flwr.proto.Sint64List.vals) +inline ::PROTOBUF_NAMESPACE_ID::int64 SintList::vals(int index) const { + // @@protoc_insertion_point(field_get:flwr.proto.SintList.vals) return _internal_vals(index); } -inline void Sint64List::set_vals(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) { +inline void SintList::set_vals(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) { vals_.Set(index, value); - // @@protoc_insertion_point(field_set:flwr.proto.Sint64List.vals) + // @@protoc_insertion_point(field_set:flwr.proto.SintList.vals) } -inline void Sint64List::_internal_add_vals(::PROTOBUF_NAMESPACE_ID::int64 value) { +inline void SintList::_internal_add_vals(::PROTOBUF_NAMESPACE_ID::int64 value) { vals_.Add(value); } -inline void Sint64List::add_vals(::PROTOBUF_NAMESPACE_ID::int64 value) { +inline void SintList::add_vals(::PROTOBUF_NAMESPACE_ID::int64 value) { _internal_add_vals(value); - // @@protoc_insertion_point(field_add:flwr.proto.Sint64List.vals) + // @@protoc_insertion_point(field_add:flwr.proto.SintList.vals) } inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& -Sint64List::_internal_vals() const { +SintList::_internal_vals() const { return vals_; } inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& -Sint64List::vals() const { - // @@protoc_insertion_point(field_list:flwr.proto.Sint64List.vals) +SintList::vals() const { + // @@protoc_insertion_point(field_list:flwr.proto.SintList.vals) return _internal_vals(); } inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* -Sint64List::_internal_mutable_vals() { +SintList::_internal_mutable_vals() { return &vals_; } inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* -Sint64List::mutable_vals() { - // @@protoc_insertion_point(field_mutable_list:flwr.proto.Sint64List.vals) +SintList::mutable_vals() { + // @@protoc_insertion_point(field_mutable_list:flwr.proto.SintList.vals) + return _internal_mutable_vals(); +} + +// ------------------------------------------------------------------- + +// UintList + +// repeated uint64 vals = 1; +inline int UintList::_internal_vals_size() const { + return vals_.size(); +} +inline int UintList::vals_size() const { + return _internal_vals_size(); +} +inline void UintList::clear_vals() { + vals_.Clear(); +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 UintList::_internal_vals(int index) const { + return vals_.Get(index); +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 UintList::vals(int index) const { + // @@protoc_insertion_point(field_get:flwr.proto.UintList.vals) + return _internal_vals(index); +} +inline void UintList::set_vals(int index, ::PROTOBUF_NAMESPACE_ID::uint64 value) { + vals_.Set(index, value); + // @@protoc_insertion_point(field_set:flwr.proto.UintList.vals) +} +inline void UintList::_internal_add_vals(::PROTOBUF_NAMESPACE_ID::uint64 value) { + vals_.Add(value); +} +inline void UintList::add_vals(::PROTOBUF_NAMESPACE_ID::uint64 value) { + _internal_add_vals(value); + // @@protoc_insertion_point(field_add:flwr.proto.UintList.vals) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >& +UintList::_internal_vals() const { + return vals_; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >& +UintList::vals() const { + // @@protoc_insertion_point(field_list:flwr.proto.UintList.vals) + return _internal_vals(); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >* +UintList::_internal_mutable_vals() { + return &vals_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >* +UintList::mutable_vals() { + // @@protoc_insertion_point(field_mutable_list:flwr.proto.UintList.vals) return _internal_mutable_vals(); } @@ -3104,6 +3394,44 @@ inline void MetricsRecordValue::set_sint64(::PROTOBUF_NAMESPACE_ID::int64 value) // @@protoc_insertion_point(field_set:flwr.proto.MetricsRecordValue.sint64) } +// uint64 uint64 = 3; +inline bool MetricsRecordValue::_internal_has_uint64() const { + return value_case() == kUint64; +} +inline bool MetricsRecordValue::has_uint64() const { + return _internal_has_uint64(); +} +inline void MetricsRecordValue::set_has_uint64() { + _oneof_case_[0] = kUint64; +} +inline void MetricsRecordValue::clear_uint64() { + if (_internal_has_uint64()) { + value_.uint64_ = uint64_t{0u}; + clear_has_value(); + } +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 MetricsRecordValue::_internal_uint64() const { + if (_internal_has_uint64()) { + return value_.uint64_; + } + return uint64_t{0u}; +} +inline void MetricsRecordValue::_internal_set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value) { + if (!_internal_has_uint64()) { + clear_value(); + set_has_uint64(); + } + value_.uint64_ = value; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 MetricsRecordValue::uint64() const { + // @@protoc_insertion_point(field_get:flwr.proto.MetricsRecordValue.uint64) + return _internal_uint64(); +} +inline void MetricsRecordValue::set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value) { + _internal_set_uint64(value); + // @@protoc_insertion_point(field_set:flwr.proto.MetricsRecordValue.uint64) +} + // .flwr.proto.DoubleList double_list = 21; inline bool MetricsRecordValue::_internal_has_double_list() const { return value_case() == kDoubleList; @@ -3178,77 +3506,151 @@ inline ::flwr::proto::DoubleList* MetricsRecordValue::mutable_double_list() { return _msg; } -// .flwr.proto.Sint64List sint64_list = 22; -inline bool MetricsRecordValue::_internal_has_sint64_list() const { - return value_case() == kSint64List; +// .flwr.proto.SintList sint_list = 22; +inline bool MetricsRecordValue::_internal_has_sint_list() const { + return value_case() == kSintList; } -inline bool MetricsRecordValue::has_sint64_list() const { - return _internal_has_sint64_list(); +inline bool MetricsRecordValue::has_sint_list() const { + return _internal_has_sint_list(); } -inline void MetricsRecordValue::set_has_sint64_list() { - _oneof_case_[0] = kSint64List; +inline void MetricsRecordValue::set_has_sint_list() { + _oneof_case_[0] = kSintList; } -inline void MetricsRecordValue::clear_sint64_list() { - if (_internal_has_sint64_list()) { +inline void MetricsRecordValue::clear_sint_list() { + if (_internal_has_sint_list()) { if (GetArenaForAllocation() == nullptr) { - delete value_.sint64_list_; + delete value_.sint_list_; } clear_has_value(); } } -inline ::flwr::proto::Sint64List* MetricsRecordValue::release_sint64_list() { - // @@protoc_insertion_point(field_release:flwr.proto.MetricsRecordValue.sint64_list) - if (_internal_has_sint64_list()) { +inline ::flwr::proto::SintList* MetricsRecordValue::release_sint_list() { + // @@protoc_insertion_point(field_release:flwr.proto.MetricsRecordValue.sint_list) + if (_internal_has_sint_list()) { clear_has_value(); - ::flwr::proto::Sint64List* temp = value_.sint64_list_; + ::flwr::proto::SintList* temp = value_.sint_list_; if (GetArenaForAllocation() != nullptr) { temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); } - value_.sint64_list_ = nullptr; + value_.sint_list_ = nullptr; return temp; } else { return nullptr; } } -inline const ::flwr::proto::Sint64List& MetricsRecordValue::_internal_sint64_list() const { - return _internal_has_sint64_list() - ? *value_.sint64_list_ - : reinterpret_cast< ::flwr::proto::Sint64List&>(::flwr::proto::_Sint64List_default_instance_); +inline const ::flwr::proto::SintList& MetricsRecordValue::_internal_sint_list() const { + return _internal_has_sint_list() + ? *value_.sint_list_ + : reinterpret_cast< ::flwr::proto::SintList&>(::flwr::proto::_SintList_default_instance_); } -inline const ::flwr::proto::Sint64List& MetricsRecordValue::sint64_list() const { - // @@protoc_insertion_point(field_get:flwr.proto.MetricsRecordValue.sint64_list) - return _internal_sint64_list(); +inline const ::flwr::proto::SintList& MetricsRecordValue::sint_list() const { + // @@protoc_insertion_point(field_get:flwr.proto.MetricsRecordValue.sint_list) + return _internal_sint_list(); } -inline ::flwr::proto::Sint64List* MetricsRecordValue::unsafe_arena_release_sint64_list() { - // @@protoc_insertion_point(field_unsafe_arena_release:flwr.proto.MetricsRecordValue.sint64_list) - if (_internal_has_sint64_list()) { +inline ::flwr::proto::SintList* MetricsRecordValue::unsafe_arena_release_sint_list() { + // @@protoc_insertion_point(field_unsafe_arena_release:flwr.proto.MetricsRecordValue.sint_list) + if (_internal_has_sint_list()) { clear_has_value(); - ::flwr::proto::Sint64List* temp = value_.sint64_list_; - value_.sint64_list_ = nullptr; + ::flwr::proto::SintList* temp = value_.sint_list_; + value_.sint_list_ = nullptr; return temp; } else { return nullptr; } } -inline void MetricsRecordValue::unsafe_arena_set_allocated_sint64_list(::flwr::proto::Sint64List* sint64_list) { +inline void MetricsRecordValue::unsafe_arena_set_allocated_sint_list(::flwr::proto::SintList* sint_list) { clear_value(); - if (sint64_list) { - set_has_sint64_list(); - value_.sint64_list_ = sint64_list; + if (sint_list) { + set_has_sint_list(); + value_.sint_list_ = sint_list; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.MetricsRecordValue.sint64_list) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.MetricsRecordValue.sint_list) } -inline ::flwr::proto::Sint64List* MetricsRecordValue::_internal_mutable_sint64_list() { - if (!_internal_has_sint64_list()) { +inline ::flwr::proto::SintList* MetricsRecordValue::_internal_mutable_sint_list() { + if (!_internal_has_sint_list()) { clear_value(); - set_has_sint64_list(); - value_.sint64_list_ = CreateMaybeMessage< ::flwr::proto::Sint64List >(GetArenaForAllocation()); + set_has_sint_list(); + value_.sint_list_ = CreateMaybeMessage< ::flwr::proto::SintList >(GetArenaForAllocation()); } - return value_.sint64_list_; + return value_.sint_list_; } -inline ::flwr::proto::Sint64List* MetricsRecordValue::mutable_sint64_list() { - ::flwr::proto::Sint64List* _msg = _internal_mutable_sint64_list(); - // @@protoc_insertion_point(field_mutable:flwr.proto.MetricsRecordValue.sint64_list) +inline ::flwr::proto::SintList* MetricsRecordValue::mutable_sint_list() { + ::flwr::proto::SintList* _msg = _internal_mutable_sint_list(); + // @@protoc_insertion_point(field_mutable:flwr.proto.MetricsRecordValue.sint_list) + return _msg; +} + +// .flwr.proto.UintList uint_list = 23; +inline bool MetricsRecordValue::_internal_has_uint_list() const { + return value_case() == kUintList; +} +inline bool MetricsRecordValue::has_uint_list() const { + return _internal_has_uint_list(); +} +inline void MetricsRecordValue::set_has_uint_list() { + _oneof_case_[0] = kUintList; +} +inline void MetricsRecordValue::clear_uint_list() { + if (_internal_has_uint_list()) { + if (GetArenaForAllocation() == nullptr) { + delete value_.uint_list_; + } + clear_has_value(); + } +} +inline ::flwr::proto::UintList* MetricsRecordValue::release_uint_list() { + // @@protoc_insertion_point(field_release:flwr.proto.MetricsRecordValue.uint_list) + if (_internal_has_uint_list()) { + clear_has_value(); + ::flwr::proto::UintList* temp = value_.uint_list_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + value_.uint_list_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flwr::proto::UintList& MetricsRecordValue::_internal_uint_list() const { + return _internal_has_uint_list() + ? *value_.uint_list_ + : reinterpret_cast< ::flwr::proto::UintList&>(::flwr::proto::_UintList_default_instance_); +} +inline const ::flwr::proto::UintList& MetricsRecordValue::uint_list() const { + // @@protoc_insertion_point(field_get:flwr.proto.MetricsRecordValue.uint_list) + return _internal_uint_list(); +} +inline ::flwr::proto::UintList* MetricsRecordValue::unsafe_arena_release_uint_list() { + // @@protoc_insertion_point(field_unsafe_arena_release:flwr.proto.MetricsRecordValue.uint_list) + if (_internal_has_uint_list()) { + clear_has_value(); + ::flwr::proto::UintList* temp = value_.uint_list_; + value_.uint_list_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void MetricsRecordValue::unsafe_arena_set_allocated_uint_list(::flwr::proto::UintList* uint_list) { + clear_value(); + if (uint_list) { + set_has_uint_list(); + value_.uint_list_ = uint_list; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.MetricsRecordValue.uint_list) +} +inline ::flwr::proto::UintList* MetricsRecordValue::_internal_mutable_uint_list() { + if (!_internal_has_uint_list()) { + clear_value(); + set_has_uint_list(); + value_.uint_list_ = CreateMaybeMessage< ::flwr::proto::UintList >(GetArenaForAllocation()); + } + return value_.uint_list_; +} +inline ::flwr::proto::UintList* MetricsRecordValue::mutable_uint_list() { + ::flwr::proto::UintList* _msg = _internal_mutable_uint_list(); + // @@protoc_insertion_point(field_mutable:flwr.proto.MetricsRecordValue.uint_list) return _msg; } @@ -3341,7 +3743,45 @@ inline void ConfigsRecordValue::set_sint64(::PROTOBUF_NAMESPACE_ID::int64 value) // @@protoc_insertion_point(field_set:flwr.proto.ConfigsRecordValue.sint64) } -// bool bool = 3; +// uint64 uint64 = 3; +inline bool ConfigsRecordValue::_internal_has_uint64() const { + return value_case() == kUint64; +} +inline bool ConfigsRecordValue::has_uint64() const { + return _internal_has_uint64(); +} +inline void ConfigsRecordValue::set_has_uint64() { + _oneof_case_[0] = kUint64; +} +inline void ConfigsRecordValue::clear_uint64() { + if (_internal_has_uint64()) { + value_.uint64_ = uint64_t{0u}; + clear_has_value(); + } +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 ConfigsRecordValue::_internal_uint64() const { + if (_internal_has_uint64()) { + return value_.uint64_; + } + return uint64_t{0u}; +} +inline void ConfigsRecordValue::_internal_set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value) { + if (!_internal_has_uint64()) { + clear_value(); + set_has_uint64(); + } + value_.uint64_ = value; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 ConfigsRecordValue::uint64() const { + // @@protoc_insertion_point(field_get:flwr.proto.ConfigsRecordValue.uint64) + return _internal_uint64(); +} +inline void ConfigsRecordValue::set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value) { + _internal_set_uint64(value); + // @@protoc_insertion_point(field_set:flwr.proto.ConfigsRecordValue.uint64) +} + +// bool bool = 4; inline bool ConfigsRecordValue::_internal_has_bool_() const { return value_case() == kBool; } @@ -3379,7 +3819,7 @@ inline void ConfigsRecordValue::set_bool_(bool value) { // @@protoc_insertion_point(field_set:flwr.proto.ConfigsRecordValue.bool) } -// string string = 4; +// string string = 5; inline bool ConfigsRecordValue::_internal_has_string() const { return value_case() == kString; } @@ -3461,7 +3901,7 @@ inline void ConfigsRecordValue::set_allocated_string(std::string* string) { // @@protoc_insertion_point(field_set_allocated:flwr.proto.ConfigsRecordValue.string) } -// bytes bytes = 5; +// bytes bytes = 6; inline bool ConfigsRecordValue::_internal_has_bytes() const { return value_case() == kBytes; } @@ -3617,81 +4057,155 @@ inline ::flwr::proto::DoubleList* ConfigsRecordValue::mutable_double_list() { return _msg; } -// .flwr.proto.Sint64List sint64_list = 22; -inline bool ConfigsRecordValue::_internal_has_sint64_list() const { - return value_case() == kSint64List; +// .flwr.proto.SintList sint_list = 22; +inline bool ConfigsRecordValue::_internal_has_sint_list() const { + return value_case() == kSintList; } -inline bool ConfigsRecordValue::has_sint64_list() const { - return _internal_has_sint64_list(); +inline bool ConfigsRecordValue::has_sint_list() const { + return _internal_has_sint_list(); } -inline void ConfigsRecordValue::set_has_sint64_list() { - _oneof_case_[0] = kSint64List; +inline void ConfigsRecordValue::set_has_sint_list() { + _oneof_case_[0] = kSintList; } -inline void ConfigsRecordValue::clear_sint64_list() { - if (_internal_has_sint64_list()) { +inline void ConfigsRecordValue::clear_sint_list() { + if (_internal_has_sint_list()) { if (GetArenaForAllocation() == nullptr) { - delete value_.sint64_list_; + delete value_.sint_list_; } clear_has_value(); } } -inline ::flwr::proto::Sint64List* ConfigsRecordValue::release_sint64_list() { - // @@protoc_insertion_point(field_release:flwr.proto.ConfigsRecordValue.sint64_list) - if (_internal_has_sint64_list()) { +inline ::flwr::proto::SintList* ConfigsRecordValue::release_sint_list() { + // @@protoc_insertion_point(field_release:flwr.proto.ConfigsRecordValue.sint_list) + if (_internal_has_sint_list()) { clear_has_value(); - ::flwr::proto::Sint64List* temp = value_.sint64_list_; + ::flwr::proto::SintList* temp = value_.sint_list_; if (GetArenaForAllocation() != nullptr) { temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); } - value_.sint64_list_ = nullptr; + value_.sint_list_ = nullptr; return temp; } else { return nullptr; } } -inline const ::flwr::proto::Sint64List& ConfigsRecordValue::_internal_sint64_list() const { - return _internal_has_sint64_list() - ? *value_.sint64_list_ - : reinterpret_cast< ::flwr::proto::Sint64List&>(::flwr::proto::_Sint64List_default_instance_); +inline const ::flwr::proto::SintList& ConfigsRecordValue::_internal_sint_list() const { + return _internal_has_sint_list() + ? *value_.sint_list_ + : reinterpret_cast< ::flwr::proto::SintList&>(::flwr::proto::_SintList_default_instance_); } -inline const ::flwr::proto::Sint64List& ConfigsRecordValue::sint64_list() const { - // @@protoc_insertion_point(field_get:flwr.proto.ConfigsRecordValue.sint64_list) - return _internal_sint64_list(); +inline const ::flwr::proto::SintList& ConfigsRecordValue::sint_list() const { + // @@protoc_insertion_point(field_get:flwr.proto.ConfigsRecordValue.sint_list) + return _internal_sint_list(); } -inline ::flwr::proto::Sint64List* ConfigsRecordValue::unsafe_arena_release_sint64_list() { - // @@protoc_insertion_point(field_unsafe_arena_release:flwr.proto.ConfigsRecordValue.sint64_list) - if (_internal_has_sint64_list()) { +inline ::flwr::proto::SintList* ConfigsRecordValue::unsafe_arena_release_sint_list() { + // @@protoc_insertion_point(field_unsafe_arena_release:flwr.proto.ConfigsRecordValue.sint_list) + if (_internal_has_sint_list()) { clear_has_value(); - ::flwr::proto::Sint64List* temp = value_.sint64_list_; - value_.sint64_list_ = nullptr; + ::flwr::proto::SintList* temp = value_.sint_list_; + value_.sint_list_ = nullptr; return temp; } else { return nullptr; } } -inline void ConfigsRecordValue::unsafe_arena_set_allocated_sint64_list(::flwr::proto::Sint64List* sint64_list) { +inline void ConfigsRecordValue::unsafe_arena_set_allocated_sint_list(::flwr::proto::SintList* sint_list) { clear_value(); - if (sint64_list) { - set_has_sint64_list(); - value_.sint64_list_ = sint64_list; + if (sint_list) { + set_has_sint_list(); + value_.sint_list_ = sint_list; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.ConfigsRecordValue.sint64_list) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.ConfigsRecordValue.sint_list) } -inline ::flwr::proto::Sint64List* ConfigsRecordValue::_internal_mutable_sint64_list() { - if (!_internal_has_sint64_list()) { +inline ::flwr::proto::SintList* ConfigsRecordValue::_internal_mutable_sint_list() { + if (!_internal_has_sint_list()) { clear_value(); - set_has_sint64_list(); - value_.sint64_list_ = CreateMaybeMessage< ::flwr::proto::Sint64List >(GetArenaForAllocation()); + set_has_sint_list(); + value_.sint_list_ = CreateMaybeMessage< ::flwr::proto::SintList >(GetArenaForAllocation()); } - return value_.sint64_list_; + return value_.sint_list_; } -inline ::flwr::proto::Sint64List* ConfigsRecordValue::mutable_sint64_list() { - ::flwr::proto::Sint64List* _msg = _internal_mutable_sint64_list(); - // @@protoc_insertion_point(field_mutable:flwr.proto.ConfigsRecordValue.sint64_list) +inline ::flwr::proto::SintList* ConfigsRecordValue::mutable_sint_list() { + ::flwr::proto::SintList* _msg = _internal_mutable_sint_list(); + // @@protoc_insertion_point(field_mutable:flwr.proto.ConfigsRecordValue.sint_list) return _msg; } -// .flwr.proto.BoolList bool_list = 23; +// .flwr.proto.UintList uint_list = 23; +inline bool ConfigsRecordValue::_internal_has_uint_list() const { + return value_case() == kUintList; +} +inline bool ConfigsRecordValue::has_uint_list() const { + return _internal_has_uint_list(); +} +inline void ConfigsRecordValue::set_has_uint_list() { + _oneof_case_[0] = kUintList; +} +inline void ConfigsRecordValue::clear_uint_list() { + if (_internal_has_uint_list()) { + if (GetArenaForAllocation() == nullptr) { + delete value_.uint_list_; + } + clear_has_value(); + } +} +inline ::flwr::proto::UintList* ConfigsRecordValue::release_uint_list() { + // @@protoc_insertion_point(field_release:flwr.proto.ConfigsRecordValue.uint_list) + if (_internal_has_uint_list()) { + clear_has_value(); + ::flwr::proto::UintList* temp = value_.uint_list_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + value_.uint_list_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::flwr::proto::UintList& ConfigsRecordValue::_internal_uint_list() const { + return _internal_has_uint_list() + ? *value_.uint_list_ + : reinterpret_cast< ::flwr::proto::UintList&>(::flwr::proto::_UintList_default_instance_); +} +inline const ::flwr::proto::UintList& ConfigsRecordValue::uint_list() const { + // @@protoc_insertion_point(field_get:flwr.proto.ConfigsRecordValue.uint_list) + return _internal_uint_list(); +} +inline ::flwr::proto::UintList* ConfigsRecordValue::unsafe_arena_release_uint_list() { + // @@protoc_insertion_point(field_unsafe_arena_release:flwr.proto.ConfigsRecordValue.uint_list) + if (_internal_has_uint_list()) { + clear_has_value(); + ::flwr::proto::UintList* temp = value_.uint_list_; + value_.uint_list_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void ConfigsRecordValue::unsafe_arena_set_allocated_uint_list(::flwr::proto::UintList* uint_list) { + clear_value(); + if (uint_list) { + set_has_uint_list(); + value_.uint_list_ = uint_list; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.ConfigsRecordValue.uint_list) +} +inline ::flwr::proto::UintList* ConfigsRecordValue::_internal_mutable_uint_list() { + if (!_internal_has_uint_list()) { + clear_value(); + set_has_uint_list(); + value_.uint_list_ = CreateMaybeMessage< ::flwr::proto::UintList >(GetArenaForAllocation()); + } + return value_.uint_list_; +} +inline ::flwr::proto::UintList* ConfigsRecordValue::mutable_uint_list() { + ::flwr::proto::UintList* _msg = _internal_mutable_uint_list(); + // @@protoc_insertion_point(field_mutable:flwr.proto.ConfigsRecordValue.uint_list) + return _msg; +} + +// .flwr.proto.BoolList bool_list = 24; inline bool ConfigsRecordValue::_internal_has_bool_list() const { return value_case() == kBoolList; } @@ -3765,7 +4279,7 @@ inline ::flwr::proto::BoolList* ConfigsRecordValue::mutable_bool_list() { return _msg; } -// .flwr.proto.StringList string_list = 24; +// .flwr.proto.StringList string_list = 25; inline bool ConfigsRecordValue::_internal_has_string_list() const { return value_case() == kStringList; } @@ -3839,7 +4353,7 @@ inline ::flwr::proto::StringList* ConfigsRecordValue::mutable_string_list() { return _msg; } -// .flwr.proto.BytesList bytes_list = 25; +// .flwr.proto.BytesList bytes_list = 26; inline bool ConfigsRecordValue::_internal_has_bytes_list() const { return value_case() == kBytesList; } @@ -4243,6 +4757,8 @@ RecordSet::mutable_configs() { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/framework/src/cc/flwr/include/flwr/proto/run.grpc.pb.cc b/framework/src/cc/flwr/include/flwr/proto/run.grpc.pb.cc new file mode 100644 index 000000000000..aac071be0fc9 --- /dev/null +++ b/framework/src/cc/flwr/include/flwr/proto/run.grpc.pb.cc @@ -0,0 +1,27 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: flwr/proto/run.proto + +#include "flwr/proto/run.pb.h" +#include "flwr/proto/run.grpc.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace flwr { +namespace proto { + +} // namespace flwr +} // namespace proto + diff --git a/framework/src/cc/flwr/include/flwr/proto/run.grpc.pb.h b/framework/src/cc/flwr/include/flwr/proto/run.grpc.pb.h new file mode 100644 index 000000000000..6cd7b4e7e516 --- /dev/null +++ b/framework/src/cc/flwr/include/flwr/proto/run.grpc.pb.h @@ -0,0 +1,51 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: flwr/proto/run.proto +// Original file comments: +// Copyright 2024 Flower Labs GmbH. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ============================================================================== +// +#ifndef GRPC_flwr_2fproto_2frun_2eproto__INCLUDED +#define GRPC_flwr_2fproto_2frun_2eproto__INCLUDED + +#include "flwr/proto/run.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace flwr { +namespace proto { + +} // namespace proto +} // namespace flwr + + +#endif // GRPC_flwr_2fproto_2frun_2eproto__INCLUDED diff --git a/framework/src/cc/flwr/include/flwr/proto/run.pb.cc b/framework/src/cc/flwr/include/flwr/proto/run.pb.cc new file mode 100644 index 000000000000..2b493f65f054 --- /dev/null +++ b/framework/src/cc/flwr/include/flwr/proto/run.pb.cc @@ -0,0 +1,3503 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: flwr/proto/run.proto + +#include "flwr/proto/run.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +PROTOBUF_PRAGMA_INIT_SEG +namespace flwr { +namespace proto { +constexpr Run_OverrideConfigEntry_DoNotUse::Run_OverrideConfigEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){} +struct Run_OverrideConfigEntry_DoNotUseDefaultTypeInternal { + constexpr Run_OverrideConfigEntry_DoNotUseDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~Run_OverrideConfigEntry_DoNotUseDefaultTypeInternal() {} + union { + Run_OverrideConfigEntry_DoNotUse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT Run_OverrideConfigEntry_DoNotUseDefaultTypeInternal _Run_OverrideConfigEntry_DoNotUse_default_instance_; +constexpr Run::Run( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : override_config_(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) + , fab_id_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , fab_version_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , fab_hash_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , pending_at_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , starting_at_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , running_at_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , finished_at_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , status_(nullptr) + , run_id_(uint64_t{0u}){} +struct RunDefaultTypeInternal { + constexpr RunDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~RunDefaultTypeInternal() {} + union { + Run _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RunDefaultTypeInternal _Run_default_instance_; +constexpr RunStatus::RunStatus( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : status_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , sub_status_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , details_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} +struct RunStatusDefaultTypeInternal { + constexpr RunStatusDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~RunStatusDefaultTypeInternal() {} + union { + RunStatus _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RunStatusDefaultTypeInternal _RunStatus_default_instance_; +constexpr CreateRunRequest_OverrideConfigEntry_DoNotUse::CreateRunRequest_OverrideConfigEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){} +struct CreateRunRequest_OverrideConfigEntry_DoNotUseDefaultTypeInternal { + constexpr CreateRunRequest_OverrideConfigEntry_DoNotUseDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~CreateRunRequest_OverrideConfigEntry_DoNotUseDefaultTypeInternal() {} + union { + CreateRunRequest_OverrideConfigEntry_DoNotUse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CreateRunRequest_OverrideConfigEntry_DoNotUseDefaultTypeInternal _CreateRunRequest_OverrideConfigEntry_DoNotUse_default_instance_; +constexpr CreateRunRequest::CreateRunRequest( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : override_config_(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) + , fab_id_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , fab_version_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , fab_(nullptr){} +struct CreateRunRequestDefaultTypeInternal { + constexpr CreateRunRequestDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~CreateRunRequestDefaultTypeInternal() {} + union { + CreateRunRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CreateRunRequestDefaultTypeInternal _CreateRunRequest_default_instance_; +constexpr CreateRunResponse::CreateRunResponse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : run_id_(uint64_t{0u}){} +struct CreateRunResponseDefaultTypeInternal { + constexpr CreateRunResponseDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~CreateRunResponseDefaultTypeInternal() {} + union { + CreateRunResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CreateRunResponseDefaultTypeInternal _CreateRunResponse_default_instance_; +constexpr GetRunRequest::GetRunRequest( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : node_(nullptr) + , run_id_(uint64_t{0u}){} +struct GetRunRequestDefaultTypeInternal { + constexpr GetRunRequestDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~GetRunRequestDefaultTypeInternal() {} + union { + GetRunRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetRunRequestDefaultTypeInternal _GetRunRequest_default_instance_; +constexpr GetRunResponse::GetRunResponse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : run_(nullptr){} +struct GetRunResponseDefaultTypeInternal { + constexpr GetRunResponseDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~GetRunResponseDefaultTypeInternal() {} + union { + GetRunResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetRunResponseDefaultTypeInternal _GetRunResponse_default_instance_; +constexpr UpdateRunStatusRequest::UpdateRunStatusRequest( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : run_status_(nullptr) + , run_id_(uint64_t{0u}){} +struct UpdateRunStatusRequestDefaultTypeInternal { + constexpr UpdateRunStatusRequestDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~UpdateRunStatusRequestDefaultTypeInternal() {} + union { + UpdateRunStatusRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UpdateRunStatusRequestDefaultTypeInternal _UpdateRunStatusRequest_default_instance_; +constexpr UpdateRunStatusResponse::UpdateRunStatusResponse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){} +struct UpdateRunStatusResponseDefaultTypeInternal { + constexpr UpdateRunStatusResponseDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~UpdateRunStatusResponseDefaultTypeInternal() {} + union { + UpdateRunStatusResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UpdateRunStatusResponseDefaultTypeInternal _UpdateRunStatusResponse_default_instance_; +constexpr GetRunStatusRequest::GetRunStatusRequest( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : run_ids_() + , _run_ids_cached_byte_size_(0) + , node_(nullptr){} +struct GetRunStatusRequestDefaultTypeInternal { + constexpr GetRunStatusRequestDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~GetRunStatusRequestDefaultTypeInternal() {} + union { + GetRunStatusRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetRunStatusRequestDefaultTypeInternal _GetRunStatusRequest_default_instance_; +constexpr GetRunStatusResponse_RunStatusDictEntry_DoNotUse::GetRunStatusResponse_RunStatusDictEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){} +struct GetRunStatusResponse_RunStatusDictEntry_DoNotUseDefaultTypeInternal { + constexpr GetRunStatusResponse_RunStatusDictEntry_DoNotUseDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~GetRunStatusResponse_RunStatusDictEntry_DoNotUseDefaultTypeInternal() {} + union { + GetRunStatusResponse_RunStatusDictEntry_DoNotUse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetRunStatusResponse_RunStatusDictEntry_DoNotUseDefaultTypeInternal _GetRunStatusResponse_RunStatusDictEntry_DoNotUse_default_instance_; +constexpr GetRunStatusResponse::GetRunStatusResponse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : run_status_dict_(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}){} +struct GetRunStatusResponseDefaultTypeInternal { + constexpr GetRunStatusResponseDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~GetRunStatusResponseDefaultTypeInternal() {} + union { + GetRunStatusResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetRunStatusResponseDefaultTypeInternal _GetRunStatusResponse_default_instance_; +constexpr GetFederationOptionsRequest::GetFederationOptionsRequest( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : run_id_(uint64_t{0u}){} +struct GetFederationOptionsRequestDefaultTypeInternal { + constexpr GetFederationOptionsRequestDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~GetFederationOptionsRequestDefaultTypeInternal() {} + union { + GetFederationOptionsRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetFederationOptionsRequestDefaultTypeInternal _GetFederationOptionsRequest_default_instance_; +constexpr GetFederationOptionsResponse::GetFederationOptionsResponse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : federation_options_(nullptr){} +struct GetFederationOptionsResponseDefaultTypeInternal { + constexpr GetFederationOptionsResponseDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~GetFederationOptionsResponseDefaultTypeInternal() {} + union { + GetFederationOptionsResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetFederationOptionsResponseDefaultTypeInternal _GetFederationOptionsResponse_default_instance_; +} // namespace proto +} // namespace flwr +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_flwr_2fproto_2frun_2eproto[15]; +static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_flwr_2fproto_2frun_2eproto = nullptr; +static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_flwr_2fproto_2frun_2eproto = nullptr; + +const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_flwr_2fproto_2frun_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run_OverrideConfigEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run_OverrideConfigEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run_OverrideConfigEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run_OverrideConfigEntry_DoNotUse, value_), + 0, + 1, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, run_id_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, fab_id_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, fab_version_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, override_config_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, fab_hash_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, pending_at_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, starting_at_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, running_at_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, finished_at_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::Run, status_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::RunStatus, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::RunStatus, status_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::RunStatus, sub_status_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::RunStatus, details_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateRunRequest_OverrideConfigEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateRunRequest_OverrideConfigEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateRunRequest_OverrideConfigEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateRunRequest_OverrideConfigEntry_DoNotUse, value_), + 0, + 1, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateRunRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateRunRequest, fab_id_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateRunRequest, fab_version_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateRunRequest, override_config_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateRunRequest, fab_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateRunResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateRunResponse, run_id_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunRequest, node_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunRequest, run_id_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunResponse, run_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::UpdateRunStatusRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::UpdateRunStatusRequest, run_id_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::UpdateRunStatusRequest, run_status_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::UpdateRunStatusResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunStatusRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunStatusRequest, node_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunStatusRequest, run_ids_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunStatusResponse_RunStatusDictEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunStatusResponse_RunStatusDictEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunStatusResponse_RunStatusDictEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunStatusResponse_RunStatusDictEntry_DoNotUse, value_), + 0, + 1, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunStatusResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetRunStatusResponse, run_status_dict_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetFederationOptionsRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetFederationOptionsRequest, run_id_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetFederationOptionsResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::flwr::proto::GetFederationOptionsResponse, federation_options_), +}; +static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, 8, -1, sizeof(::flwr::proto::Run_OverrideConfigEntry_DoNotUse)}, + { 10, -1, -1, sizeof(::flwr::proto::Run)}, + { 26, -1, -1, sizeof(::flwr::proto::RunStatus)}, + { 35, 43, -1, sizeof(::flwr::proto::CreateRunRequest_OverrideConfigEntry_DoNotUse)}, + { 45, -1, -1, sizeof(::flwr::proto::CreateRunRequest)}, + { 55, -1, -1, sizeof(::flwr::proto::CreateRunResponse)}, + { 62, -1, -1, sizeof(::flwr::proto::GetRunRequest)}, + { 70, -1, -1, sizeof(::flwr::proto::GetRunResponse)}, + { 77, -1, -1, sizeof(::flwr::proto::UpdateRunStatusRequest)}, + { 85, -1, -1, sizeof(::flwr::proto::UpdateRunStatusResponse)}, + { 91, -1, -1, sizeof(::flwr::proto::GetRunStatusRequest)}, + { 99, 107, -1, sizeof(::flwr::proto::GetRunStatusResponse_RunStatusDictEntry_DoNotUse)}, + { 109, -1, -1, sizeof(::flwr::proto::GetRunStatusResponse)}, + { 116, -1, -1, sizeof(::flwr::proto::GetFederationOptionsRequest)}, + { 123, -1, -1, sizeof(::flwr::proto::GetFederationOptionsResponse)}, +}; + +static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { + reinterpret_cast(&::flwr::proto::_Run_OverrideConfigEntry_DoNotUse_default_instance_), + reinterpret_cast(&::flwr::proto::_Run_default_instance_), + reinterpret_cast(&::flwr::proto::_RunStatus_default_instance_), + reinterpret_cast(&::flwr::proto::_CreateRunRequest_OverrideConfigEntry_DoNotUse_default_instance_), + reinterpret_cast(&::flwr::proto::_CreateRunRequest_default_instance_), + reinterpret_cast(&::flwr::proto::_CreateRunResponse_default_instance_), + reinterpret_cast(&::flwr::proto::_GetRunRequest_default_instance_), + reinterpret_cast(&::flwr::proto::_GetRunResponse_default_instance_), + reinterpret_cast(&::flwr::proto::_UpdateRunStatusRequest_default_instance_), + reinterpret_cast(&::flwr::proto::_UpdateRunStatusResponse_default_instance_), + reinterpret_cast(&::flwr::proto::_GetRunStatusRequest_default_instance_), + reinterpret_cast(&::flwr::proto::_GetRunStatusResponse_RunStatusDictEntry_DoNotUse_default_instance_), + reinterpret_cast(&::flwr::proto::_GetRunStatusResponse_default_instance_), + reinterpret_cast(&::flwr::proto::_GetFederationOptionsRequest_default_instance_), + reinterpret_cast(&::flwr::proto::_GetFederationOptionsResponse_default_instance_), +}; + +const char descriptor_table_protodef_flwr_2fproto_2frun_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\024flwr/proto/run.proto\022\nflwr.proto\032\024flwr" + "/proto/fab.proto\032\025flwr/proto/node.proto\032" + "\032flwr/proto/recordset.proto\032\032flwr/proto/" + "transport.proto\"\316\002\n\003Run\022\016\n\006run_id\030\001 \001(\004\022" + "\016\n\006fab_id\030\002 \001(\t\022\023\n\013fab_version\030\003 \001(\t\022<\n\017" + "override_config\030\004 \003(\0132#.flwr.proto.Run.O" + "verrideConfigEntry\022\020\n\010fab_hash\030\005 \001(\t\022\022\n\n" + "pending_at\030\006 \001(\t\022\023\n\013starting_at\030\007 \001(\t\022\022\n" + "\nrunning_at\030\010 \001(\t\022\023\n\013finished_at\030\t \001(\t\022%" + "\n\006status\030\n \001(\0132\025.flwr.proto.RunStatus\032I\n" + "\023OverrideConfigEntry\022\013\n\003key\030\001 \001(\t\022!\n\005val" + "ue\030\002 \001(\0132\022.flwr.proto.Scalar:\0028\001\"@\n\tRunS" + "tatus\022\016\n\006status\030\001 \001(\t\022\022\n\nsub_status\030\002 \001(" + "\t\022\017\n\007details\030\003 \001(\t\"\353\001\n\020CreateRunRequest\022" + "\016\n\006fab_id\030\001 \001(\t\022\023\n\013fab_version\030\002 \001(\t\022I\n\017" + "override_config\030\003 \003(\01320.flwr.proto.Creat" + "eRunRequest.OverrideConfigEntry\022\034\n\003fab\030\004" + " \001(\0132\017.flwr.proto.Fab\032I\n\023OverrideConfigE" + "ntry\022\013\n\003key\030\001 \001(\t\022!\n\005value\030\002 \001(\0132\022.flwr." + "proto.Scalar:\0028\001\"#\n\021CreateRunResponse\022\016\n" + "\006run_id\030\001 \001(\004\"\?\n\rGetRunRequest\022\036\n\004node\030\001" + " \001(\0132\020.flwr.proto.Node\022\016\n\006run_id\030\002 \001(\004\"." + "\n\016GetRunResponse\022\034\n\003run\030\001 \001(\0132\017.flwr.pro" + "to.Run\"S\n\026UpdateRunStatusRequest\022\016\n\006run_" + "id\030\001 \001(\004\022)\n\nrun_status\030\002 \001(\0132\025.flwr.prot" + "o.RunStatus\"\031\n\027UpdateRunStatusResponse\"F" + "\n\023GetRunStatusRequest\022\036\n\004node\030\001 \001(\0132\020.fl" + "wr.proto.Node\022\017\n\007run_ids\030\002 \003(\004\"\261\001\n\024GetRu" + "nStatusResponse\022L\n\017run_status_dict\030\001 \003(\013" + "23.flwr.proto.GetRunStatusResponse.RunSt" + "atusDictEntry\032K\n\022RunStatusDictEntry\022\013\n\003k" + "ey\030\001 \001(\004\022$\n\005value\030\002 \001(\0132\025.flwr.proto.Run" + "Status:\0028\001\"-\n\033GetFederationOptionsReques" + "t\022\016\n\006run_id\030\001 \001(\004\"U\n\034GetFederationOption" + "sResponse\0225\n\022federation_options\030\001 \001(\0132\031." + "flwr.proto.ConfigsRecordb\006proto3" + ; +static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_flwr_2fproto_2frun_2eproto_deps[4] = { + &::descriptor_table_flwr_2fproto_2ffab_2eproto, + &::descriptor_table_flwr_2fproto_2fnode_2eproto, + &::descriptor_table_flwr_2fproto_2frecordset_2eproto, + &::descriptor_table_flwr_2fproto_2ftransport_2eproto, +}; +static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_flwr_2fproto_2frun_2eproto_once; +const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_flwr_2fproto_2frun_2eproto = { + false, false, 1432, descriptor_table_protodef_flwr_2fproto_2frun_2eproto, "flwr/proto/run.proto", + &descriptor_table_flwr_2fproto_2frun_2eproto_once, descriptor_table_flwr_2fproto_2frun_2eproto_deps, 4, 15, + schemas, file_default_instances, TableStruct_flwr_2fproto_2frun_2eproto::offsets, + file_level_metadata_flwr_2fproto_2frun_2eproto, file_level_enum_descriptors_flwr_2fproto_2frun_2eproto, file_level_service_descriptors_flwr_2fproto_2frun_2eproto, +}; +PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_flwr_2fproto_2frun_2eproto_getter() { + return &descriptor_table_flwr_2fproto_2frun_2eproto; +} + +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_flwr_2fproto_2frun_2eproto(&descriptor_table_flwr_2fproto_2frun_2eproto); +namespace flwr { +namespace proto { + +// =================================================================== + +Run_OverrideConfigEntry_DoNotUse::Run_OverrideConfigEntry_DoNotUse() {} +Run_OverrideConfigEntry_DoNotUse::Run_OverrideConfigEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : SuperType(arena) {} +void Run_OverrideConfigEntry_DoNotUse::MergeFrom(const Run_OverrideConfigEntry_DoNotUse& other) { + MergeFromInternal(other); +} +::PROTOBUF_NAMESPACE_ID::Metadata Run_OverrideConfigEntry_DoNotUse::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[0]); +} + +// =================================================================== + +class Run::_Internal { + public: + static const ::flwr::proto::RunStatus& status(const Run* msg); +}; + +const ::flwr::proto::RunStatus& +Run::_Internal::status(const Run* msg) { + return *msg->status_; +} +void Run::clear_override_config() { + override_config_.Clear(); +} +Run::Run(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + override_config_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.Run) +} +Run::Run(const Run& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + override_config_.MergeFrom(from.override_config_); + fab_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_fab_id().empty()) { + fab_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fab_id(), + GetArenaForAllocation()); + } + fab_version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_fab_version().empty()) { + fab_version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fab_version(), + GetArenaForAllocation()); + } + fab_hash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_fab_hash().empty()) { + fab_hash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fab_hash(), + GetArenaForAllocation()); + } + pending_at_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_pending_at().empty()) { + pending_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_pending_at(), + GetArenaForAllocation()); + } + starting_at_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_starting_at().empty()) { + starting_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_starting_at(), + GetArenaForAllocation()); + } + running_at_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_running_at().empty()) { + running_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_running_at(), + GetArenaForAllocation()); + } + finished_at_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_finished_at().empty()) { + finished_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_finished_at(), + GetArenaForAllocation()); + } + if (from._internal_has_status()) { + status_ = new ::flwr::proto::RunStatus(*from.status_); + } else { + status_ = nullptr; + } + run_id_ = from.run_id_; + // @@protoc_insertion_point(copy_constructor:flwr.proto.Run) +} + +void Run::SharedCtor() { +fab_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +fab_version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +fab_hash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +pending_at_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +starting_at_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +running_at_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +finished_at_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&status_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&run_id_) - + reinterpret_cast(&status_)) + sizeof(run_id_)); +} + +Run::~Run() { + // @@protoc_insertion_point(destructor:flwr.proto.Run) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void Run::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + fab_id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + fab_version_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + fab_hash_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + pending_at_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + starting_at_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + running_at_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + finished_at_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete status_; +} + +void Run::ArenaDtor(void* object) { + Run* _this = reinterpret_cast< Run* >(object); + (void)_this; + _this->override_config_. ~MapField(); +} +inline void Run::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena) { + if (arena != nullptr) { + arena->OwnCustomDestructor(this, &Run::ArenaDtor); + } +} +void Run::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void Run::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.Run) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + override_config_.Clear(); + fab_id_.ClearToEmpty(); + fab_version_.ClearToEmpty(); + fab_hash_.ClearToEmpty(); + pending_at_.ClearToEmpty(); + starting_at_.ClearToEmpty(); + running_at_.ClearToEmpty(); + finished_at_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && status_ != nullptr) { + delete status_; + } + status_ = nullptr; + run_id_ = uint64_t{0u}; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* Run::_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) { + // uint64 run_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { + run_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string fab_id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_fab_id(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.Run.fab_id")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string fab_version = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_fab_version(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.Run.fab_version")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // map override_config = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(&override_config_, ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr)); + } else + goto handle_unusual; + continue; + // string fab_hash = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { + auto str = _internal_mutable_fab_hash(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.Run.fab_hash")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string pending_at = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) { + auto str = _internal_mutable_pending_at(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.Run.pending_at")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string starting_at = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) { + auto str = _internal_mutable_starting_at(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.Run.starting_at")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string running_at = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) { + auto str = _internal_mutable_running_at(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.Run.running_at")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string finished_at = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) { + auto str = _internal_mutable_finished_at(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.Run.finished_at")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .flwr.proto.RunStatus status = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) { + ptr = ctx->ParseMessage(_internal_mutable_status(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* Run::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.Run) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // uint64 run_id = 1; + if (this->_internal_run_id() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_run_id(), target); + } + + // string fab_id = 2; + if (!this->_internal_fab_id().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_fab_id().data(), static_cast(this->_internal_fab_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.Run.fab_id"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_fab_id(), target); + } + + // string fab_version = 3; + if (!this->_internal_fab_version().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_fab_version().data(), static_cast(this->_internal_fab_version().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.Run.fab_version"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_fab_version(), target); + } + + // map override_config = 4; + if (!this->_internal_override_config().empty()) { + typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >::const_pointer + ConstPtr; + typedef ConstPtr SortItem; + typedef ::PROTOBUF_NAMESPACE_ID::internal::CompareByDerefFirst Less; + struct Utf8Check { + static void Check(ConstPtr p) { + (void)p; + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + p->first.data(), static_cast(p->first.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.Run.OverrideConfigEntry.key"); + } + }; + + if (stream->IsSerializationDeterministic() && + this->_internal_override_config().size() > 1) { + ::std::unique_ptr items( + new SortItem[this->_internal_override_config().size()]); + typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >::size_type size_type; + size_type n = 0; + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >::const_iterator + it = this->_internal_override_config().begin(); + it != this->_internal_override_config().end(); ++it, ++n) { + items[static_cast(n)] = SortItem(&*it); + } + ::std::sort(&items[0], &items[static_cast(n)], Less()); + for (size_type i = 0; i < n; i++) { + target = Run_OverrideConfigEntry_DoNotUse::Funcs::InternalSerialize(4, items[static_cast(i)]->first, items[static_cast(i)]->second, target, stream); + Utf8Check::Check(&(*items[static_cast(i)])); + } + } else { + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >::const_iterator + it = this->_internal_override_config().begin(); + it != this->_internal_override_config().end(); ++it) { + target = Run_OverrideConfigEntry_DoNotUse::Funcs::InternalSerialize(4, it->first, it->second, target, stream); + Utf8Check::Check(&(*it)); + } + } + } + + // string fab_hash = 5; + if (!this->_internal_fab_hash().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_fab_hash().data(), static_cast(this->_internal_fab_hash().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.Run.fab_hash"); + target = stream->WriteStringMaybeAliased( + 5, this->_internal_fab_hash(), target); + } + + // string pending_at = 6; + if (!this->_internal_pending_at().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_pending_at().data(), static_cast(this->_internal_pending_at().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.Run.pending_at"); + target = stream->WriteStringMaybeAliased( + 6, this->_internal_pending_at(), target); + } + + // string starting_at = 7; + if (!this->_internal_starting_at().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_starting_at().data(), static_cast(this->_internal_starting_at().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.Run.starting_at"); + target = stream->WriteStringMaybeAliased( + 7, this->_internal_starting_at(), target); + } + + // string running_at = 8; + if (!this->_internal_running_at().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_running_at().data(), static_cast(this->_internal_running_at().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.Run.running_at"); + target = stream->WriteStringMaybeAliased( + 8, this->_internal_running_at(), target); + } + + // string finished_at = 9; + if (!this->_internal_finished_at().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_finished_at().data(), static_cast(this->_internal_finished_at().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.Run.finished_at"); + target = stream->WriteStringMaybeAliased( + 9, this->_internal_finished_at(), target); + } + + // .flwr.proto.RunStatus status = 10; + if (this->_internal_has_status()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 10, _Internal::status(this), target, stream); + } + + 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:flwr.proto.Run) + return target; +} + +size_t Run::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.Run) + 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; + + // map override_config = 4; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_override_config_size()); + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >::const_iterator + it = this->_internal_override_config().begin(); + it != this->_internal_override_config().end(); ++it) { + total_size += Run_OverrideConfigEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); + } + + // string fab_id = 2; + if (!this->_internal_fab_id().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_fab_id()); + } + + // string fab_version = 3; + if (!this->_internal_fab_version().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_fab_version()); + } + + // string fab_hash = 5; + if (!this->_internal_fab_hash().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_fab_hash()); + } + + // string pending_at = 6; + if (!this->_internal_pending_at().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_pending_at()); + } + + // string starting_at = 7; + if (!this->_internal_starting_at().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_starting_at()); + } + + // string running_at = 8; + if (!this->_internal_running_at().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_running_at()); + } + + // string finished_at = 9; + if (!this->_internal_finished_at().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_finished_at()); + } + + // .flwr.proto.RunStatus status = 10; + if (this->_internal_has_status()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *status_); + } + + // uint64 run_id = 1; + if (this->_internal_run_id() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_run_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Run::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + Run::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Run::GetClassData() const { return &_class_data_; } + +void Run::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void Run::MergeFrom(const Run& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.Run) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + override_config_.MergeFrom(from.override_config_); + if (!from._internal_fab_id().empty()) { + _internal_set_fab_id(from._internal_fab_id()); + } + if (!from._internal_fab_version().empty()) { + _internal_set_fab_version(from._internal_fab_version()); + } + if (!from._internal_fab_hash().empty()) { + _internal_set_fab_hash(from._internal_fab_hash()); + } + if (!from._internal_pending_at().empty()) { + _internal_set_pending_at(from._internal_pending_at()); + } + if (!from._internal_starting_at().empty()) { + _internal_set_starting_at(from._internal_starting_at()); + } + if (!from._internal_running_at().empty()) { + _internal_set_running_at(from._internal_running_at()); + } + if (!from._internal_finished_at().empty()) { + _internal_set_finished_at(from._internal_finished_at()); + } + if (from._internal_has_status()) { + _internal_mutable_status()->::flwr::proto::RunStatus::MergeFrom(from._internal_status()); + } + if (from._internal_run_id() != 0) { + _internal_set_run_id(from._internal_run_id()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void Run::CopyFrom(const Run& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.Run) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool Run::IsInitialized() const { + return true; +} + +void Run::InternalSwap(Run* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + override_config_.InternalSwap(&other->override_config_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &fab_id_, lhs_arena, + &other->fab_id_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &fab_version_, lhs_arena, + &other->fab_version_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &fab_hash_, lhs_arena, + &other->fab_hash_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &pending_at_, lhs_arena, + &other->pending_at_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &starting_at_, lhs_arena, + &other->starting_at_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &running_at_, lhs_arena, + &other->running_at_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &finished_at_, lhs_arena, + &other->finished_at_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(Run, run_id_) + + sizeof(Run::run_id_) + - PROTOBUF_FIELD_OFFSET(Run, status_)>( + reinterpret_cast(&status_), + reinterpret_cast(&other->status_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata Run::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[1]); +} + +// =================================================================== + +class RunStatus::_Internal { + public: +}; + +RunStatus::RunStatus(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.RunStatus) +} +RunStatus::RunStatus(const RunStatus& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + status_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_status().empty()) { + status_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_status(), + GetArenaForAllocation()); + } + sub_status_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_sub_status().empty()) { + sub_status_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_sub_status(), + GetArenaForAllocation()); + } + details_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_details().empty()) { + details_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_details(), + GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:flwr.proto.RunStatus) +} + +void RunStatus::SharedCtor() { +status_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +sub_status_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +details_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +RunStatus::~RunStatus() { + // @@protoc_insertion_point(destructor:flwr.proto.RunStatus) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void RunStatus::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + status_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + sub_status_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + details_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void RunStatus::ArenaDtor(void* object) { + RunStatus* _this = reinterpret_cast< RunStatus* >(object); + (void)_this; +} +void RunStatus::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void RunStatus::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void RunStatus::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.RunStatus) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + status_.ClearToEmpty(); + sub_status_.ClearToEmpty(); + details_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* RunStatus::_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 status = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_status(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.RunStatus.status")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string sub_status = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_sub_status(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.RunStatus.sub_status")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string details = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_details(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.RunStatus.details")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* RunStatus::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.RunStatus) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string status = 1; + if (!this->_internal_status().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_status().data(), static_cast(this->_internal_status().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.RunStatus.status"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_status(), target); + } + + // string sub_status = 2; + if (!this->_internal_sub_status().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_sub_status().data(), static_cast(this->_internal_sub_status().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.RunStatus.sub_status"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_sub_status(), target); + } + + // string details = 3; + if (!this->_internal_details().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_details().data(), static_cast(this->_internal_details().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.RunStatus.details"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_details(), 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:flwr.proto.RunStatus) + return target; +} + +size_t RunStatus::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.RunStatus) + 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 status = 1; + if (!this->_internal_status().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_status()); + } + + // string sub_status = 2; + if (!this->_internal_sub_status().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_sub_status()); + } + + // string details = 3; + if (!this->_internal_details().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_details()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RunStatus::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + RunStatus::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RunStatus::GetClassData() const { return &_class_data_; } + +void RunStatus::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void RunStatus::MergeFrom(const RunStatus& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.RunStatus) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_status().empty()) { + _internal_set_status(from._internal_status()); + } + if (!from._internal_sub_status().empty()) { + _internal_set_sub_status(from._internal_sub_status()); + } + if (!from._internal_details().empty()) { + _internal_set_details(from._internal_details()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void RunStatus::CopyFrom(const RunStatus& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.RunStatus) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool RunStatus::IsInitialized() const { + return true; +} + +void RunStatus::InternalSwap(RunStatus* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &status_, lhs_arena, + &other->status_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &sub_status_, lhs_arena, + &other->sub_status_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &details_, lhs_arena, + &other->details_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata RunStatus::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[2]); +} + +// =================================================================== + +CreateRunRequest_OverrideConfigEntry_DoNotUse::CreateRunRequest_OverrideConfigEntry_DoNotUse() {} +CreateRunRequest_OverrideConfigEntry_DoNotUse::CreateRunRequest_OverrideConfigEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : SuperType(arena) {} +void CreateRunRequest_OverrideConfigEntry_DoNotUse::MergeFrom(const CreateRunRequest_OverrideConfigEntry_DoNotUse& other) { + MergeFromInternal(other); +} +::PROTOBUF_NAMESPACE_ID::Metadata CreateRunRequest_OverrideConfigEntry_DoNotUse::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[3]); +} + +// =================================================================== + +class CreateRunRequest::_Internal { + public: + static const ::flwr::proto::Fab& fab(const CreateRunRequest* msg); +}; + +const ::flwr::proto::Fab& +CreateRunRequest::_Internal::fab(const CreateRunRequest* msg) { + return *msg->fab_; +} +void CreateRunRequest::clear_override_config() { + override_config_.Clear(); +} +void CreateRunRequest::clear_fab() { + if (GetArenaForAllocation() == nullptr && fab_ != nullptr) { + delete fab_; + } + fab_ = nullptr; +} +CreateRunRequest::CreateRunRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + override_config_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.CreateRunRequest) +} +CreateRunRequest::CreateRunRequest(const CreateRunRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + override_config_.MergeFrom(from.override_config_); + fab_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_fab_id().empty()) { + fab_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fab_id(), + GetArenaForAllocation()); + } + fab_version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_fab_version().empty()) { + fab_version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_fab_version(), + GetArenaForAllocation()); + } + if (from._internal_has_fab()) { + fab_ = new ::flwr::proto::Fab(*from.fab_); + } else { + fab_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flwr.proto.CreateRunRequest) +} + +void CreateRunRequest::SharedCtor() { +fab_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +fab_version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +fab_ = nullptr; +} + +CreateRunRequest::~CreateRunRequest() { + // @@protoc_insertion_point(destructor:flwr.proto.CreateRunRequest) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void CreateRunRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + fab_id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + fab_version_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete fab_; +} + +void CreateRunRequest::ArenaDtor(void* object) { + CreateRunRequest* _this = reinterpret_cast< CreateRunRequest* >(object); + (void)_this; + _this->override_config_. ~MapField(); +} +inline void CreateRunRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena) { + if (arena != nullptr) { + arena->OwnCustomDestructor(this, &CreateRunRequest::ArenaDtor); + } +} +void CreateRunRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void CreateRunRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.CreateRunRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + override_config_.Clear(); + fab_id_.ClearToEmpty(); + fab_version_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && fab_ != nullptr) { + delete fab_; + } + fab_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* CreateRunRequest::_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 fab_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_fab_id(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.CreateRunRequest.fab_id")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string fab_version = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_fab_version(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.CreateRunRequest.fab_version")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // map override_config = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(&override_config_, ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); + } else + goto handle_unusual; + continue; + // .flwr.proto.Fab fab = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + ptr = ctx->ParseMessage(_internal_mutable_fab(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* CreateRunRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.CreateRunRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string fab_id = 1; + if (!this->_internal_fab_id().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_fab_id().data(), static_cast(this->_internal_fab_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.CreateRunRequest.fab_id"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_fab_id(), target); + } + + // string fab_version = 2; + if (!this->_internal_fab_version().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_fab_version().data(), static_cast(this->_internal_fab_version().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.CreateRunRequest.fab_version"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_fab_version(), target); + } + + // map override_config = 3; + if (!this->_internal_override_config().empty()) { + typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >::const_pointer + ConstPtr; + typedef ConstPtr SortItem; + typedef ::PROTOBUF_NAMESPACE_ID::internal::CompareByDerefFirst Less; + struct Utf8Check { + static void Check(ConstPtr p) { + (void)p; + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + p->first.data(), static_cast(p->first.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "flwr.proto.CreateRunRequest.OverrideConfigEntry.key"); + } + }; + + if (stream->IsSerializationDeterministic() && + this->_internal_override_config().size() > 1) { + ::std::unique_ptr items( + new SortItem[this->_internal_override_config().size()]); + typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >::size_type size_type; + size_type n = 0; + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >::const_iterator + it = this->_internal_override_config().begin(); + it != this->_internal_override_config().end(); ++it, ++n) { + items[static_cast(n)] = SortItem(&*it); + } + ::std::sort(&items[0], &items[static_cast(n)], Less()); + for (size_type i = 0; i < n; i++) { + target = CreateRunRequest_OverrideConfigEntry_DoNotUse::Funcs::InternalSerialize(3, items[static_cast(i)]->first, items[static_cast(i)]->second, target, stream); + Utf8Check::Check(&(*items[static_cast(i)])); + } + } else { + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >::const_iterator + it = this->_internal_override_config().begin(); + it != this->_internal_override_config().end(); ++it) { + target = CreateRunRequest_OverrideConfigEntry_DoNotUse::Funcs::InternalSerialize(3, it->first, it->second, target, stream); + Utf8Check::Check(&(*it)); + } + } + } + + // .flwr.proto.Fab fab = 4; + if (this->_internal_has_fab()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 4, _Internal::fab(this), target, stream); + } + + 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:flwr.proto.CreateRunRequest) + return target; +} + +size_t CreateRunRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.CreateRunRequest) + 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; + + // map override_config = 3; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_override_config_size()); + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >::const_iterator + it = this->_internal_override_config().begin(); + it != this->_internal_override_config().end(); ++it) { + total_size += CreateRunRequest_OverrideConfigEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); + } + + // string fab_id = 1; + if (!this->_internal_fab_id().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_fab_id()); + } + + // string fab_version = 2; + if (!this->_internal_fab_version().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_fab_version()); + } + + // .flwr.proto.Fab fab = 4; + if (this->_internal_has_fab()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *fab_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateRunRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + CreateRunRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateRunRequest::GetClassData() const { return &_class_data_; } + +void CreateRunRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void CreateRunRequest::MergeFrom(const CreateRunRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.CreateRunRequest) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + override_config_.MergeFrom(from.override_config_); + if (!from._internal_fab_id().empty()) { + _internal_set_fab_id(from._internal_fab_id()); + } + if (!from._internal_fab_version().empty()) { + _internal_set_fab_version(from._internal_fab_version()); + } + if (from._internal_has_fab()) { + _internal_mutable_fab()->::flwr::proto::Fab::MergeFrom(from._internal_fab()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void CreateRunRequest::CopyFrom(const CreateRunRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.CreateRunRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool CreateRunRequest::IsInitialized() const { + return true; +} + +void CreateRunRequest::InternalSwap(CreateRunRequest* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + override_config_.InternalSwap(&other->override_config_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &fab_id_, lhs_arena, + &other->fab_id_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &fab_version_, lhs_arena, + &other->fab_version_, rhs_arena + ); + swap(fab_, other->fab_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata CreateRunRequest::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[4]); +} + +// =================================================================== + +class CreateRunResponse::_Internal { + public: +}; + +CreateRunResponse::CreateRunResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.CreateRunResponse) +} +CreateRunResponse::CreateRunResponse(const CreateRunResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + run_id_ = from.run_id_; + // @@protoc_insertion_point(copy_constructor:flwr.proto.CreateRunResponse) +} + +void CreateRunResponse::SharedCtor() { +run_id_ = uint64_t{0u}; +} + +CreateRunResponse::~CreateRunResponse() { + // @@protoc_insertion_point(destructor:flwr.proto.CreateRunResponse) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void CreateRunResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void CreateRunResponse::ArenaDtor(void* object) { + CreateRunResponse* _this = reinterpret_cast< CreateRunResponse* >(object); + (void)_this; +} +void CreateRunResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void CreateRunResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void CreateRunResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.CreateRunResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + run_id_ = uint64_t{0u}; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* CreateRunResponse::_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) { + // uint64 run_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { + run_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* CreateRunResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.CreateRunResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // uint64 run_id = 1; + if (this->_internal_run_id() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_run_id(), 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:flwr.proto.CreateRunResponse) + return target; +} + +size_t CreateRunResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.CreateRunResponse) + 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; + + // uint64 run_id = 1; + if (this->_internal_run_id() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_run_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateRunResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + CreateRunResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateRunResponse::GetClassData() const { return &_class_data_; } + +void CreateRunResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void CreateRunResponse::MergeFrom(const CreateRunResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.CreateRunResponse) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_run_id() != 0) { + _internal_set_run_id(from._internal_run_id()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void CreateRunResponse::CopyFrom(const CreateRunResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.CreateRunResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool CreateRunResponse::IsInitialized() const { + return true; +} + +void CreateRunResponse::InternalSwap(CreateRunResponse* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(run_id_, other->run_id_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata CreateRunResponse::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[5]); +} + +// =================================================================== + +class GetRunRequest::_Internal { + public: + static const ::flwr::proto::Node& node(const GetRunRequest* msg); +}; + +const ::flwr::proto::Node& +GetRunRequest::_Internal::node(const GetRunRequest* msg) { + return *msg->node_; +} +void GetRunRequest::clear_node() { + if (GetArenaForAllocation() == nullptr && node_ != nullptr) { + delete node_; + } + node_ = nullptr; +} +GetRunRequest::GetRunRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.GetRunRequest) +} +GetRunRequest::GetRunRequest(const GetRunRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_node()) { + node_ = new ::flwr::proto::Node(*from.node_); + } else { + node_ = nullptr; + } + run_id_ = from.run_id_; + // @@protoc_insertion_point(copy_constructor:flwr.proto.GetRunRequest) +} + +void GetRunRequest::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&node_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&run_id_) - + reinterpret_cast(&node_)) + sizeof(run_id_)); +} + +GetRunRequest::~GetRunRequest() { + // @@protoc_insertion_point(destructor:flwr.proto.GetRunRequest) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void GetRunRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete node_; +} + +void GetRunRequest::ArenaDtor(void* object) { + GetRunRequest* _this = reinterpret_cast< GetRunRequest* >(object); + (void)_this; +} +void GetRunRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetRunRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void GetRunRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.GetRunRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && node_ != nullptr) { + delete node_; + } + node_ = nullptr; + run_id_ = uint64_t{0u}; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetRunRequest::_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) { + // .flwr.proto.Node node = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_node(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // uint64 run_id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { + run_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetRunRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.GetRunRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flwr.proto.Node node = 1; + if (this->_internal_has_node()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::node(this), target, stream); + } + + // uint64 run_id = 2; + if (this->_internal_run_id() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->_internal_run_id(), 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:flwr.proto.GetRunRequest) + return target; +} + +size_t GetRunRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.GetRunRequest) + 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; + + // .flwr.proto.Node node = 1; + if (this->_internal_has_node()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *node_); + } + + // uint64 run_id = 2; + if (this->_internal_run_id() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_run_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetRunRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GetRunRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetRunRequest::GetClassData() const { return &_class_data_; } + +void GetRunRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GetRunRequest::MergeFrom(const GetRunRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.GetRunRequest) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_node()) { + _internal_mutable_node()->::flwr::proto::Node::MergeFrom(from._internal_node()); + } + if (from._internal_run_id() != 0) { + _internal_set_run_id(from._internal_run_id()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetRunRequest::CopyFrom(const GetRunRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.GetRunRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetRunRequest::IsInitialized() const { + return true; +} + +void GetRunRequest::InternalSwap(GetRunRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(GetRunRequest, run_id_) + + sizeof(GetRunRequest::run_id_) + - PROTOBUF_FIELD_OFFSET(GetRunRequest, node_)>( + reinterpret_cast(&node_), + reinterpret_cast(&other->node_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetRunRequest::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[6]); +} + +// =================================================================== + +class GetRunResponse::_Internal { + public: + static const ::flwr::proto::Run& run(const GetRunResponse* msg); +}; + +const ::flwr::proto::Run& +GetRunResponse::_Internal::run(const GetRunResponse* msg) { + return *msg->run_; +} +GetRunResponse::GetRunResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.GetRunResponse) +} +GetRunResponse::GetRunResponse(const GetRunResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_run()) { + run_ = new ::flwr::proto::Run(*from.run_); + } else { + run_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flwr.proto.GetRunResponse) +} + +void GetRunResponse::SharedCtor() { +run_ = nullptr; +} + +GetRunResponse::~GetRunResponse() { + // @@protoc_insertion_point(destructor:flwr.proto.GetRunResponse) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void GetRunResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete run_; +} + +void GetRunResponse::ArenaDtor(void* object) { + GetRunResponse* _this = reinterpret_cast< GetRunResponse* >(object); + (void)_this; +} +void GetRunResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetRunResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void GetRunResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.GetRunResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && run_ != nullptr) { + delete run_; + } + run_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetRunResponse::_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) { + // .flwr.proto.Run run = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_run(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetRunResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.GetRunResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flwr.proto.Run run = 1; + if (this->_internal_has_run()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::run(this), target, stream); + } + + 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:flwr.proto.GetRunResponse) + return target; +} + +size_t GetRunResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.GetRunResponse) + 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; + + // .flwr.proto.Run run = 1; + if (this->_internal_has_run()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *run_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetRunResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GetRunResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetRunResponse::GetClassData() const { return &_class_data_; } + +void GetRunResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GetRunResponse::MergeFrom(const GetRunResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.GetRunResponse) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_run()) { + _internal_mutable_run()->::flwr::proto::Run::MergeFrom(from._internal_run()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetRunResponse::CopyFrom(const GetRunResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.GetRunResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetRunResponse::IsInitialized() const { + return true; +} + +void GetRunResponse::InternalSwap(GetRunResponse* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(run_, other->run_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetRunResponse::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[7]); +} + +// =================================================================== + +class UpdateRunStatusRequest::_Internal { + public: + static const ::flwr::proto::RunStatus& run_status(const UpdateRunStatusRequest* msg); +}; + +const ::flwr::proto::RunStatus& +UpdateRunStatusRequest::_Internal::run_status(const UpdateRunStatusRequest* msg) { + return *msg->run_status_; +} +UpdateRunStatusRequest::UpdateRunStatusRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.UpdateRunStatusRequest) +} +UpdateRunStatusRequest::UpdateRunStatusRequest(const UpdateRunStatusRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_run_status()) { + run_status_ = new ::flwr::proto::RunStatus(*from.run_status_); + } else { + run_status_ = nullptr; + } + run_id_ = from.run_id_; + // @@protoc_insertion_point(copy_constructor:flwr.proto.UpdateRunStatusRequest) +} + +void UpdateRunStatusRequest::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&run_status_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&run_id_) - + reinterpret_cast(&run_status_)) + sizeof(run_id_)); +} + +UpdateRunStatusRequest::~UpdateRunStatusRequest() { + // @@protoc_insertion_point(destructor:flwr.proto.UpdateRunStatusRequest) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void UpdateRunStatusRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete run_status_; +} + +void UpdateRunStatusRequest::ArenaDtor(void* object) { + UpdateRunStatusRequest* _this = reinterpret_cast< UpdateRunStatusRequest* >(object); + (void)_this; +} +void UpdateRunStatusRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void UpdateRunStatusRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void UpdateRunStatusRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.UpdateRunStatusRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && run_status_ != nullptr) { + delete run_status_; + } + run_status_ = nullptr; + run_id_ = uint64_t{0u}; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* UpdateRunStatusRequest::_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) { + // uint64 run_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { + run_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .flwr.proto.RunStatus run_status = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_run_status(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* UpdateRunStatusRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.UpdateRunStatusRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // uint64 run_id = 1; + if (this->_internal_run_id() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_run_id(), target); + } + + // .flwr.proto.RunStatus run_status = 2; + if (this->_internal_has_run_status()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::run_status(this), target, stream); + } + + 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:flwr.proto.UpdateRunStatusRequest) + return target; +} + +size_t UpdateRunStatusRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.UpdateRunStatusRequest) + 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; + + // .flwr.proto.RunStatus run_status = 2; + if (this->_internal_has_run_status()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *run_status_); + } + + // uint64 run_id = 1; + if (this->_internal_run_id() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_run_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData UpdateRunStatusRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + UpdateRunStatusRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*UpdateRunStatusRequest::GetClassData() const { return &_class_data_; } + +void UpdateRunStatusRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void UpdateRunStatusRequest::MergeFrom(const UpdateRunStatusRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.UpdateRunStatusRequest) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_run_status()) { + _internal_mutable_run_status()->::flwr::proto::RunStatus::MergeFrom(from._internal_run_status()); + } + if (from._internal_run_id() != 0) { + _internal_set_run_id(from._internal_run_id()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void UpdateRunStatusRequest::CopyFrom(const UpdateRunStatusRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.UpdateRunStatusRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool UpdateRunStatusRequest::IsInitialized() const { + return true; +} + +void UpdateRunStatusRequest::InternalSwap(UpdateRunStatusRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(UpdateRunStatusRequest, run_id_) + + sizeof(UpdateRunStatusRequest::run_id_) + - PROTOBUF_FIELD_OFFSET(UpdateRunStatusRequest, run_status_)>( + reinterpret_cast(&run_status_), + reinterpret_cast(&other->run_status_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata UpdateRunStatusRequest::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[8]); +} + +// =================================================================== + +class UpdateRunStatusResponse::_Internal { + public: +}; + +UpdateRunStatusResponse::UpdateRunStatusResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) { + // @@protoc_insertion_point(arena_constructor:flwr.proto.UpdateRunStatusResponse) +} +UpdateRunStatusResponse::UpdateRunStatusResponse(const UpdateRunStatusResponse& from) + : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:flwr.proto.UpdateRunStatusResponse) +} + + + + + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData UpdateRunStatusResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl, + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl, +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*UpdateRunStatusResponse::GetClassData() const { return &_class_data_; } + + + + + + + +::PROTOBUF_NAMESPACE_ID::Metadata UpdateRunStatusResponse::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[9]); +} + +// =================================================================== + +class GetRunStatusRequest::_Internal { + public: + static const ::flwr::proto::Node& node(const GetRunStatusRequest* msg); +}; + +const ::flwr::proto::Node& +GetRunStatusRequest::_Internal::node(const GetRunStatusRequest* msg) { + return *msg->node_; +} +void GetRunStatusRequest::clear_node() { + if (GetArenaForAllocation() == nullptr && node_ != nullptr) { + delete node_; + } + node_ = nullptr; +} +GetRunStatusRequest::GetRunStatusRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + run_ids_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.GetRunStatusRequest) +} +GetRunStatusRequest::GetRunStatusRequest(const GetRunStatusRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + run_ids_(from.run_ids_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_node()) { + node_ = new ::flwr::proto::Node(*from.node_); + } else { + node_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flwr.proto.GetRunStatusRequest) +} + +void GetRunStatusRequest::SharedCtor() { +node_ = nullptr; +} + +GetRunStatusRequest::~GetRunStatusRequest() { + // @@protoc_insertion_point(destructor:flwr.proto.GetRunStatusRequest) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void GetRunStatusRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete node_; +} + +void GetRunStatusRequest::ArenaDtor(void* object) { + GetRunStatusRequest* _this = reinterpret_cast< GetRunStatusRequest* >(object); + (void)_this; +} +void GetRunStatusRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetRunStatusRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void GetRunStatusRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.GetRunStatusRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + run_ids_.Clear(); + if (GetArenaForAllocation() == nullptr && node_ != nullptr) { + delete node_; + } + node_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetRunStatusRequest::_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) { + // .flwr.proto.Node node = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_node(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // repeated uint64 run_ids = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_run_ids(), ptr, ctx); + CHK_(ptr); + } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) { + _internal_add_run_ids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetRunStatusRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.GetRunStatusRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flwr.proto.Node node = 1; + if (this->_internal_has_node()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::node(this), target, stream); + } + + // repeated uint64 run_ids = 2; + { + int byte_size = _run_ids_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteUInt64Packed( + 2, _internal_run_ids(), byte_size, 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:flwr.proto.GetRunStatusRequest) + return target; +} + +size_t GetRunStatusRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.GetRunStatusRequest) + 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 uint64 run_ids = 2; + { + size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + UInt64Size(this->run_ids_); + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _run_ids_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + + // .flwr.proto.Node node = 1; + if (this->_internal_has_node()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *node_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetRunStatusRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GetRunStatusRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetRunStatusRequest::GetClassData() const { return &_class_data_; } + +void GetRunStatusRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GetRunStatusRequest::MergeFrom(const GetRunStatusRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.GetRunStatusRequest) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + run_ids_.MergeFrom(from.run_ids_); + if (from._internal_has_node()) { + _internal_mutable_node()->::flwr::proto::Node::MergeFrom(from._internal_node()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetRunStatusRequest::CopyFrom(const GetRunStatusRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.GetRunStatusRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetRunStatusRequest::IsInitialized() const { + return true; +} + +void GetRunStatusRequest::InternalSwap(GetRunStatusRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + run_ids_.InternalSwap(&other->run_ids_); + swap(node_, other->node_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetRunStatusRequest::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[10]); +} + +// =================================================================== + +GetRunStatusResponse_RunStatusDictEntry_DoNotUse::GetRunStatusResponse_RunStatusDictEntry_DoNotUse() {} +GetRunStatusResponse_RunStatusDictEntry_DoNotUse::GetRunStatusResponse_RunStatusDictEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : SuperType(arena) {} +void GetRunStatusResponse_RunStatusDictEntry_DoNotUse::MergeFrom(const GetRunStatusResponse_RunStatusDictEntry_DoNotUse& other) { + MergeFromInternal(other); +} +::PROTOBUF_NAMESPACE_ID::Metadata GetRunStatusResponse_RunStatusDictEntry_DoNotUse::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[11]); +} + +// =================================================================== + +class GetRunStatusResponse::_Internal { + public: +}; + +GetRunStatusResponse::GetRunStatusResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + run_status_dict_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.GetRunStatusResponse) +} +GetRunStatusResponse::GetRunStatusResponse(const GetRunStatusResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + run_status_dict_.MergeFrom(from.run_status_dict_); + // @@protoc_insertion_point(copy_constructor:flwr.proto.GetRunStatusResponse) +} + +void GetRunStatusResponse::SharedCtor() { +} + +GetRunStatusResponse::~GetRunStatusResponse() { + // @@protoc_insertion_point(destructor:flwr.proto.GetRunStatusResponse) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void GetRunStatusResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void GetRunStatusResponse::ArenaDtor(void* object) { + GetRunStatusResponse* _this = reinterpret_cast< GetRunStatusResponse* >(object); + (void)_this; + _this->run_status_dict_. ~MapField(); +} +inline void GetRunStatusResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena) { + if (arena != nullptr) { + arena->OwnCustomDestructor(this, &GetRunStatusResponse::ArenaDtor); + } +} +void GetRunStatusResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void GetRunStatusResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.GetRunStatusResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + run_status_dict_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetRunStatusResponse::_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) { + // map run_status_dict = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(&run_status_dict_, ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetRunStatusResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.GetRunStatusResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // map run_status_dict = 1; + if (!this->_internal_run_status_dict().empty()) { + typedef ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >::const_pointer + ConstPtr; + typedef ::PROTOBUF_NAMESPACE_ID::internal::SortItem< ::PROTOBUF_NAMESPACE_ID::uint64, ConstPtr > SortItem; + typedef ::PROTOBUF_NAMESPACE_ID::internal::CompareByFirstField Less; + + if (stream->IsSerializationDeterministic() && + this->_internal_run_status_dict().size() > 1) { + ::std::unique_ptr items( + new SortItem[this->_internal_run_status_dict().size()]); + typedef ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >::size_type size_type; + size_type n = 0; + for (::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >::const_iterator + it = this->_internal_run_status_dict().begin(); + it != this->_internal_run_status_dict().end(); ++it, ++n) { + items[static_cast(n)] = SortItem(&*it); + } + ::std::sort(&items[0], &items[static_cast(n)], Less()); + for (size_type i = 0; i < n; i++) { + target = GetRunStatusResponse_RunStatusDictEntry_DoNotUse::Funcs::InternalSerialize(1, items[static_cast(i)].second->first, items[static_cast(i)].second->second, target, stream); + } + } else { + for (::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >::const_iterator + it = this->_internal_run_status_dict().begin(); + it != this->_internal_run_status_dict().end(); ++it) { + target = GetRunStatusResponse_RunStatusDictEntry_DoNotUse::Funcs::InternalSerialize(1, it->first, it->second, target, stream); + } + } + } + + 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:flwr.proto.GetRunStatusResponse) + return target; +} + +size_t GetRunStatusResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.GetRunStatusResponse) + 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; + + // map run_status_dict = 1; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_run_status_dict_size()); + for (::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >::const_iterator + it = this->_internal_run_status_dict().begin(); + it != this->_internal_run_status_dict().end(); ++it) { + total_size += GetRunStatusResponse_RunStatusDictEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetRunStatusResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GetRunStatusResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetRunStatusResponse::GetClassData() const { return &_class_data_; } + +void GetRunStatusResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GetRunStatusResponse::MergeFrom(const GetRunStatusResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.GetRunStatusResponse) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + run_status_dict_.MergeFrom(from.run_status_dict_); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetRunStatusResponse::CopyFrom(const GetRunStatusResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.GetRunStatusResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetRunStatusResponse::IsInitialized() const { + return true; +} + +void GetRunStatusResponse::InternalSwap(GetRunStatusResponse* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + run_status_dict_.InternalSwap(&other->run_status_dict_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetRunStatusResponse::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[12]); +} + +// =================================================================== + +class GetFederationOptionsRequest::_Internal { + public: +}; + +GetFederationOptionsRequest::GetFederationOptionsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.GetFederationOptionsRequest) +} +GetFederationOptionsRequest::GetFederationOptionsRequest(const GetFederationOptionsRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + run_id_ = from.run_id_; + // @@protoc_insertion_point(copy_constructor:flwr.proto.GetFederationOptionsRequest) +} + +void GetFederationOptionsRequest::SharedCtor() { +run_id_ = uint64_t{0u}; +} + +GetFederationOptionsRequest::~GetFederationOptionsRequest() { + // @@protoc_insertion_point(destructor:flwr.proto.GetFederationOptionsRequest) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void GetFederationOptionsRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void GetFederationOptionsRequest::ArenaDtor(void* object) { + GetFederationOptionsRequest* _this = reinterpret_cast< GetFederationOptionsRequest* >(object); + (void)_this; +} +void GetFederationOptionsRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetFederationOptionsRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void GetFederationOptionsRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.GetFederationOptionsRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + run_id_ = uint64_t{0u}; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetFederationOptionsRequest::_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) { + // uint64 run_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { + run_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetFederationOptionsRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.GetFederationOptionsRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // uint64 run_id = 1; + if (this->_internal_run_id() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_run_id(), 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:flwr.proto.GetFederationOptionsRequest) + return target; +} + +size_t GetFederationOptionsRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.GetFederationOptionsRequest) + 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; + + // uint64 run_id = 1; + if (this->_internal_run_id() != 0) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_run_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetFederationOptionsRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GetFederationOptionsRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetFederationOptionsRequest::GetClassData() const { return &_class_data_; } + +void GetFederationOptionsRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GetFederationOptionsRequest::MergeFrom(const GetFederationOptionsRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.GetFederationOptionsRequest) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_run_id() != 0) { + _internal_set_run_id(from._internal_run_id()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetFederationOptionsRequest::CopyFrom(const GetFederationOptionsRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.GetFederationOptionsRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetFederationOptionsRequest::IsInitialized() const { + return true; +} + +void GetFederationOptionsRequest::InternalSwap(GetFederationOptionsRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(run_id_, other->run_id_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetFederationOptionsRequest::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[13]); +} + +// =================================================================== + +class GetFederationOptionsResponse::_Internal { + public: + static const ::flwr::proto::ConfigsRecord& federation_options(const GetFederationOptionsResponse* msg); +}; + +const ::flwr::proto::ConfigsRecord& +GetFederationOptionsResponse::_Internal::federation_options(const GetFederationOptionsResponse* msg) { + return *msg->federation_options_; +} +void GetFederationOptionsResponse::clear_federation_options() { + if (GetArenaForAllocation() == nullptr && federation_options_ != nullptr) { + delete federation_options_; + } + federation_options_ = nullptr; +} +GetFederationOptionsResponse::GetFederationOptionsResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:flwr.proto.GetFederationOptionsResponse) +} +GetFederationOptionsResponse::GetFederationOptionsResponse(const GetFederationOptionsResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_federation_options()) { + federation_options_ = new ::flwr::proto::ConfigsRecord(*from.federation_options_); + } else { + federation_options_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flwr.proto.GetFederationOptionsResponse) +} + +void GetFederationOptionsResponse::SharedCtor() { +federation_options_ = nullptr; +} + +GetFederationOptionsResponse::~GetFederationOptionsResponse() { + // @@protoc_insertion_point(destructor:flwr.proto.GetFederationOptionsResponse) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void GetFederationOptionsResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete federation_options_; +} + +void GetFederationOptionsResponse::ArenaDtor(void* object) { + GetFederationOptionsResponse* _this = reinterpret_cast< GetFederationOptionsResponse* >(object); + (void)_this; +} +void GetFederationOptionsResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetFederationOptionsResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void GetFederationOptionsResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:flwr.proto.GetFederationOptionsResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && federation_options_ != nullptr) { + delete federation_options_; + } + federation_options_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetFederationOptionsResponse::_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) { + // .flwr.proto.ConfigsRecord federation_options = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_federation_options(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetFederationOptionsResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.GetFederationOptionsResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flwr.proto.ConfigsRecord federation_options = 1; + if (this->_internal_has_federation_options()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::federation_options(this), target, stream); + } + + 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:flwr.proto.GetFederationOptionsResponse) + return target; +} + +size_t GetFederationOptionsResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flwr.proto.GetFederationOptionsResponse) + 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; + + // .flwr.proto.ConfigsRecord federation_options = 1; + if (this->_internal_has_federation_options()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *federation_options_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetFederationOptionsResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GetFederationOptionsResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetFederationOptionsResponse::GetClassData() const { return &_class_data_; } + +void GetFederationOptionsResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GetFederationOptionsResponse::MergeFrom(const GetFederationOptionsResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.GetFederationOptionsResponse) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_federation_options()) { + _internal_mutable_federation_options()->::flwr::proto::ConfigsRecord::MergeFrom(from._internal_federation_options()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetFederationOptionsResponse::CopyFrom(const GetFederationOptionsResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.GetFederationOptionsResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetFederationOptionsResponse::IsInitialized() const { + return true; +} + +void GetFederationOptionsResponse::InternalSwap(GetFederationOptionsResponse* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(federation_options_, other->federation_options_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetFederationOptionsResponse::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_flwr_2fproto_2frun_2eproto_getter, &descriptor_table_flwr_2fproto_2frun_2eproto_once, + file_level_metadata_flwr_2fproto_2frun_2eproto[14]); +} + +// @@protoc_insertion_point(namespace_scope) +} // namespace proto +} // namespace flwr +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::flwr::proto::Run_OverrideConfigEntry_DoNotUse* Arena::CreateMaybeMessage< ::flwr::proto::Run_OverrideConfigEntry_DoNotUse >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::Run_OverrideConfigEntry_DoNotUse >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::Run* Arena::CreateMaybeMessage< ::flwr::proto::Run >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::Run >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::RunStatus* Arena::CreateMaybeMessage< ::flwr::proto::RunStatus >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::RunStatus >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::CreateRunRequest_OverrideConfigEntry_DoNotUse* Arena::CreateMaybeMessage< ::flwr::proto::CreateRunRequest_OverrideConfigEntry_DoNotUse >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::CreateRunRequest_OverrideConfigEntry_DoNotUse >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::CreateRunRequest* Arena::CreateMaybeMessage< ::flwr::proto::CreateRunRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::CreateRunRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::CreateRunResponse* Arena::CreateMaybeMessage< ::flwr::proto::CreateRunResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::CreateRunResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::GetRunRequest* Arena::CreateMaybeMessage< ::flwr::proto::GetRunRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::GetRunRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::GetRunResponse* Arena::CreateMaybeMessage< ::flwr::proto::GetRunResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::GetRunResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::UpdateRunStatusRequest* Arena::CreateMaybeMessage< ::flwr::proto::UpdateRunStatusRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::UpdateRunStatusRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::UpdateRunStatusResponse* Arena::CreateMaybeMessage< ::flwr::proto::UpdateRunStatusResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::UpdateRunStatusResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::GetRunStatusRequest* Arena::CreateMaybeMessage< ::flwr::proto::GetRunStatusRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::GetRunStatusRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::GetRunStatusResponse_RunStatusDictEntry_DoNotUse* Arena::CreateMaybeMessage< ::flwr::proto::GetRunStatusResponse_RunStatusDictEntry_DoNotUse >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::GetRunStatusResponse_RunStatusDictEntry_DoNotUse >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::GetRunStatusResponse* Arena::CreateMaybeMessage< ::flwr::proto::GetRunStatusResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::GetRunStatusResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::GetFederationOptionsRequest* Arena::CreateMaybeMessage< ::flwr::proto::GetFederationOptionsRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::GetFederationOptionsRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flwr::proto::GetFederationOptionsResponse* Arena::CreateMaybeMessage< ::flwr::proto::GetFederationOptionsResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::flwr::proto::GetFederationOptionsResponse >(arena); +} +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include diff --git a/framework/src/cc/flwr/include/flwr/proto/run.pb.h b/framework/src/cc/flwr/include/flwr/proto/run.pb.h new file mode 100644 index 000000000000..658e490f2255 --- /dev/null +++ b/framework/src/cc/flwr/include/flwr/proto/run.pb.h @@ -0,0 +1,3752 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: flwr/proto/run.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_flwr_2fproto_2frun_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_flwr_2fproto_2frun_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3018000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3018001 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +#include +#include "flwr/proto/fab.pb.h" +#include "flwr/proto/node.pb.h" +#include "flwr/proto/recordset.pb.h" +#include "flwr/proto/transport.pb.h" +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_flwr_2fproto_2frun_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_flwr_2fproto_2frun_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + 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[15] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_flwr_2fproto_2frun_2eproto; +namespace flwr { +namespace proto { +class CreateRunRequest; +struct CreateRunRequestDefaultTypeInternal; +extern CreateRunRequestDefaultTypeInternal _CreateRunRequest_default_instance_; +class CreateRunRequest_OverrideConfigEntry_DoNotUse; +struct CreateRunRequest_OverrideConfigEntry_DoNotUseDefaultTypeInternal; +extern CreateRunRequest_OverrideConfigEntry_DoNotUseDefaultTypeInternal _CreateRunRequest_OverrideConfigEntry_DoNotUse_default_instance_; +class CreateRunResponse; +struct CreateRunResponseDefaultTypeInternal; +extern CreateRunResponseDefaultTypeInternal _CreateRunResponse_default_instance_; +class GetFederationOptionsRequest; +struct GetFederationOptionsRequestDefaultTypeInternal; +extern GetFederationOptionsRequestDefaultTypeInternal _GetFederationOptionsRequest_default_instance_; +class GetFederationOptionsResponse; +struct GetFederationOptionsResponseDefaultTypeInternal; +extern GetFederationOptionsResponseDefaultTypeInternal _GetFederationOptionsResponse_default_instance_; +class GetRunRequest; +struct GetRunRequestDefaultTypeInternal; +extern GetRunRequestDefaultTypeInternal _GetRunRequest_default_instance_; +class GetRunResponse; +struct GetRunResponseDefaultTypeInternal; +extern GetRunResponseDefaultTypeInternal _GetRunResponse_default_instance_; +class GetRunStatusRequest; +struct GetRunStatusRequestDefaultTypeInternal; +extern GetRunStatusRequestDefaultTypeInternal _GetRunStatusRequest_default_instance_; +class GetRunStatusResponse; +struct GetRunStatusResponseDefaultTypeInternal; +extern GetRunStatusResponseDefaultTypeInternal _GetRunStatusResponse_default_instance_; +class GetRunStatusResponse_RunStatusDictEntry_DoNotUse; +struct GetRunStatusResponse_RunStatusDictEntry_DoNotUseDefaultTypeInternal; +extern GetRunStatusResponse_RunStatusDictEntry_DoNotUseDefaultTypeInternal _GetRunStatusResponse_RunStatusDictEntry_DoNotUse_default_instance_; +class Run; +struct RunDefaultTypeInternal; +extern RunDefaultTypeInternal _Run_default_instance_; +class RunStatus; +struct RunStatusDefaultTypeInternal; +extern RunStatusDefaultTypeInternal _RunStatus_default_instance_; +class Run_OverrideConfigEntry_DoNotUse; +struct Run_OverrideConfigEntry_DoNotUseDefaultTypeInternal; +extern Run_OverrideConfigEntry_DoNotUseDefaultTypeInternal _Run_OverrideConfigEntry_DoNotUse_default_instance_; +class UpdateRunStatusRequest; +struct UpdateRunStatusRequestDefaultTypeInternal; +extern UpdateRunStatusRequestDefaultTypeInternal _UpdateRunStatusRequest_default_instance_; +class UpdateRunStatusResponse; +struct UpdateRunStatusResponseDefaultTypeInternal; +extern UpdateRunStatusResponseDefaultTypeInternal _UpdateRunStatusResponse_default_instance_; +} // namespace proto +} // namespace flwr +PROTOBUF_NAMESPACE_OPEN +template<> ::flwr::proto::CreateRunRequest* Arena::CreateMaybeMessage<::flwr::proto::CreateRunRequest>(Arena*); +template<> ::flwr::proto::CreateRunRequest_OverrideConfigEntry_DoNotUse* Arena::CreateMaybeMessage<::flwr::proto::CreateRunRequest_OverrideConfigEntry_DoNotUse>(Arena*); +template<> ::flwr::proto::CreateRunResponse* Arena::CreateMaybeMessage<::flwr::proto::CreateRunResponse>(Arena*); +template<> ::flwr::proto::GetFederationOptionsRequest* Arena::CreateMaybeMessage<::flwr::proto::GetFederationOptionsRequest>(Arena*); +template<> ::flwr::proto::GetFederationOptionsResponse* Arena::CreateMaybeMessage<::flwr::proto::GetFederationOptionsResponse>(Arena*); +template<> ::flwr::proto::GetRunRequest* Arena::CreateMaybeMessage<::flwr::proto::GetRunRequest>(Arena*); +template<> ::flwr::proto::GetRunResponse* Arena::CreateMaybeMessage<::flwr::proto::GetRunResponse>(Arena*); +template<> ::flwr::proto::GetRunStatusRequest* Arena::CreateMaybeMessage<::flwr::proto::GetRunStatusRequest>(Arena*); +template<> ::flwr::proto::GetRunStatusResponse* Arena::CreateMaybeMessage<::flwr::proto::GetRunStatusResponse>(Arena*); +template<> ::flwr::proto::GetRunStatusResponse_RunStatusDictEntry_DoNotUse* Arena::CreateMaybeMessage<::flwr::proto::GetRunStatusResponse_RunStatusDictEntry_DoNotUse>(Arena*); +template<> ::flwr::proto::Run* Arena::CreateMaybeMessage<::flwr::proto::Run>(Arena*); +template<> ::flwr::proto::RunStatus* Arena::CreateMaybeMessage<::flwr::proto::RunStatus>(Arena*); +template<> ::flwr::proto::Run_OverrideConfigEntry_DoNotUse* Arena::CreateMaybeMessage<::flwr::proto::Run_OverrideConfigEntry_DoNotUse>(Arena*); +template<> ::flwr::proto::UpdateRunStatusRequest* Arena::CreateMaybeMessage<::flwr::proto::UpdateRunStatusRequest>(Arena*); +template<> ::flwr::proto::UpdateRunStatusResponse* Arena::CreateMaybeMessage<::flwr::proto::UpdateRunStatusResponse>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace flwr { +namespace proto { + +// =================================================================== + +class Run_OverrideConfigEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { +public: + typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; + Run_OverrideConfigEntry_DoNotUse(); + explicit constexpr Run_OverrideConfigEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + explicit Run_OverrideConfigEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + void MergeFrom(const Run_OverrideConfigEntry_DoNotUse& other); + static const Run_OverrideConfigEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_Run_OverrideConfigEntry_DoNotUse_default_instance_); } + static bool ValidateKey(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "flwr.proto.Run.OverrideConfigEntry.key"); + } + static bool ValidateValue(void*) { return true; } + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; +}; + +// ------------------------------------------------------------------- + +class Run final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.Run) */ { + public: + inline Run() : Run(nullptr) {} + ~Run() override; + explicit constexpr Run(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + Run(const Run& from); + Run(Run&& from) noexcept + : Run() { + *this = ::std::move(from); + } + + inline Run& operator=(const Run& from) { + CopyFrom(from); + return *this; + } + inline Run& operator=(Run&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 Run& default_instance() { + return *internal_default_instance(); + } + static inline const Run* internal_default_instance() { + return reinterpret_cast( + &_Run_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(Run& a, Run& b) { + a.Swap(&b); + } + inline void Swap(Run* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Run* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline Run* New() const final { + return new Run(); + } + + Run* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const Run& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const Run& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(Run* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.Run"; + } + protected: + explicit Run(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + + // accessors ------------------------------------------------------- + + enum : int { + kOverrideConfigFieldNumber = 4, + kFabIdFieldNumber = 2, + kFabVersionFieldNumber = 3, + kFabHashFieldNumber = 5, + kPendingAtFieldNumber = 6, + kStartingAtFieldNumber = 7, + kRunningAtFieldNumber = 8, + kFinishedAtFieldNumber = 9, + kStatusFieldNumber = 10, + kRunIdFieldNumber = 1, + }; + // map override_config = 4; + int override_config_size() const; + private: + int _internal_override_config_size() const; + public: + void clear_override_config(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >& + _internal_override_config() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >* + _internal_mutable_override_config(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >& + override_config() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >* + mutable_override_config(); + + // string fab_id = 2; + void clear_fab_id(); + const std::string& fab_id() const; + template + void set_fab_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_fab_id(); + PROTOBUF_MUST_USE_RESULT std::string* release_fab_id(); + void set_allocated_fab_id(std::string* fab_id); + private: + const std::string& _internal_fab_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fab_id(const std::string& value); + std::string* _internal_mutable_fab_id(); + public: + + // string fab_version = 3; + void clear_fab_version(); + const std::string& fab_version() const; + template + void set_fab_version(ArgT0&& arg0, ArgT... args); + std::string* mutable_fab_version(); + PROTOBUF_MUST_USE_RESULT std::string* release_fab_version(); + void set_allocated_fab_version(std::string* fab_version); + private: + const std::string& _internal_fab_version() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fab_version(const std::string& value); + std::string* _internal_mutable_fab_version(); + public: + + // string fab_hash = 5; + void clear_fab_hash(); + const std::string& fab_hash() const; + template + void set_fab_hash(ArgT0&& arg0, ArgT... args); + std::string* mutable_fab_hash(); + PROTOBUF_MUST_USE_RESULT std::string* release_fab_hash(); + void set_allocated_fab_hash(std::string* fab_hash); + private: + const std::string& _internal_fab_hash() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fab_hash(const std::string& value); + std::string* _internal_mutable_fab_hash(); + public: + + // string pending_at = 6; + void clear_pending_at(); + const std::string& pending_at() const; + template + void set_pending_at(ArgT0&& arg0, ArgT... args); + std::string* mutable_pending_at(); + PROTOBUF_MUST_USE_RESULT std::string* release_pending_at(); + void set_allocated_pending_at(std::string* pending_at); + private: + const std::string& _internal_pending_at() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_pending_at(const std::string& value); + std::string* _internal_mutable_pending_at(); + public: + + // string starting_at = 7; + void clear_starting_at(); + const std::string& starting_at() const; + template + void set_starting_at(ArgT0&& arg0, ArgT... args); + std::string* mutable_starting_at(); + PROTOBUF_MUST_USE_RESULT std::string* release_starting_at(); + void set_allocated_starting_at(std::string* starting_at); + private: + const std::string& _internal_starting_at() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_starting_at(const std::string& value); + std::string* _internal_mutable_starting_at(); + public: + + // string running_at = 8; + void clear_running_at(); + const std::string& running_at() const; + template + void set_running_at(ArgT0&& arg0, ArgT... args); + std::string* mutable_running_at(); + PROTOBUF_MUST_USE_RESULT std::string* release_running_at(); + void set_allocated_running_at(std::string* running_at); + private: + const std::string& _internal_running_at() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_running_at(const std::string& value); + std::string* _internal_mutable_running_at(); + public: + + // string finished_at = 9; + void clear_finished_at(); + const std::string& finished_at() const; + template + void set_finished_at(ArgT0&& arg0, ArgT... args); + std::string* mutable_finished_at(); + PROTOBUF_MUST_USE_RESULT std::string* release_finished_at(); + void set_allocated_finished_at(std::string* finished_at); + private: + const std::string& _internal_finished_at() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_finished_at(const std::string& value); + std::string* _internal_mutable_finished_at(); + public: + + // .flwr.proto.RunStatus status = 10; + bool has_status() const; + private: + bool _internal_has_status() const; + public: + void clear_status(); + const ::flwr::proto::RunStatus& status() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::RunStatus* release_status(); + ::flwr::proto::RunStatus* mutable_status(); + void set_allocated_status(::flwr::proto::RunStatus* status); + private: + const ::flwr::proto::RunStatus& _internal_status() const; + ::flwr::proto::RunStatus* _internal_mutable_status(); + public: + void unsafe_arena_set_allocated_status( + ::flwr::proto::RunStatus* status); + ::flwr::proto::RunStatus* unsafe_arena_release_status(); + + // uint64 run_id = 1; + void clear_run_id(); + ::PROTOBUF_NAMESPACE_ID::uint64 run_id() const; + void set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_run_id() const; + void _internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); + public: + + // @@protoc_insertion_point(class_scope:flwr.proto.Run) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + Run_OverrideConfigEntry_DoNotUse, + std::string, ::flwr::proto::Scalar, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> override_config_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fab_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fab_version_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fab_hash_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr pending_at_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr starting_at_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr running_at_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr finished_at_; + ::flwr::proto::RunStatus* status_; + ::PROTOBUF_NAMESPACE_ID::uint64 run_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// ------------------------------------------------------------------- + +class RunStatus final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.RunStatus) */ { + public: + inline RunStatus() : RunStatus(nullptr) {} + ~RunStatus() override; + explicit constexpr RunStatus(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + RunStatus(const RunStatus& from); + RunStatus(RunStatus&& from) noexcept + : RunStatus() { + *this = ::std::move(from); + } + + inline RunStatus& operator=(const RunStatus& from) { + CopyFrom(from); + return *this; + } + inline RunStatus& operator=(RunStatus&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 RunStatus& default_instance() { + return *internal_default_instance(); + } + static inline const RunStatus* internal_default_instance() { + return reinterpret_cast( + &_RunStatus_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(RunStatus& a, RunStatus& b) { + a.Swap(&b); + } + inline void Swap(RunStatus* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(RunStatus* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline RunStatus* New() const final { + return new RunStatus(); + } + + RunStatus* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const RunStatus& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const RunStatus& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(RunStatus* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.RunStatus"; + } + protected: + explicit RunStatus(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kStatusFieldNumber = 1, + kSubStatusFieldNumber = 2, + kDetailsFieldNumber = 3, + }; + // string status = 1; + void clear_status(); + const std::string& status() const; + template + void set_status(ArgT0&& arg0, ArgT... args); + std::string* mutable_status(); + PROTOBUF_MUST_USE_RESULT std::string* release_status(); + void set_allocated_status(std::string* status); + private: + const std::string& _internal_status() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_status(const std::string& value); + std::string* _internal_mutable_status(); + public: + + // string sub_status = 2; + void clear_sub_status(); + const std::string& sub_status() const; + template + void set_sub_status(ArgT0&& arg0, ArgT... args); + std::string* mutable_sub_status(); + PROTOBUF_MUST_USE_RESULT std::string* release_sub_status(); + void set_allocated_sub_status(std::string* sub_status); + private: + const std::string& _internal_sub_status() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_sub_status(const std::string& value); + std::string* _internal_mutable_sub_status(); + public: + + // string details = 3; + void clear_details(); + const std::string& details() const; + template + void set_details(ArgT0&& arg0, ArgT... args); + std::string* mutable_details(); + PROTOBUF_MUST_USE_RESULT std::string* release_details(); + void set_allocated_details(std::string* details); + private: + const std::string& _internal_details() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_details(const std::string& value); + std::string* _internal_mutable_details(); + public: + + // @@protoc_insertion_point(class_scope:flwr.proto.RunStatus) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr status_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sub_status_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr details_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// ------------------------------------------------------------------- + +class CreateRunRequest_OverrideConfigEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { +public: + typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; + CreateRunRequest_OverrideConfigEntry_DoNotUse(); + explicit constexpr CreateRunRequest_OverrideConfigEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + explicit CreateRunRequest_OverrideConfigEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + void MergeFrom(const CreateRunRequest_OverrideConfigEntry_DoNotUse& other); + static const CreateRunRequest_OverrideConfigEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_CreateRunRequest_OverrideConfigEntry_DoNotUse_default_instance_); } + static bool ValidateKey(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "flwr.proto.CreateRunRequest.OverrideConfigEntry.key"); + } + static bool ValidateValue(void*) { return true; } + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; +}; + +// ------------------------------------------------------------------- + +class CreateRunRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.CreateRunRequest) */ { + public: + inline CreateRunRequest() : CreateRunRequest(nullptr) {} + ~CreateRunRequest() override; + explicit constexpr CreateRunRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + CreateRunRequest(const CreateRunRequest& from); + CreateRunRequest(CreateRunRequest&& from) noexcept + : CreateRunRequest() { + *this = ::std::move(from); + } + + inline CreateRunRequest& operator=(const CreateRunRequest& from) { + CopyFrom(from); + return *this; + } + inline CreateRunRequest& operator=(CreateRunRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 CreateRunRequest& default_instance() { + return *internal_default_instance(); + } + static inline const CreateRunRequest* internal_default_instance() { + return reinterpret_cast( + &_CreateRunRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + friend void swap(CreateRunRequest& a, CreateRunRequest& b) { + a.Swap(&b); + } + inline void Swap(CreateRunRequest* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(CreateRunRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline CreateRunRequest* New() const final { + return new CreateRunRequest(); + } + + CreateRunRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const CreateRunRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const CreateRunRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(CreateRunRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.CreateRunRequest"; + } + protected: + explicit CreateRunRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + + // accessors ------------------------------------------------------- + + enum : int { + kOverrideConfigFieldNumber = 3, + kFabIdFieldNumber = 1, + kFabVersionFieldNumber = 2, + kFabFieldNumber = 4, + }; + // map override_config = 3; + int override_config_size() const; + private: + int _internal_override_config_size() const; + public: + void clear_override_config(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >& + _internal_override_config() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >* + _internal_mutable_override_config(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >& + override_config() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >* + mutable_override_config(); + + // string fab_id = 1; + void clear_fab_id(); + const std::string& fab_id() const; + template + void set_fab_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_fab_id(); + PROTOBUF_MUST_USE_RESULT std::string* release_fab_id(); + void set_allocated_fab_id(std::string* fab_id); + private: + const std::string& _internal_fab_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fab_id(const std::string& value); + std::string* _internal_mutable_fab_id(); + public: + + // string fab_version = 2; + void clear_fab_version(); + const std::string& fab_version() const; + template + void set_fab_version(ArgT0&& arg0, ArgT... args); + std::string* mutable_fab_version(); + PROTOBUF_MUST_USE_RESULT std::string* release_fab_version(); + void set_allocated_fab_version(std::string* fab_version); + private: + const std::string& _internal_fab_version() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fab_version(const std::string& value); + std::string* _internal_mutable_fab_version(); + public: + + // .flwr.proto.Fab fab = 4; + bool has_fab() const; + private: + bool _internal_has_fab() const; + public: + void clear_fab(); + const ::flwr::proto::Fab& fab() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::Fab* release_fab(); + ::flwr::proto::Fab* mutable_fab(); + void set_allocated_fab(::flwr::proto::Fab* fab); + private: + const ::flwr::proto::Fab& _internal_fab() const; + ::flwr::proto::Fab* _internal_mutable_fab(); + public: + void unsafe_arena_set_allocated_fab( + ::flwr::proto::Fab* fab); + ::flwr::proto::Fab* unsafe_arena_release_fab(); + + // @@protoc_insertion_point(class_scope:flwr.proto.CreateRunRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + CreateRunRequest_OverrideConfigEntry_DoNotUse, + std::string, ::flwr::proto::Scalar, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> override_config_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fab_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fab_version_; + ::flwr::proto::Fab* fab_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// ------------------------------------------------------------------- + +class CreateRunResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.CreateRunResponse) */ { + public: + inline CreateRunResponse() : CreateRunResponse(nullptr) {} + ~CreateRunResponse() override; + explicit constexpr CreateRunResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + CreateRunResponse(const CreateRunResponse& from); + CreateRunResponse(CreateRunResponse&& from) noexcept + : CreateRunResponse() { + *this = ::std::move(from); + } + + inline CreateRunResponse& operator=(const CreateRunResponse& from) { + CopyFrom(from); + return *this; + } + inline CreateRunResponse& operator=(CreateRunResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 CreateRunResponse& default_instance() { + return *internal_default_instance(); + } + static inline const CreateRunResponse* internal_default_instance() { + return reinterpret_cast( + &_CreateRunResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + friend void swap(CreateRunResponse& a, CreateRunResponse& b) { + a.Swap(&b); + } + inline void Swap(CreateRunResponse* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(CreateRunResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline CreateRunResponse* New() const final { + return new CreateRunResponse(); + } + + CreateRunResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const CreateRunResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const CreateRunResponse& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(CreateRunResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.CreateRunResponse"; + } + protected: + explicit CreateRunResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kRunIdFieldNumber = 1, + }; + // uint64 run_id = 1; + void clear_run_id(); + ::PROTOBUF_NAMESPACE_ID::uint64 run_id() const; + void set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_run_id() const; + void _internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); + public: + + // @@protoc_insertion_point(class_scope:flwr.proto.CreateRunResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::uint64 run_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// ------------------------------------------------------------------- + +class GetRunRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.GetRunRequest) */ { + public: + inline GetRunRequest() : GetRunRequest(nullptr) {} + ~GetRunRequest() override; + explicit constexpr GetRunRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetRunRequest(const GetRunRequest& from); + GetRunRequest(GetRunRequest&& from) noexcept + : GetRunRequest() { + *this = ::std::move(from); + } + + inline GetRunRequest& operator=(const GetRunRequest& from) { + CopyFrom(from); + return *this; + } + inline GetRunRequest& operator=(GetRunRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 GetRunRequest& default_instance() { + return *internal_default_instance(); + } + static inline const GetRunRequest* internal_default_instance() { + return reinterpret_cast( + &_GetRunRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 6; + + friend void swap(GetRunRequest& a, GetRunRequest& b) { + a.Swap(&b); + } + inline void Swap(GetRunRequest* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetRunRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetRunRequest* New() const final { + return new GetRunRequest(); + } + + GetRunRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetRunRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const GetRunRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(GetRunRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.GetRunRequest"; + } + protected: + explicit GetRunRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNodeFieldNumber = 1, + kRunIdFieldNumber = 2, + }; + // .flwr.proto.Node node = 1; + bool has_node() const; + private: + bool _internal_has_node() const; + public: + void clear_node(); + const ::flwr::proto::Node& node() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::Node* release_node(); + ::flwr::proto::Node* mutable_node(); + void set_allocated_node(::flwr::proto::Node* node); + private: + const ::flwr::proto::Node& _internal_node() const; + ::flwr::proto::Node* _internal_mutable_node(); + public: + void unsafe_arena_set_allocated_node( + ::flwr::proto::Node* node); + ::flwr::proto::Node* unsafe_arena_release_node(); + + // uint64 run_id = 2; + void clear_run_id(); + ::PROTOBUF_NAMESPACE_ID::uint64 run_id() const; + void set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_run_id() const; + void _internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); + public: + + // @@protoc_insertion_point(class_scope:flwr.proto.GetRunRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::flwr::proto::Node* node_; + ::PROTOBUF_NAMESPACE_ID::uint64 run_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// ------------------------------------------------------------------- + +class GetRunResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.GetRunResponse) */ { + public: + inline GetRunResponse() : GetRunResponse(nullptr) {} + ~GetRunResponse() override; + explicit constexpr GetRunResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetRunResponse(const GetRunResponse& from); + GetRunResponse(GetRunResponse&& from) noexcept + : GetRunResponse() { + *this = ::std::move(from); + } + + inline GetRunResponse& operator=(const GetRunResponse& from) { + CopyFrom(from); + return *this; + } + inline GetRunResponse& operator=(GetRunResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 GetRunResponse& default_instance() { + return *internal_default_instance(); + } + static inline const GetRunResponse* internal_default_instance() { + return reinterpret_cast( + &_GetRunResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 7; + + friend void swap(GetRunResponse& a, GetRunResponse& b) { + a.Swap(&b); + } + inline void Swap(GetRunResponse* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetRunResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetRunResponse* New() const final { + return new GetRunResponse(); + } + + GetRunResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetRunResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const GetRunResponse& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(GetRunResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.GetRunResponse"; + } + protected: + explicit GetRunResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kRunFieldNumber = 1, + }; + // .flwr.proto.Run run = 1; + bool has_run() const; + private: + bool _internal_has_run() const; + public: + void clear_run(); + const ::flwr::proto::Run& run() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::Run* release_run(); + ::flwr::proto::Run* mutable_run(); + void set_allocated_run(::flwr::proto::Run* run); + private: + const ::flwr::proto::Run& _internal_run() const; + ::flwr::proto::Run* _internal_mutable_run(); + public: + void unsafe_arena_set_allocated_run( + ::flwr::proto::Run* run); + ::flwr::proto::Run* unsafe_arena_release_run(); + + // @@protoc_insertion_point(class_scope:flwr.proto.GetRunResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::flwr::proto::Run* run_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// ------------------------------------------------------------------- + +class UpdateRunStatusRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.UpdateRunStatusRequest) */ { + public: + inline UpdateRunStatusRequest() : UpdateRunStatusRequest(nullptr) {} + ~UpdateRunStatusRequest() override; + explicit constexpr UpdateRunStatusRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + UpdateRunStatusRequest(const UpdateRunStatusRequest& from); + UpdateRunStatusRequest(UpdateRunStatusRequest&& from) noexcept + : UpdateRunStatusRequest() { + *this = ::std::move(from); + } + + inline UpdateRunStatusRequest& operator=(const UpdateRunStatusRequest& from) { + CopyFrom(from); + return *this; + } + inline UpdateRunStatusRequest& operator=(UpdateRunStatusRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 UpdateRunStatusRequest& default_instance() { + return *internal_default_instance(); + } + static inline const UpdateRunStatusRequest* internal_default_instance() { + return reinterpret_cast( + &_UpdateRunStatusRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 8; + + friend void swap(UpdateRunStatusRequest& a, UpdateRunStatusRequest& b) { + a.Swap(&b); + } + inline void Swap(UpdateRunStatusRequest* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(UpdateRunStatusRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline UpdateRunStatusRequest* New() const final { + return new UpdateRunStatusRequest(); + } + + UpdateRunStatusRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const UpdateRunStatusRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const UpdateRunStatusRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(UpdateRunStatusRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.UpdateRunStatusRequest"; + } + protected: + explicit UpdateRunStatusRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kRunStatusFieldNumber = 2, + kRunIdFieldNumber = 1, + }; + // .flwr.proto.RunStatus run_status = 2; + bool has_run_status() const; + private: + bool _internal_has_run_status() const; + public: + void clear_run_status(); + const ::flwr::proto::RunStatus& run_status() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::RunStatus* release_run_status(); + ::flwr::proto::RunStatus* mutable_run_status(); + void set_allocated_run_status(::flwr::proto::RunStatus* run_status); + private: + const ::flwr::proto::RunStatus& _internal_run_status() const; + ::flwr::proto::RunStatus* _internal_mutable_run_status(); + public: + void unsafe_arena_set_allocated_run_status( + ::flwr::proto::RunStatus* run_status); + ::flwr::proto::RunStatus* unsafe_arena_release_run_status(); + + // uint64 run_id = 1; + void clear_run_id(); + ::PROTOBUF_NAMESPACE_ID::uint64 run_id() const; + void set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_run_id() const; + void _internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); + public: + + // @@protoc_insertion_point(class_scope:flwr.proto.UpdateRunStatusRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::flwr::proto::RunStatus* run_status_; + ::PROTOBUF_NAMESPACE_ID::uint64 run_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// ------------------------------------------------------------------- + +class UpdateRunStatusResponse final : + public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:flwr.proto.UpdateRunStatusResponse) */ { + public: + inline UpdateRunStatusResponse() : UpdateRunStatusResponse(nullptr) {} + explicit constexpr UpdateRunStatusResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + UpdateRunStatusResponse(const UpdateRunStatusResponse& from); + UpdateRunStatusResponse(UpdateRunStatusResponse&& from) noexcept + : UpdateRunStatusResponse() { + *this = ::std::move(from); + } + + inline UpdateRunStatusResponse& operator=(const UpdateRunStatusResponse& from) { + CopyFrom(from); + return *this; + } + inline UpdateRunStatusResponse& operator=(UpdateRunStatusResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 UpdateRunStatusResponse& default_instance() { + return *internal_default_instance(); + } + static inline const UpdateRunStatusResponse* internal_default_instance() { + return reinterpret_cast( + &_UpdateRunStatusResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 9; + + friend void swap(UpdateRunStatusResponse& a, UpdateRunStatusResponse& b) { + a.Swap(&b); + } + inline void Swap(UpdateRunStatusResponse* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(UpdateRunStatusResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline UpdateRunStatusResponse* New() const final { + return new UpdateRunStatusResponse(); + } + + UpdateRunStatusResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom; + inline void CopyFrom(const UpdateRunStatusResponse& from) { + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(this, from); + } + using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom; + void MergeFrom(const UpdateRunStatusResponse& from) { + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(this, from); + } + public: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.UpdateRunStatusResponse"; + } + protected: + explicit UpdateRunStatusResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // @@protoc_insertion_point(class_scope:flwr.proto.UpdateRunStatusResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// ------------------------------------------------------------------- + +class GetRunStatusRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.GetRunStatusRequest) */ { + public: + inline GetRunStatusRequest() : GetRunStatusRequest(nullptr) {} + ~GetRunStatusRequest() override; + explicit constexpr GetRunStatusRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetRunStatusRequest(const GetRunStatusRequest& from); + GetRunStatusRequest(GetRunStatusRequest&& from) noexcept + : GetRunStatusRequest() { + *this = ::std::move(from); + } + + inline GetRunStatusRequest& operator=(const GetRunStatusRequest& from) { + CopyFrom(from); + return *this; + } + inline GetRunStatusRequest& operator=(GetRunStatusRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 GetRunStatusRequest& default_instance() { + return *internal_default_instance(); + } + static inline const GetRunStatusRequest* internal_default_instance() { + return reinterpret_cast( + &_GetRunStatusRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 10; + + friend void swap(GetRunStatusRequest& a, GetRunStatusRequest& b) { + a.Swap(&b); + } + inline void Swap(GetRunStatusRequest* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetRunStatusRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetRunStatusRequest* New() const final { + return new GetRunStatusRequest(); + } + + GetRunStatusRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetRunStatusRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const GetRunStatusRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(GetRunStatusRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.GetRunStatusRequest"; + } + protected: + explicit GetRunStatusRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kRunIdsFieldNumber = 2, + kNodeFieldNumber = 1, + }; + // repeated uint64 run_ids = 2; + int run_ids_size() const; + private: + int _internal_run_ids_size() const; + public: + void clear_run_ids(); + private: + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_run_ids(int index) const; + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >& + _internal_run_ids() const; + void _internal_add_run_ids(::PROTOBUF_NAMESPACE_ID::uint64 value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >* + _internal_mutable_run_ids(); + public: + ::PROTOBUF_NAMESPACE_ID::uint64 run_ids(int index) const; + void set_run_ids(int index, ::PROTOBUF_NAMESPACE_ID::uint64 value); + void add_run_ids(::PROTOBUF_NAMESPACE_ID::uint64 value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >& + run_ids() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >* + mutable_run_ids(); + + // .flwr.proto.Node node = 1; + bool has_node() const; + private: + bool _internal_has_node() const; + public: + void clear_node(); + const ::flwr::proto::Node& node() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::Node* release_node(); + ::flwr::proto::Node* mutable_node(); + void set_allocated_node(::flwr::proto::Node* node); + private: + const ::flwr::proto::Node& _internal_node() const; + ::flwr::proto::Node* _internal_mutable_node(); + public: + void unsafe_arena_set_allocated_node( + ::flwr::proto::Node* node); + ::flwr::proto::Node* unsafe_arena_release_node(); + + // @@protoc_insertion_point(class_scope:flwr.proto.GetRunStatusRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 > run_ids_; + mutable std::atomic _run_ids_cached_byte_size_; + ::flwr::proto::Node* node_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// ------------------------------------------------------------------- + +class GetRunStatusResponse_RunStatusDictEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { +public: + typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; + GetRunStatusResponse_RunStatusDictEntry_DoNotUse(); + explicit constexpr GetRunStatusResponse_RunStatusDictEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + explicit GetRunStatusResponse_RunStatusDictEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + void MergeFrom(const GetRunStatusResponse_RunStatusDictEntry_DoNotUse& other); + static const GetRunStatusResponse_RunStatusDictEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_GetRunStatusResponse_RunStatusDictEntry_DoNotUse_default_instance_); } + static bool ValidateKey(void*) { return true; } + static bool ValidateValue(void*) { return true; } + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; +}; + +// ------------------------------------------------------------------- + +class GetRunStatusResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.GetRunStatusResponse) */ { + public: + inline GetRunStatusResponse() : GetRunStatusResponse(nullptr) {} + ~GetRunStatusResponse() override; + explicit constexpr GetRunStatusResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetRunStatusResponse(const GetRunStatusResponse& from); + GetRunStatusResponse(GetRunStatusResponse&& from) noexcept + : GetRunStatusResponse() { + *this = ::std::move(from); + } + + inline GetRunStatusResponse& operator=(const GetRunStatusResponse& from) { + CopyFrom(from); + return *this; + } + inline GetRunStatusResponse& operator=(GetRunStatusResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 GetRunStatusResponse& default_instance() { + return *internal_default_instance(); + } + static inline const GetRunStatusResponse* internal_default_instance() { + return reinterpret_cast( + &_GetRunStatusResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 12; + + friend void swap(GetRunStatusResponse& a, GetRunStatusResponse& b) { + a.Swap(&b); + } + inline void Swap(GetRunStatusResponse* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetRunStatusResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetRunStatusResponse* New() const final { + return new GetRunStatusResponse(); + } + + GetRunStatusResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetRunStatusResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const GetRunStatusResponse& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(GetRunStatusResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.GetRunStatusResponse"; + } + protected: + explicit GetRunStatusResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + + // accessors ------------------------------------------------------- + + enum : int { + kRunStatusDictFieldNumber = 1, + }; + // map run_status_dict = 1; + int run_status_dict_size() const; + private: + int _internal_run_status_dict_size() const; + public: + void clear_run_status_dict(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >& + _internal_run_status_dict() const; + ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >* + _internal_mutable_run_status_dict(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >& + run_status_dict() const; + ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >* + mutable_run_status_dict(); + + // @@protoc_insertion_point(class_scope:flwr.proto.GetRunStatusResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + GetRunStatusResponse_RunStatusDictEntry_DoNotUse, + ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> run_status_dict_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// ------------------------------------------------------------------- + +class GetFederationOptionsRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.GetFederationOptionsRequest) */ { + public: + inline GetFederationOptionsRequest() : GetFederationOptionsRequest(nullptr) {} + ~GetFederationOptionsRequest() override; + explicit constexpr GetFederationOptionsRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetFederationOptionsRequest(const GetFederationOptionsRequest& from); + GetFederationOptionsRequest(GetFederationOptionsRequest&& from) noexcept + : GetFederationOptionsRequest() { + *this = ::std::move(from); + } + + inline GetFederationOptionsRequest& operator=(const GetFederationOptionsRequest& from) { + CopyFrom(from); + return *this; + } + inline GetFederationOptionsRequest& operator=(GetFederationOptionsRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 GetFederationOptionsRequest& default_instance() { + return *internal_default_instance(); + } + static inline const GetFederationOptionsRequest* internal_default_instance() { + return reinterpret_cast( + &_GetFederationOptionsRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 13; + + friend void swap(GetFederationOptionsRequest& a, GetFederationOptionsRequest& b) { + a.Swap(&b); + } + inline void Swap(GetFederationOptionsRequest* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetFederationOptionsRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetFederationOptionsRequest* New() const final { + return new GetFederationOptionsRequest(); + } + + GetFederationOptionsRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetFederationOptionsRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const GetFederationOptionsRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(GetFederationOptionsRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.GetFederationOptionsRequest"; + } + protected: + explicit GetFederationOptionsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kRunIdFieldNumber = 1, + }; + // uint64 run_id = 1; + void clear_run_id(); + ::PROTOBUF_NAMESPACE_ID::uint64 run_id() const; + void set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_run_id() const; + void _internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); + public: + + // @@protoc_insertion_point(class_scope:flwr.proto.GetFederationOptionsRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::uint64 run_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// ------------------------------------------------------------------- + +class GetFederationOptionsResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:flwr.proto.GetFederationOptionsResponse) */ { + public: + inline GetFederationOptionsResponse() : GetFederationOptionsResponse(nullptr) {} + ~GetFederationOptionsResponse() override; + explicit constexpr GetFederationOptionsResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetFederationOptionsResponse(const GetFederationOptionsResponse& from); + GetFederationOptionsResponse(GetFederationOptionsResponse&& from) noexcept + : GetFederationOptionsResponse() { + *this = ::std::move(from); + } + + inline GetFederationOptionsResponse& operator=(const GetFederationOptionsResponse& from) { + CopyFrom(from); + return *this; + } + inline GetFederationOptionsResponse& operator=(GetFederationOptionsResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + 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 GetFederationOptionsResponse& default_instance() { + return *internal_default_instance(); + } + static inline const GetFederationOptionsResponse* internal_default_instance() { + return reinterpret_cast( + &_GetFederationOptionsResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 14; + + friend void swap(GetFederationOptionsResponse& a, GetFederationOptionsResponse& b) { + a.Swap(&b); + } + inline void Swap(GetFederationOptionsResponse* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetFederationOptionsResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetFederationOptionsResponse* New() const final { + return new GetFederationOptionsResponse(); + } + + GetFederationOptionsResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetFederationOptionsResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const GetFederationOptionsResponse& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + 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(GetFederationOptionsResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "flwr.proto.GetFederationOptionsResponse"; + } + protected: + explicit GetFederationOptionsResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kFederationOptionsFieldNumber = 1, + }; + // .flwr.proto.ConfigsRecord federation_options = 1; + bool has_federation_options() const; + private: + bool _internal_has_federation_options() const; + public: + void clear_federation_options(); + const ::flwr::proto::ConfigsRecord& federation_options() const; + PROTOBUF_MUST_USE_RESULT ::flwr::proto::ConfigsRecord* release_federation_options(); + ::flwr::proto::ConfigsRecord* mutable_federation_options(); + void set_allocated_federation_options(::flwr::proto::ConfigsRecord* federation_options); + private: + const ::flwr::proto::ConfigsRecord& _internal_federation_options() const; + ::flwr::proto::ConfigsRecord* _internal_mutable_federation_options(); + public: + void unsafe_arena_set_allocated_federation_options( + ::flwr::proto::ConfigsRecord* federation_options); + ::flwr::proto::ConfigsRecord* unsafe_arena_release_federation_options(); + + // @@protoc_insertion_point(class_scope:flwr.proto.GetFederationOptionsResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::flwr::proto::ConfigsRecord* federation_options_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flwr_2fproto_2frun_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// Run + +// uint64 run_id = 1; +inline void Run::clear_run_id() { + run_id_ = uint64_t{0u}; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 Run::_internal_run_id() const { + return run_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 Run::run_id() const { + // @@protoc_insertion_point(field_get:flwr.proto.Run.run_id) + return _internal_run_id(); +} +inline void Run::_internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { + + run_id_ = value; +} +inline void Run::set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { + _internal_set_run_id(value); + // @@protoc_insertion_point(field_set:flwr.proto.Run.run_id) +} + +// string fab_id = 2; +inline void Run::clear_fab_id() { + fab_id_.ClearToEmpty(); +} +inline const std::string& Run::fab_id() const { + // @@protoc_insertion_point(field_get:flwr.proto.Run.fab_id) + return _internal_fab_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Run::set_fab_id(ArgT0&& arg0, ArgT... args) { + + fab_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.Run.fab_id) +} +inline std::string* Run::mutable_fab_id() { + std::string* _s = _internal_mutable_fab_id(); + // @@protoc_insertion_point(field_mutable:flwr.proto.Run.fab_id) + return _s; +} +inline const std::string& Run::_internal_fab_id() const { + return fab_id_.Get(); +} +inline void Run::_internal_set_fab_id(const std::string& value) { + + fab_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* Run::_internal_mutable_fab_id() { + + return fab_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* Run::release_fab_id() { + // @@protoc_insertion_point(field_release:flwr.proto.Run.fab_id) + return fab_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void Run::set_allocated_fab_id(std::string* fab_id) { + if (fab_id != nullptr) { + + } else { + + } + fab_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), fab_id, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.Run.fab_id) +} + +// string fab_version = 3; +inline void Run::clear_fab_version() { + fab_version_.ClearToEmpty(); +} +inline const std::string& Run::fab_version() const { + // @@protoc_insertion_point(field_get:flwr.proto.Run.fab_version) + return _internal_fab_version(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Run::set_fab_version(ArgT0&& arg0, ArgT... args) { + + fab_version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.Run.fab_version) +} +inline std::string* Run::mutable_fab_version() { + std::string* _s = _internal_mutable_fab_version(); + // @@protoc_insertion_point(field_mutable:flwr.proto.Run.fab_version) + return _s; +} +inline const std::string& Run::_internal_fab_version() const { + return fab_version_.Get(); +} +inline void Run::_internal_set_fab_version(const std::string& value) { + + fab_version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* Run::_internal_mutable_fab_version() { + + return fab_version_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* Run::release_fab_version() { + // @@protoc_insertion_point(field_release:flwr.proto.Run.fab_version) + return fab_version_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void Run::set_allocated_fab_version(std::string* fab_version) { + if (fab_version != nullptr) { + + } else { + + } + fab_version_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), fab_version, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.Run.fab_version) +} + +// map override_config = 4; +inline int Run::_internal_override_config_size() const { + return override_config_.size(); +} +inline int Run::override_config_size() const { + return _internal_override_config_size(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >& +Run::_internal_override_config() const { + return override_config_.GetMap(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >& +Run::override_config() const { + // @@protoc_insertion_point(field_map:flwr.proto.Run.override_config) + return _internal_override_config(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >* +Run::_internal_mutable_override_config() { + return override_config_.MutableMap(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >* +Run::mutable_override_config() { + // @@protoc_insertion_point(field_mutable_map:flwr.proto.Run.override_config) + return _internal_mutable_override_config(); +} + +// string fab_hash = 5; +inline void Run::clear_fab_hash() { + fab_hash_.ClearToEmpty(); +} +inline const std::string& Run::fab_hash() const { + // @@protoc_insertion_point(field_get:flwr.proto.Run.fab_hash) + return _internal_fab_hash(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Run::set_fab_hash(ArgT0&& arg0, ArgT... args) { + + fab_hash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.Run.fab_hash) +} +inline std::string* Run::mutable_fab_hash() { + std::string* _s = _internal_mutable_fab_hash(); + // @@protoc_insertion_point(field_mutable:flwr.proto.Run.fab_hash) + return _s; +} +inline const std::string& Run::_internal_fab_hash() const { + return fab_hash_.Get(); +} +inline void Run::_internal_set_fab_hash(const std::string& value) { + + fab_hash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* Run::_internal_mutable_fab_hash() { + + return fab_hash_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* Run::release_fab_hash() { + // @@protoc_insertion_point(field_release:flwr.proto.Run.fab_hash) + return fab_hash_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void Run::set_allocated_fab_hash(std::string* fab_hash) { + if (fab_hash != nullptr) { + + } else { + + } + fab_hash_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), fab_hash, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.Run.fab_hash) +} + +// string pending_at = 6; +inline void Run::clear_pending_at() { + pending_at_.ClearToEmpty(); +} +inline const std::string& Run::pending_at() const { + // @@protoc_insertion_point(field_get:flwr.proto.Run.pending_at) + return _internal_pending_at(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Run::set_pending_at(ArgT0&& arg0, ArgT... args) { + + pending_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.Run.pending_at) +} +inline std::string* Run::mutable_pending_at() { + std::string* _s = _internal_mutable_pending_at(); + // @@protoc_insertion_point(field_mutable:flwr.proto.Run.pending_at) + return _s; +} +inline const std::string& Run::_internal_pending_at() const { + return pending_at_.Get(); +} +inline void Run::_internal_set_pending_at(const std::string& value) { + + pending_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* Run::_internal_mutable_pending_at() { + + return pending_at_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* Run::release_pending_at() { + // @@protoc_insertion_point(field_release:flwr.proto.Run.pending_at) + return pending_at_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void Run::set_allocated_pending_at(std::string* pending_at) { + if (pending_at != nullptr) { + + } else { + + } + pending_at_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), pending_at, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.Run.pending_at) +} + +// string starting_at = 7; +inline void Run::clear_starting_at() { + starting_at_.ClearToEmpty(); +} +inline const std::string& Run::starting_at() const { + // @@protoc_insertion_point(field_get:flwr.proto.Run.starting_at) + return _internal_starting_at(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Run::set_starting_at(ArgT0&& arg0, ArgT... args) { + + starting_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.Run.starting_at) +} +inline std::string* Run::mutable_starting_at() { + std::string* _s = _internal_mutable_starting_at(); + // @@protoc_insertion_point(field_mutable:flwr.proto.Run.starting_at) + return _s; +} +inline const std::string& Run::_internal_starting_at() const { + return starting_at_.Get(); +} +inline void Run::_internal_set_starting_at(const std::string& value) { + + starting_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* Run::_internal_mutable_starting_at() { + + return starting_at_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* Run::release_starting_at() { + // @@protoc_insertion_point(field_release:flwr.proto.Run.starting_at) + return starting_at_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void Run::set_allocated_starting_at(std::string* starting_at) { + if (starting_at != nullptr) { + + } else { + + } + starting_at_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), starting_at, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.Run.starting_at) +} + +// string running_at = 8; +inline void Run::clear_running_at() { + running_at_.ClearToEmpty(); +} +inline const std::string& Run::running_at() const { + // @@protoc_insertion_point(field_get:flwr.proto.Run.running_at) + return _internal_running_at(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Run::set_running_at(ArgT0&& arg0, ArgT... args) { + + running_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.Run.running_at) +} +inline std::string* Run::mutable_running_at() { + std::string* _s = _internal_mutable_running_at(); + // @@protoc_insertion_point(field_mutable:flwr.proto.Run.running_at) + return _s; +} +inline const std::string& Run::_internal_running_at() const { + return running_at_.Get(); +} +inline void Run::_internal_set_running_at(const std::string& value) { + + running_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* Run::_internal_mutable_running_at() { + + return running_at_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* Run::release_running_at() { + // @@protoc_insertion_point(field_release:flwr.proto.Run.running_at) + return running_at_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void Run::set_allocated_running_at(std::string* running_at) { + if (running_at != nullptr) { + + } else { + + } + running_at_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), running_at, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.Run.running_at) +} + +// string finished_at = 9; +inline void Run::clear_finished_at() { + finished_at_.ClearToEmpty(); +} +inline const std::string& Run::finished_at() const { + // @@protoc_insertion_point(field_get:flwr.proto.Run.finished_at) + return _internal_finished_at(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Run::set_finished_at(ArgT0&& arg0, ArgT... args) { + + finished_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.Run.finished_at) +} +inline std::string* Run::mutable_finished_at() { + std::string* _s = _internal_mutable_finished_at(); + // @@protoc_insertion_point(field_mutable:flwr.proto.Run.finished_at) + return _s; +} +inline const std::string& Run::_internal_finished_at() const { + return finished_at_.Get(); +} +inline void Run::_internal_set_finished_at(const std::string& value) { + + finished_at_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* Run::_internal_mutable_finished_at() { + + return finished_at_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* Run::release_finished_at() { + // @@protoc_insertion_point(field_release:flwr.proto.Run.finished_at) + return finished_at_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void Run::set_allocated_finished_at(std::string* finished_at) { + if (finished_at != nullptr) { + + } else { + + } + finished_at_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), finished_at, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.Run.finished_at) +} + +// .flwr.proto.RunStatus status = 10; +inline bool Run::_internal_has_status() const { + return this != internal_default_instance() && status_ != nullptr; +} +inline bool Run::has_status() const { + return _internal_has_status(); +} +inline void Run::clear_status() { + if (GetArenaForAllocation() == nullptr && status_ != nullptr) { + delete status_; + } + status_ = nullptr; +} +inline const ::flwr::proto::RunStatus& Run::_internal_status() const { + const ::flwr::proto::RunStatus* p = status_; + return p != nullptr ? *p : reinterpret_cast( + ::flwr::proto::_RunStatus_default_instance_); +} +inline const ::flwr::proto::RunStatus& Run::status() const { + // @@protoc_insertion_point(field_get:flwr.proto.Run.status) + return _internal_status(); +} +inline void Run::unsafe_arena_set_allocated_status( + ::flwr::proto::RunStatus* status) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(status_); + } + status_ = status; + if (status) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.Run.status) +} +inline ::flwr::proto::RunStatus* Run::release_status() { + + ::flwr::proto::RunStatus* temp = status_; + status_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::flwr::proto::RunStatus* Run::unsafe_arena_release_status() { + // @@protoc_insertion_point(field_release:flwr.proto.Run.status) + + ::flwr::proto::RunStatus* temp = status_; + status_ = nullptr; + return temp; +} +inline ::flwr::proto::RunStatus* Run::_internal_mutable_status() { + + if (status_ == nullptr) { + auto* p = CreateMaybeMessage<::flwr::proto::RunStatus>(GetArenaForAllocation()); + status_ = p; + } + return status_; +} +inline ::flwr::proto::RunStatus* Run::mutable_status() { + ::flwr::proto::RunStatus* _msg = _internal_mutable_status(); + // @@protoc_insertion_point(field_mutable:flwr.proto.Run.status) + return _msg; +} +inline void Run::set_allocated_status(::flwr::proto::RunStatus* status) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete status_; + } + if (status) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::flwr::proto::RunStatus>::GetOwningArena(status); + if (message_arena != submessage_arena) { + status = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, status, submessage_arena); + } + + } else { + + } + status_ = status; + // @@protoc_insertion_point(field_set_allocated:flwr.proto.Run.status) +} + +// ------------------------------------------------------------------- + +// RunStatus + +// string status = 1; +inline void RunStatus::clear_status() { + status_.ClearToEmpty(); +} +inline const std::string& RunStatus::status() const { + // @@protoc_insertion_point(field_get:flwr.proto.RunStatus.status) + return _internal_status(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void RunStatus::set_status(ArgT0&& arg0, ArgT... args) { + + status_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.RunStatus.status) +} +inline std::string* RunStatus::mutable_status() { + std::string* _s = _internal_mutable_status(); + // @@protoc_insertion_point(field_mutable:flwr.proto.RunStatus.status) + return _s; +} +inline const std::string& RunStatus::_internal_status() const { + return status_.Get(); +} +inline void RunStatus::_internal_set_status(const std::string& value) { + + status_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* RunStatus::_internal_mutable_status() { + + return status_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* RunStatus::release_status() { + // @@protoc_insertion_point(field_release:flwr.proto.RunStatus.status) + return status_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void RunStatus::set_allocated_status(std::string* status) { + if (status != nullptr) { + + } else { + + } + status_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), status, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.RunStatus.status) +} + +// string sub_status = 2; +inline void RunStatus::clear_sub_status() { + sub_status_.ClearToEmpty(); +} +inline const std::string& RunStatus::sub_status() const { + // @@protoc_insertion_point(field_get:flwr.proto.RunStatus.sub_status) + return _internal_sub_status(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void RunStatus::set_sub_status(ArgT0&& arg0, ArgT... args) { + + sub_status_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.RunStatus.sub_status) +} +inline std::string* RunStatus::mutable_sub_status() { + std::string* _s = _internal_mutable_sub_status(); + // @@protoc_insertion_point(field_mutable:flwr.proto.RunStatus.sub_status) + return _s; +} +inline const std::string& RunStatus::_internal_sub_status() const { + return sub_status_.Get(); +} +inline void RunStatus::_internal_set_sub_status(const std::string& value) { + + sub_status_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* RunStatus::_internal_mutable_sub_status() { + + return sub_status_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* RunStatus::release_sub_status() { + // @@protoc_insertion_point(field_release:flwr.proto.RunStatus.sub_status) + return sub_status_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void RunStatus::set_allocated_sub_status(std::string* sub_status) { + if (sub_status != nullptr) { + + } else { + + } + sub_status_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), sub_status, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.RunStatus.sub_status) +} + +// string details = 3; +inline void RunStatus::clear_details() { + details_.ClearToEmpty(); +} +inline const std::string& RunStatus::details() const { + // @@protoc_insertion_point(field_get:flwr.proto.RunStatus.details) + return _internal_details(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void RunStatus::set_details(ArgT0&& arg0, ArgT... args) { + + details_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.RunStatus.details) +} +inline std::string* RunStatus::mutable_details() { + std::string* _s = _internal_mutable_details(); + // @@protoc_insertion_point(field_mutable:flwr.proto.RunStatus.details) + return _s; +} +inline const std::string& RunStatus::_internal_details() const { + return details_.Get(); +} +inline void RunStatus::_internal_set_details(const std::string& value) { + + details_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* RunStatus::_internal_mutable_details() { + + return details_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* RunStatus::release_details() { + // @@protoc_insertion_point(field_release:flwr.proto.RunStatus.details) + return details_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void RunStatus::set_allocated_details(std::string* details) { + if (details != nullptr) { + + } else { + + } + details_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), details, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.RunStatus.details) +} + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// CreateRunRequest + +// string fab_id = 1; +inline void CreateRunRequest::clear_fab_id() { + fab_id_.ClearToEmpty(); +} +inline const std::string& CreateRunRequest::fab_id() const { + // @@protoc_insertion_point(field_get:flwr.proto.CreateRunRequest.fab_id) + return _internal_fab_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void CreateRunRequest::set_fab_id(ArgT0&& arg0, ArgT... args) { + + fab_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.CreateRunRequest.fab_id) +} +inline std::string* CreateRunRequest::mutable_fab_id() { + std::string* _s = _internal_mutable_fab_id(); + // @@protoc_insertion_point(field_mutable:flwr.proto.CreateRunRequest.fab_id) + return _s; +} +inline const std::string& CreateRunRequest::_internal_fab_id() const { + return fab_id_.Get(); +} +inline void CreateRunRequest::_internal_set_fab_id(const std::string& value) { + + fab_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* CreateRunRequest::_internal_mutable_fab_id() { + + return fab_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* CreateRunRequest::release_fab_id() { + // @@protoc_insertion_point(field_release:flwr.proto.CreateRunRequest.fab_id) + return fab_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void CreateRunRequest::set_allocated_fab_id(std::string* fab_id) { + if (fab_id != nullptr) { + + } else { + + } + fab_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), fab_id, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.CreateRunRequest.fab_id) +} + +// string fab_version = 2; +inline void CreateRunRequest::clear_fab_version() { + fab_version_.ClearToEmpty(); +} +inline const std::string& CreateRunRequest::fab_version() const { + // @@protoc_insertion_point(field_get:flwr.proto.CreateRunRequest.fab_version) + return _internal_fab_version(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void CreateRunRequest::set_fab_version(ArgT0&& arg0, ArgT... args) { + + fab_version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:flwr.proto.CreateRunRequest.fab_version) +} +inline std::string* CreateRunRequest::mutable_fab_version() { + std::string* _s = _internal_mutable_fab_version(); + // @@protoc_insertion_point(field_mutable:flwr.proto.CreateRunRequest.fab_version) + return _s; +} +inline const std::string& CreateRunRequest::_internal_fab_version() const { + return fab_version_.Get(); +} +inline void CreateRunRequest::_internal_set_fab_version(const std::string& value) { + + fab_version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* CreateRunRequest::_internal_mutable_fab_version() { + + return fab_version_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* CreateRunRequest::release_fab_version() { + // @@protoc_insertion_point(field_release:flwr.proto.CreateRunRequest.fab_version) + return fab_version_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void CreateRunRequest::set_allocated_fab_version(std::string* fab_version) { + if (fab_version != nullptr) { + + } else { + + } + fab_version_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), fab_version, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:flwr.proto.CreateRunRequest.fab_version) +} + +// map override_config = 3; +inline int CreateRunRequest::_internal_override_config_size() const { + return override_config_.size(); +} +inline int CreateRunRequest::override_config_size() const { + return _internal_override_config_size(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >& +CreateRunRequest::_internal_override_config() const { + return override_config_.GetMap(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >& +CreateRunRequest::override_config() const { + // @@protoc_insertion_point(field_map:flwr.proto.CreateRunRequest.override_config) + return _internal_override_config(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >* +CreateRunRequest::_internal_mutable_override_config() { + return override_config_.MutableMap(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::flwr::proto::Scalar >* +CreateRunRequest::mutable_override_config() { + // @@protoc_insertion_point(field_mutable_map:flwr.proto.CreateRunRequest.override_config) + return _internal_mutable_override_config(); +} + +// .flwr.proto.Fab fab = 4; +inline bool CreateRunRequest::_internal_has_fab() const { + return this != internal_default_instance() && fab_ != nullptr; +} +inline bool CreateRunRequest::has_fab() const { + return _internal_has_fab(); +} +inline const ::flwr::proto::Fab& CreateRunRequest::_internal_fab() const { + const ::flwr::proto::Fab* p = fab_; + return p != nullptr ? *p : reinterpret_cast( + ::flwr::proto::_Fab_default_instance_); +} +inline const ::flwr::proto::Fab& CreateRunRequest::fab() const { + // @@protoc_insertion_point(field_get:flwr.proto.CreateRunRequest.fab) + return _internal_fab(); +} +inline void CreateRunRequest::unsafe_arena_set_allocated_fab( + ::flwr::proto::Fab* fab) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(fab_); + } + fab_ = fab; + if (fab) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.CreateRunRequest.fab) +} +inline ::flwr::proto::Fab* CreateRunRequest::release_fab() { + + ::flwr::proto::Fab* temp = fab_; + fab_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::flwr::proto::Fab* CreateRunRequest::unsafe_arena_release_fab() { + // @@protoc_insertion_point(field_release:flwr.proto.CreateRunRequest.fab) + + ::flwr::proto::Fab* temp = fab_; + fab_ = nullptr; + return temp; +} +inline ::flwr::proto::Fab* CreateRunRequest::_internal_mutable_fab() { + + if (fab_ == nullptr) { + auto* p = CreateMaybeMessage<::flwr::proto::Fab>(GetArenaForAllocation()); + fab_ = p; + } + return fab_; +} +inline ::flwr::proto::Fab* CreateRunRequest::mutable_fab() { + ::flwr::proto::Fab* _msg = _internal_mutable_fab(); + // @@protoc_insertion_point(field_mutable:flwr.proto.CreateRunRequest.fab) + return _msg; +} +inline void CreateRunRequest::set_allocated_fab(::flwr::proto::Fab* fab) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(fab_); + } + if (fab) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(fab)); + if (message_arena != submessage_arena) { + fab = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, fab, submessage_arena); + } + + } else { + + } + fab_ = fab; + // @@protoc_insertion_point(field_set_allocated:flwr.proto.CreateRunRequest.fab) +} + +// ------------------------------------------------------------------- + +// CreateRunResponse + +// uint64 run_id = 1; +inline void CreateRunResponse::clear_run_id() { + run_id_ = uint64_t{0u}; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 CreateRunResponse::_internal_run_id() const { + return run_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 CreateRunResponse::run_id() const { + // @@protoc_insertion_point(field_get:flwr.proto.CreateRunResponse.run_id) + return _internal_run_id(); +} +inline void CreateRunResponse::_internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { + + run_id_ = value; +} +inline void CreateRunResponse::set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { + _internal_set_run_id(value); + // @@protoc_insertion_point(field_set:flwr.proto.CreateRunResponse.run_id) +} + +// ------------------------------------------------------------------- + +// GetRunRequest + +// .flwr.proto.Node node = 1; +inline bool GetRunRequest::_internal_has_node() const { + return this != internal_default_instance() && node_ != nullptr; +} +inline bool GetRunRequest::has_node() const { + return _internal_has_node(); +} +inline const ::flwr::proto::Node& GetRunRequest::_internal_node() const { + const ::flwr::proto::Node* p = node_; + return p != nullptr ? *p : reinterpret_cast( + ::flwr::proto::_Node_default_instance_); +} +inline const ::flwr::proto::Node& GetRunRequest::node() const { + // @@protoc_insertion_point(field_get:flwr.proto.GetRunRequest.node) + return _internal_node(); +} +inline void GetRunRequest::unsafe_arena_set_allocated_node( + ::flwr::proto::Node* node) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(node_); + } + node_ = node; + if (node) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.GetRunRequest.node) +} +inline ::flwr::proto::Node* GetRunRequest::release_node() { + + ::flwr::proto::Node* temp = node_; + node_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::flwr::proto::Node* GetRunRequest::unsafe_arena_release_node() { + // @@protoc_insertion_point(field_release:flwr.proto.GetRunRequest.node) + + ::flwr::proto::Node* temp = node_; + node_ = nullptr; + return temp; +} +inline ::flwr::proto::Node* GetRunRequest::_internal_mutable_node() { + + if (node_ == nullptr) { + auto* p = CreateMaybeMessage<::flwr::proto::Node>(GetArenaForAllocation()); + node_ = p; + } + return node_; +} +inline ::flwr::proto::Node* GetRunRequest::mutable_node() { + ::flwr::proto::Node* _msg = _internal_mutable_node(); + // @@protoc_insertion_point(field_mutable:flwr.proto.GetRunRequest.node) + return _msg; +} +inline void GetRunRequest::set_allocated_node(::flwr::proto::Node* node) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(node_); + } + if (node) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(node)); + if (message_arena != submessage_arena) { + node = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, node, submessage_arena); + } + + } else { + + } + node_ = node; + // @@protoc_insertion_point(field_set_allocated:flwr.proto.GetRunRequest.node) +} + +// uint64 run_id = 2; +inline void GetRunRequest::clear_run_id() { + run_id_ = uint64_t{0u}; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 GetRunRequest::_internal_run_id() const { + return run_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 GetRunRequest::run_id() const { + // @@protoc_insertion_point(field_get:flwr.proto.GetRunRequest.run_id) + return _internal_run_id(); +} +inline void GetRunRequest::_internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { + + run_id_ = value; +} +inline void GetRunRequest::set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { + _internal_set_run_id(value); + // @@protoc_insertion_point(field_set:flwr.proto.GetRunRequest.run_id) +} + +// ------------------------------------------------------------------- + +// GetRunResponse + +// .flwr.proto.Run run = 1; +inline bool GetRunResponse::_internal_has_run() const { + return this != internal_default_instance() && run_ != nullptr; +} +inline bool GetRunResponse::has_run() const { + return _internal_has_run(); +} +inline void GetRunResponse::clear_run() { + if (GetArenaForAllocation() == nullptr && run_ != nullptr) { + delete run_; + } + run_ = nullptr; +} +inline const ::flwr::proto::Run& GetRunResponse::_internal_run() const { + const ::flwr::proto::Run* p = run_; + return p != nullptr ? *p : reinterpret_cast( + ::flwr::proto::_Run_default_instance_); +} +inline const ::flwr::proto::Run& GetRunResponse::run() const { + // @@protoc_insertion_point(field_get:flwr.proto.GetRunResponse.run) + return _internal_run(); +} +inline void GetRunResponse::unsafe_arena_set_allocated_run( + ::flwr::proto::Run* run) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(run_); + } + run_ = run; + if (run) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.GetRunResponse.run) +} +inline ::flwr::proto::Run* GetRunResponse::release_run() { + + ::flwr::proto::Run* temp = run_; + run_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::flwr::proto::Run* GetRunResponse::unsafe_arena_release_run() { + // @@protoc_insertion_point(field_release:flwr.proto.GetRunResponse.run) + + ::flwr::proto::Run* temp = run_; + run_ = nullptr; + return temp; +} +inline ::flwr::proto::Run* GetRunResponse::_internal_mutable_run() { + + if (run_ == nullptr) { + auto* p = CreateMaybeMessage<::flwr::proto::Run>(GetArenaForAllocation()); + run_ = p; + } + return run_; +} +inline ::flwr::proto::Run* GetRunResponse::mutable_run() { + ::flwr::proto::Run* _msg = _internal_mutable_run(); + // @@protoc_insertion_point(field_mutable:flwr.proto.GetRunResponse.run) + return _msg; +} +inline void GetRunResponse::set_allocated_run(::flwr::proto::Run* run) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete run_; + } + if (run) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::flwr::proto::Run>::GetOwningArena(run); + if (message_arena != submessage_arena) { + run = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, run, submessage_arena); + } + + } else { + + } + run_ = run; + // @@protoc_insertion_point(field_set_allocated:flwr.proto.GetRunResponse.run) +} + +// ------------------------------------------------------------------- + +// UpdateRunStatusRequest + +// uint64 run_id = 1; +inline void UpdateRunStatusRequest::clear_run_id() { + run_id_ = uint64_t{0u}; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 UpdateRunStatusRequest::_internal_run_id() const { + return run_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 UpdateRunStatusRequest::run_id() const { + // @@protoc_insertion_point(field_get:flwr.proto.UpdateRunStatusRequest.run_id) + return _internal_run_id(); +} +inline void UpdateRunStatusRequest::_internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { + + run_id_ = value; +} +inline void UpdateRunStatusRequest::set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { + _internal_set_run_id(value); + // @@protoc_insertion_point(field_set:flwr.proto.UpdateRunStatusRequest.run_id) +} + +// .flwr.proto.RunStatus run_status = 2; +inline bool UpdateRunStatusRequest::_internal_has_run_status() const { + return this != internal_default_instance() && run_status_ != nullptr; +} +inline bool UpdateRunStatusRequest::has_run_status() const { + return _internal_has_run_status(); +} +inline void UpdateRunStatusRequest::clear_run_status() { + if (GetArenaForAllocation() == nullptr && run_status_ != nullptr) { + delete run_status_; + } + run_status_ = nullptr; +} +inline const ::flwr::proto::RunStatus& UpdateRunStatusRequest::_internal_run_status() const { + const ::flwr::proto::RunStatus* p = run_status_; + return p != nullptr ? *p : reinterpret_cast( + ::flwr::proto::_RunStatus_default_instance_); +} +inline const ::flwr::proto::RunStatus& UpdateRunStatusRequest::run_status() const { + // @@protoc_insertion_point(field_get:flwr.proto.UpdateRunStatusRequest.run_status) + return _internal_run_status(); +} +inline void UpdateRunStatusRequest::unsafe_arena_set_allocated_run_status( + ::flwr::proto::RunStatus* run_status) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(run_status_); + } + run_status_ = run_status; + if (run_status) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.UpdateRunStatusRequest.run_status) +} +inline ::flwr::proto::RunStatus* UpdateRunStatusRequest::release_run_status() { + + ::flwr::proto::RunStatus* temp = run_status_; + run_status_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::flwr::proto::RunStatus* UpdateRunStatusRequest::unsafe_arena_release_run_status() { + // @@protoc_insertion_point(field_release:flwr.proto.UpdateRunStatusRequest.run_status) + + ::flwr::proto::RunStatus* temp = run_status_; + run_status_ = nullptr; + return temp; +} +inline ::flwr::proto::RunStatus* UpdateRunStatusRequest::_internal_mutable_run_status() { + + if (run_status_ == nullptr) { + auto* p = CreateMaybeMessage<::flwr::proto::RunStatus>(GetArenaForAllocation()); + run_status_ = p; + } + return run_status_; +} +inline ::flwr::proto::RunStatus* UpdateRunStatusRequest::mutable_run_status() { + ::flwr::proto::RunStatus* _msg = _internal_mutable_run_status(); + // @@protoc_insertion_point(field_mutable:flwr.proto.UpdateRunStatusRequest.run_status) + return _msg; +} +inline void UpdateRunStatusRequest::set_allocated_run_status(::flwr::proto::RunStatus* run_status) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete run_status_; + } + if (run_status) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::flwr::proto::RunStatus>::GetOwningArena(run_status); + if (message_arena != submessage_arena) { + run_status = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, run_status, submessage_arena); + } + + } else { + + } + run_status_ = run_status; + // @@protoc_insertion_point(field_set_allocated:flwr.proto.UpdateRunStatusRequest.run_status) +} + +// ------------------------------------------------------------------- + +// UpdateRunStatusResponse + +// ------------------------------------------------------------------- + +// GetRunStatusRequest + +// .flwr.proto.Node node = 1; +inline bool GetRunStatusRequest::_internal_has_node() const { + return this != internal_default_instance() && node_ != nullptr; +} +inline bool GetRunStatusRequest::has_node() const { + return _internal_has_node(); +} +inline const ::flwr::proto::Node& GetRunStatusRequest::_internal_node() const { + const ::flwr::proto::Node* p = node_; + return p != nullptr ? *p : reinterpret_cast( + ::flwr::proto::_Node_default_instance_); +} +inline const ::flwr::proto::Node& GetRunStatusRequest::node() const { + // @@protoc_insertion_point(field_get:flwr.proto.GetRunStatusRequest.node) + return _internal_node(); +} +inline void GetRunStatusRequest::unsafe_arena_set_allocated_node( + ::flwr::proto::Node* node) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(node_); + } + node_ = node; + if (node) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.GetRunStatusRequest.node) +} +inline ::flwr::proto::Node* GetRunStatusRequest::release_node() { + + ::flwr::proto::Node* temp = node_; + node_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::flwr::proto::Node* GetRunStatusRequest::unsafe_arena_release_node() { + // @@protoc_insertion_point(field_release:flwr.proto.GetRunStatusRequest.node) + + ::flwr::proto::Node* temp = node_; + node_ = nullptr; + return temp; +} +inline ::flwr::proto::Node* GetRunStatusRequest::_internal_mutable_node() { + + if (node_ == nullptr) { + auto* p = CreateMaybeMessage<::flwr::proto::Node>(GetArenaForAllocation()); + node_ = p; + } + return node_; +} +inline ::flwr::proto::Node* GetRunStatusRequest::mutable_node() { + ::flwr::proto::Node* _msg = _internal_mutable_node(); + // @@protoc_insertion_point(field_mutable:flwr.proto.GetRunStatusRequest.node) + return _msg; +} +inline void GetRunStatusRequest::set_allocated_node(::flwr::proto::Node* node) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(node_); + } + if (node) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(node)); + if (message_arena != submessage_arena) { + node = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, node, submessage_arena); + } + + } else { + + } + node_ = node; + // @@protoc_insertion_point(field_set_allocated:flwr.proto.GetRunStatusRequest.node) +} + +// repeated uint64 run_ids = 2; +inline int GetRunStatusRequest::_internal_run_ids_size() const { + return run_ids_.size(); +} +inline int GetRunStatusRequest::run_ids_size() const { + return _internal_run_ids_size(); +} +inline void GetRunStatusRequest::clear_run_ids() { + run_ids_.Clear(); +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 GetRunStatusRequest::_internal_run_ids(int index) const { + return run_ids_.Get(index); +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 GetRunStatusRequest::run_ids(int index) const { + // @@protoc_insertion_point(field_get:flwr.proto.GetRunStatusRequest.run_ids) + return _internal_run_ids(index); +} +inline void GetRunStatusRequest::set_run_ids(int index, ::PROTOBUF_NAMESPACE_ID::uint64 value) { + run_ids_.Set(index, value); + // @@protoc_insertion_point(field_set:flwr.proto.GetRunStatusRequest.run_ids) +} +inline void GetRunStatusRequest::_internal_add_run_ids(::PROTOBUF_NAMESPACE_ID::uint64 value) { + run_ids_.Add(value); +} +inline void GetRunStatusRequest::add_run_ids(::PROTOBUF_NAMESPACE_ID::uint64 value) { + _internal_add_run_ids(value); + // @@protoc_insertion_point(field_add:flwr.proto.GetRunStatusRequest.run_ids) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >& +GetRunStatusRequest::_internal_run_ids() const { + return run_ids_; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >& +GetRunStatusRequest::run_ids() const { + // @@protoc_insertion_point(field_list:flwr.proto.GetRunStatusRequest.run_ids) + return _internal_run_ids(); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >* +GetRunStatusRequest::_internal_mutable_run_ids() { + return &run_ids_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::uint64 >* +GetRunStatusRequest::mutable_run_ids() { + // @@protoc_insertion_point(field_mutable_list:flwr.proto.GetRunStatusRequest.run_ids) + return _internal_mutable_run_ids(); +} + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// GetRunStatusResponse + +// map run_status_dict = 1; +inline int GetRunStatusResponse::_internal_run_status_dict_size() const { + return run_status_dict_.size(); +} +inline int GetRunStatusResponse::run_status_dict_size() const { + return _internal_run_status_dict_size(); +} +inline void GetRunStatusResponse::clear_run_status_dict() { + run_status_dict_.Clear(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >& +GetRunStatusResponse::_internal_run_status_dict() const { + return run_status_dict_.GetMap(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >& +GetRunStatusResponse::run_status_dict() const { + // @@protoc_insertion_point(field_map:flwr.proto.GetRunStatusResponse.run_status_dict) + return _internal_run_status_dict(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >* +GetRunStatusResponse::_internal_mutable_run_status_dict() { + return run_status_dict_.MutableMap(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint64, ::flwr::proto::RunStatus >* +GetRunStatusResponse::mutable_run_status_dict() { + // @@protoc_insertion_point(field_mutable_map:flwr.proto.GetRunStatusResponse.run_status_dict) + return _internal_mutable_run_status_dict(); +} + +// ------------------------------------------------------------------- + +// GetFederationOptionsRequest + +// uint64 run_id = 1; +inline void GetFederationOptionsRequest::clear_run_id() { + run_id_ = uint64_t{0u}; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 GetFederationOptionsRequest::_internal_run_id() const { + return run_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 GetFederationOptionsRequest::run_id() const { + // @@protoc_insertion_point(field_get:flwr.proto.GetFederationOptionsRequest.run_id) + return _internal_run_id(); +} +inline void GetFederationOptionsRequest::_internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { + + run_id_ = value; +} +inline void GetFederationOptionsRequest::set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { + _internal_set_run_id(value); + // @@protoc_insertion_point(field_set:flwr.proto.GetFederationOptionsRequest.run_id) +} + +// ------------------------------------------------------------------- + +// GetFederationOptionsResponse + +// .flwr.proto.ConfigsRecord federation_options = 1; +inline bool GetFederationOptionsResponse::_internal_has_federation_options() const { + return this != internal_default_instance() && federation_options_ != nullptr; +} +inline bool GetFederationOptionsResponse::has_federation_options() const { + return _internal_has_federation_options(); +} +inline const ::flwr::proto::ConfigsRecord& GetFederationOptionsResponse::_internal_federation_options() const { + const ::flwr::proto::ConfigsRecord* p = federation_options_; + return p != nullptr ? *p : reinterpret_cast( + ::flwr::proto::_ConfigsRecord_default_instance_); +} +inline const ::flwr::proto::ConfigsRecord& GetFederationOptionsResponse::federation_options() const { + // @@protoc_insertion_point(field_get:flwr.proto.GetFederationOptionsResponse.federation_options) + return _internal_federation_options(); +} +inline void GetFederationOptionsResponse::unsafe_arena_set_allocated_federation_options( + ::flwr::proto::ConfigsRecord* federation_options) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(federation_options_); + } + federation_options_ = federation_options; + if (federation_options) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flwr.proto.GetFederationOptionsResponse.federation_options) +} +inline ::flwr::proto::ConfigsRecord* GetFederationOptionsResponse::release_federation_options() { + + ::flwr::proto::ConfigsRecord* temp = federation_options_; + federation_options_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::flwr::proto::ConfigsRecord* GetFederationOptionsResponse::unsafe_arena_release_federation_options() { + // @@protoc_insertion_point(field_release:flwr.proto.GetFederationOptionsResponse.federation_options) + + ::flwr::proto::ConfigsRecord* temp = federation_options_; + federation_options_ = nullptr; + return temp; +} +inline ::flwr::proto::ConfigsRecord* GetFederationOptionsResponse::_internal_mutable_federation_options() { + + if (federation_options_ == nullptr) { + auto* p = CreateMaybeMessage<::flwr::proto::ConfigsRecord>(GetArenaForAllocation()); + federation_options_ = p; + } + return federation_options_; +} +inline ::flwr::proto::ConfigsRecord* GetFederationOptionsResponse::mutable_federation_options() { + ::flwr::proto::ConfigsRecord* _msg = _internal_mutable_federation_options(); + // @@protoc_insertion_point(field_mutable:flwr.proto.GetFederationOptionsResponse.federation_options) + return _msg; +} +inline void GetFederationOptionsResponse::set_allocated_federation_options(::flwr::proto::ConfigsRecord* federation_options) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(federation_options_); + } + if (federation_options) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(federation_options)); + if (message_arena != submessage_arena) { + federation_options = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, federation_options, submessage_arena); + } + + } else { + + } + federation_options_ = federation_options; + // @@protoc_insertion_point(field_set_allocated:flwr.proto.GetFederationOptionsResponse.federation_options) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace proto +} // namespace flwr + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_flwr_2fproto_2frun_2eproto diff --git a/framework/src/cc/flwr/include/flwr/proto/task.pb.cc b/framework/src/cc/flwr/include/flwr/proto/task.pb.cc index 04fa3e8e2625..d43a21d5c022 100644 --- a/framework/src/cc/flwr/include/flwr/proto/task.pb.cc +++ b/framework/src/cc/flwr/include/flwr/proto/task.pb.cc @@ -44,7 +44,7 @@ constexpr TaskIns::TaskIns( : task_id_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , group_id_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , task_(nullptr) - , run_id_(int64_t{0}){} + , run_id_(uint64_t{0u}){} struct TaskInsDefaultTypeInternal { constexpr TaskInsDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -59,7 +59,7 @@ constexpr TaskRes::TaskRes( : task_id_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , group_id_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) , task_(nullptr) - , run_id_(int64_t{0}){} + , run_id_(uint64_t{0u}){} struct TaskResDefaultTypeInternal { constexpr TaskResDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -128,31 +128,29 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = const char descriptor_table_protodef_flwr_2fproto_2ftask_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\025flwr/proto/task.proto\022\nflwr.proto\032\025flw" "r/proto/node.proto\032\032flwr/proto/recordset" - ".proto\032\032flwr/proto/transport.proto\032\026flwr" - "/proto/error.proto\"\211\002\n\004Task\022\"\n\010producer\030" - "\001 \001(\0132\020.flwr.proto.Node\022\"\n\010consumer\030\002 \001(" - "\0132\020.flwr.proto.Node\022\022\n\ncreated_at\030\003 \001(\001\022" - "\024\n\014delivered_at\030\004 \001(\t\022\021\n\tpushed_at\030\005 \001(\001" - "\022\013\n\003ttl\030\006 \001(\001\022\020\n\010ancestry\030\007 \003(\t\022\021\n\ttask_" - "type\030\010 \001(\t\022(\n\trecordset\030\t \001(\0132\025.flwr.pro" - "to.RecordSet\022 \n\005error\030\n \001(\0132\021.flwr.proto" - ".Error\"\\\n\007TaskIns\022\017\n\007task_id\030\001 \001(\t\022\020\n\010gr" - "oup_id\030\002 \001(\t\022\016\n\006run_id\030\003 \001(\022\022\036\n\004task\030\004 \001" - "(\0132\020.flwr.proto.Task\"\\\n\007TaskRes\022\017\n\007task_" - "id\030\001 \001(\t\022\020\n\010group_id\030\002 \001(\t\022\016\n\006run_id\030\003 \001" - "(\022\022\036\n\004task\030\004 \001(\0132\020.flwr.proto.Taskb\006prot" - "o3" + ".proto\032\026flwr/proto/error.proto\"\211\002\n\004Task\022" + "\"\n\010producer\030\001 \001(\0132\020.flwr.proto.Node\022\"\n\010c" + "onsumer\030\002 \001(\0132\020.flwr.proto.Node\022\022\n\ncreat" + "ed_at\030\003 \001(\001\022\024\n\014delivered_at\030\004 \001(\t\022\021\n\tpus" + "hed_at\030\005 \001(\001\022\013\n\003ttl\030\006 \001(\001\022\020\n\010ancestry\030\007 " + "\003(\t\022\021\n\ttask_type\030\010 \001(\t\022(\n\trecordset\030\t \001(" + "\0132\025.flwr.proto.RecordSet\022 \n\005error\030\n \001(\0132" + "\021.flwr.proto.Error\"\\\n\007TaskIns\022\017\n\007task_id" + "\030\001 \001(\t\022\020\n\010group_id\030\002 \001(\t\022\016\n\006run_id\030\003 \001(\004" + "\022\036\n\004task\030\004 \001(\0132\020.flwr.proto.Task\"\\\n\007Task" + "Res\022\017\n\007task_id\030\001 \001(\t\022\020\n\010group_id\030\002 \001(\t\022\016" + "\n\006run_id\030\003 \001(\004\022\036\n\004task\030\004 \001(\0132\020.flwr.prot" + "o.Taskb\006proto3" ; -static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_flwr_2fproto_2ftask_2eproto_deps[4] = { +static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_flwr_2fproto_2ftask_2eproto_deps[3] = { &::descriptor_table_flwr_2fproto_2ferror_2eproto, &::descriptor_table_flwr_2fproto_2fnode_2eproto, &::descriptor_table_flwr_2fproto_2frecordset_2eproto, - &::descriptor_table_flwr_2fproto_2ftransport_2eproto, }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_flwr_2fproto_2ftask_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_flwr_2fproto_2ftask_2eproto = { - false, false, 602, descriptor_table_protodef_flwr_2fproto_2ftask_2eproto, "flwr/proto/task.proto", - &descriptor_table_flwr_2fproto_2ftask_2eproto_once, descriptor_table_flwr_2fproto_2ftask_2eproto_deps, 4, 3, + false, false, 574, descriptor_table_protodef_flwr_2fproto_2ftask_2eproto, "flwr/proto/task.proto", + &descriptor_table_flwr_2fproto_2ftask_2eproto_once, descriptor_table_flwr_2fproto_2ftask_2eproto_deps, 3, 3, schemas, file_default_instances, TableStruct_flwr_2fproto_2ftask_2eproto::offsets, file_level_metadata_flwr_2fproto_2ftask_2eproto, file_level_enum_descriptors_flwr_2fproto_2ftask_2eproto, file_level_service_descriptors_flwr_2fproto_2ftask_2eproto, }; @@ -800,7 +798,7 @@ void TaskIns::Clear() { delete task_; } task_ = nullptr; - run_id_ = int64_t{0}; + run_id_ = uint64_t{0u}; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -830,10 +828,10 @@ const char* TaskIns::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::in } else goto handle_unusual; continue; - // sint64 run_id = 3; + // uint64 run_id = 3; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { - run_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarintZigZag64(&ptr); + run_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; @@ -895,10 +893,10 @@ ::PROTOBUF_NAMESPACE_ID::uint8* TaskIns::_InternalSerialize( 2, this->_internal_group_id(), target); } - // sint64 run_id = 3; + // uint64 run_id = 3; if (this->_internal_run_id() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteSInt64ToArray(3, this->_internal_run_id(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->_internal_run_id(), target); } // .flwr.proto.Task task = 4; @@ -946,9 +944,9 @@ size_t TaskIns::ByteSizeLong() const { *task_); } - // sint64 run_id = 3; + // uint64 run_id = 3; if (this->_internal_run_id() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SInt64SizePlusOne(this->_internal_run_id()); + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_run_id()); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); @@ -1115,7 +1113,7 @@ void TaskRes::Clear() { delete task_; } task_ = nullptr; - run_id_ = int64_t{0}; + run_id_ = uint64_t{0u}; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -1145,10 +1143,10 @@ const char* TaskRes::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::in } else goto handle_unusual; continue; - // sint64 run_id = 3; + // uint64 run_id = 3; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { - run_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarintZigZag64(&ptr); + run_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; @@ -1210,10 +1208,10 @@ ::PROTOBUF_NAMESPACE_ID::uint8* TaskRes::_InternalSerialize( 2, this->_internal_group_id(), target); } - // sint64 run_id = 3; + // uint64 run_id = 3; if (this->_internal_run_id() != 0) { target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteSInt64ToArray(3, this->_internal_run_id(), target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->_internal_run_id(), target); } // .flwr.proto.Task task = 4; @@ -1261,9 +1259,9 @@ size_t TaskRes::ByteSizeLong() const { *task_); } - // sint64 run_id = 3; + // uint64 run_id = 3; if (this->_internal_run_id() != 0) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SInt64SizePlusOne(this->_internal_run_id()); + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_run_id()); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); diff --git a/framework/src/cc/flwr/include/flwr/proto/task.pb.h b/framework/src/cc/flwr/include/flwr/proto/task.pb.h index 3dc421e2f8ab..46c53de49844 100644 --- a/framework/src/cc/flwr/include/flwr/proto/task.pb.h +++ b/framework/src/cc/flwr/include/flwr/proto/task.pb.h @@ -33,7 +33,6 @@ #include #include "flwr/proto/node.pb.h" #include "flwr/proto/recordset.pb.h" -#include "flwr/proto/transport.pb.h" #include "flwr/proto/error.pb.h" // @@protoc_insertion_point(includes) #include @@ -553,13 +552,13 @@ class TaskIns final : ::flwr::proto::Task* task); ::flwr::proto::Task* unsafe_arena_release_task(); - // sint64 run_id = 3; + // uint64 run_id = 3; void clear_run_id(); - ::PROTOBUF_NAMESPACE_ID::int64 run_id() const; - void set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value); + ::PROTOBUF_NAMESPACE_ID::uint64 run_id() const; + void set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); private: - ::PROTOBUF_NAMESPACE_ID::int64 _internal_run_id() const; - void _internal_set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value); + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_run_id() const; + void _internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); public: // @@protoc_insertion_point(class_scope:flwr.proto.TaskIns) @@ -572,7 +571,7 @@ class TaskIns final : ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr task_id_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr group_id_; ::flwr::proto::Task* task_; - ::PROTOBUF_NAMESPACE_ID::int64 run_id_; + ::PROTOBUF_NAMESPACE_ID::uint64 run_id_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_flwr_2fproto_2ftask_2eproto; }; @@ -748,13 +747,13 @@ class TaskRes final : ::flwr::proto::Task* task); ::flwr::proto::Task* unsafe_arena_release_task(); - // sint64 run_id = 3; + // uint64 run_id = 3; void clear_run_id(); - ::PROTOBUF_NAMESPACE_ID::int64 run_id() const; - void set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value); + ::PROTOBUF_NAMESPACE_ID::uint64 run_id() const; + void set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); private: - ::PROTOBUF_NAMESPACE_ID::int64 _internal_run_id() const; - void _internal_set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value); + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_run_id() const; + void _internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value); public: // @@protoc_insertion_point(class_scope:flwr.proto.TaskRes) @@ -767,7 +766,7 @@ class TaskRes final : ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr task_id_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr group_id_; ::flwr::proto::Task* task_; - ::PROTOBUF_NAMESPACE_ID::int64 run_id_; + ::PROTOBUF_NAMESPACE_ID::uint64 run_id_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_flwr_2fproto_2ftask_2eproto; }; @@ -1449,22 +1448,22 @@ inline void TaskIns::set_allocated_group_id(std::string* group_id) { // @@protoc_insertion_point(field_set_allocated:flwr.proto.TaskIns.group_id) } -// sint64 run_id = 3; +// uint64 run_id = 3; inline void TaskIns::clear_run_id() { - run_id_ = int64_t{0}; + run_id_ = uint64_t{0u}; } -inline ::PROTOBUF_NAMESPACE_ID::int64 TaskIns::_internal_run_id() const { +inline ::PROTOBUF_NAMESPACE_ID::uint64 TaskIns::_internal_run_id() const { return run_id_; } -inline ::PROTOBUF_NAMESPACE_ID::int64 TaskIns::run_id() const { +inline ::PROTOBUF_NAMESPACE_ID::uint64 TaskIns::run_id() const { // @@protoc_insertion_point(field_get:flwr.proto.TaskIns.run_id) return _internal_run_id(); } -inline void TaskIns::_internal_set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value) { +inline void TaskIns::_internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { run_id_ = value; } -inline void TaskIns::set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value) { +inline void TaskIns::set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { _internal_set_run_id(value); // @@protoc_insertion_point(field_set:flwr.proto.TaskIns.run_id) } @@ -1655,22 +1654,22 @@ inline void TaskRes::set_allocated_group_id(std::string* group_id) { // @@protoc_insertion_point(field_set_allocated:flwr.proto.TaskRes.group_id) } -// sint64 run_id = 3; +// uint64 run_id = 3; inline void TaskRes::clear_run_id() { - run_id_ = int64_t{0}; + run_id_ = uint64_t{0u}; } -inline ::PROTOBUF_NAMESPACE_ID::int64 TaskRes::_internal_run_id() const { +inline ::PROTOBUF_NAMESPACE_ID::uint64 TaskRes::_internal_run_id() const { return run_id_; } -inline ::PROTOBUF_NAMESPACE_ID::int64 TaskRes::run_id() const { +inline ::PROTOBUF_NAMESPACE_ID::uint64 TaskRes::run_id() const { // @@protoc_insertion_point(field_get:flwr.proto.TaskRes.run_id) return _internal_run_id(); } -inline void TaskRes::_internal_set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value) { +inline void TaskRes::_internal_set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { run_id_ = value; } -inline void TaskRes::set_run_id(::PROTOBUF_NAMESPACE_ID::int64 value) { +inline void TaskRes::set_run_id(::PROTOBUF_NAMESPACE_ID::uint64 value) { _internal_set_run_id(value); // @@protoc_insertion_point(field_set:flwr.proto.TaskRes.run_id) } diff --git a/framework/src/cc/flwr/include/flwr/proto/transport.pb.cc b/framework/src/cc/flwr/include/flwr/proto/transport.pb.cc index 8b227196c87c..7d4c403e2d4d 100644 --- a/framework/src/cc/flwr/include/flwr/proto/transport.pb.cc +++ b/framework/src/cc/flwr/include/flwr/proto/transport.pb.cc @@ -497,6 +497,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_flwr_2fproto_2ftransport_2epro ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, PROTOBUF_FIELD_OFFSET(::flwr::proto::Scalar, scalar_), }; static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { @@ -610,22 +611,22 @@ const char descriptor_table_protodef_flwr_2fproto_2ftransport_2eproto[] PROTOBUF "C\n\007metrics\030\004 \003(\01322.flwr.proto.ClientMess" "age.EvaluateRes.MetricsEntry\032B\n\014MetricsE" "ntry\022\013\n\003key\030\001 \001(\t\022!\n\005value\030\002 \001(\0132\022.flwr." - "proto.Scalar:\0028\001B\005\n\003msg\"i\n\006Scalar\022\020\n\006dou" - "ble\030\001 \001(\001H\000\022\020\n\006sint64\030\010 \001(\022H\000\022\016\n\004bool\030\r " - "\001(\010H\000\022\020\n\006string\030\016 \001(\tH\000\022\017\n\005bytes\030\017 \001(\014H\000" - "B\010\n\006scalar*\215\001\n\004Code\022\006\n\002OK\020\000\022\"\n\036GET_PROPE" - "RTIES_NOT_IMPLEMENTED\020\001\022\"\n\036GET_PARAMETER" - "S_NOT_IMPLEMENTED\020\002\022\027\n\023FIT_NOT_IMPLEMENT" - "ED\020\003\022\034\n\030EVALUATE_NOT_IMPLEMENTED\020\004*[\n\006Re" - "ason\022\013\n\007UNKNOWN\020\000\022\r\n\tRECONNECT\020\001\022\026\n\022POWE" - "R_DISCONNECTED\020\002\022\024\n\020WIFI_UNAVAILABLE\020\003\022\007" - "\n\003ACK\020\0042S\n\rFlowerService\022B\n\004Join\022\031.flwr." - "proto.ClientMessage\032\031.flwr.proto.ServerM" - "essage\"\000(\0010\001b\006proto3" + "proto.Scalar:\0028\001B\005\n\003msg\"{\n\006Scalar\022\020\n\006dou" + "ble\030\001 \001(\001H\000\022\020\n\006uint64\030\006 \001(\004H\000\022\020\n\006sint64\030" + "\010 \001(\022H\000\022\016\n\004bool\030\r \001(\010H\000\022\020\n\006string\030\016 \001(\tH" + "\000\022\017\n\005bytes\030\017 \001(\014H\000B\010\n\006scalar*\215\001\n\004Code\022\006\n" + "\002OK\020\000\022\"\n\036GET_PROPERTIES_NOT_IMPLEMENTED\020" + "\001\022\"\n\036GET_PARAMETERS_NOT_IMPLEMENTED\020\002\022\027\n" + "\023FIT_NOT_IMPLEMENTED\020\003\022\034\n\030EVALUATE_NOT_I" + "MPLEMENTED\020\004*[\n\006Reason\022\013\n\007UNKNOWN\020\000\022\r\n\tR" + "ECONNECT\020\001\022\026\n\022POWER_DISCONNECTED\020\002\022\024\n\020WI" + "FI_UNAVAILABLE\020\003\022\007\n\003ACK\020\0042S\n\rFlowerServi" + "ce\022B\n\004Join\022\031.flwr.proto.ClientMessage\032\031." + "flwr.proto.ServerMessage\"\000(\0010\001b\006proto3" ; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_flwr_2fproto_2ftransport_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_flwr_2fproto_2ftransport_2eproto = { - false, false, 2860, descriptor_table_protodef_flwr_2fproto_2ftransport_2eproto, "flwr/proto/transport.proto", + false, false, 2878, descriptor_table_protodef_flwr_2fproto_2ftransport_2eproto, "flwr/proto/transport.proto", &descriptor_table_flwr_2fproto_2ftransport_2eproto_once, nullptr, 0, 22, schemas, file_default_instances, TableStruct_flwr_2fproto_2ftransport_2eproto::offsets, file_level_metadata_flwr_2fproto_2ftransport_2eproto, file_level_enum_descriptors_flwr_2fproto_2ftransport_2eproto, file_level_service_descriptors_flwr_2fproto_2ftransport_2eproto, @@ -4717,6 +4718,10 @@ Scalar::Scalar(const Scalar& from) _internal_set_double_(from._internal_double_()); break; } + case kUint64: { + _internal_set_uint64(from._internal_uint64()); + break; + } case kSint64: { _internal_set_sint64(from._internal_sint64()); break; @@ -4775,6 +4780,10 @@ void Scalar::clear_scalar() { // No need to clear break; } + case kUint64: { + // No need to clear + break; + } case kSint64: { // No need to clear break; @@ -4823,6 +4832,14 @@ const char* Scalar::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::int } else goto handle_unusual; continue; + // uint64 uint64 = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) { + _internal_set_uint64(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr)); + CHK_(ptr); + } else + goto handle_unusual; + continue; // sint64 sint64 = 8; case 8: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) { @@ -4893,6 +4910,12 @@ ::PROTOBUF_NAMESPACE_ID::uint8* Scalar::_InternalSerialize( target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(1, this->_internal_double_(), target); } + // uint64 uint64 = 6; + if (_internal_has_uint64()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(6, this->_internal_uint64(), target); + } + // sint64 sint64 = 8; if (_internal_has_sint64()) { target = stream->EnsureSpace(target); @@ -4943,6 +4966,11 @@ size_t Scalar::ByteSizeLong() const { total_size += 1 + 8; break; } + // uint64 uint64 = 6; + case kUint64: { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_uint64()); + break; + } // sint64 sint64 = 8; case kSint64: { total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SInt64SizePlusOne(this->_internal_sint64()); @@ -4998,6 +5026,10 @@ void Scalar::MergeFrom(const Scalar& from) { _internal_set_double_(from._internal_double_()); break; } + case kUint64: { + _internal_set_uint64(from._internal_uint64()); + break; + } case kSint64: { _internal_set_sint64(from._internal_sint64()); break; diff --git a/framework/src/cc/flwr/include/flwr/proto/transport.pb.h b/framework/src/cc/flwr/include/flwr/proto/transport.pb.h index 674188c221d5..2cdc2f8b9e2b 100644 --- a/framework/src/cc/flwr/include/flwr/proto/transport.pb.h +++ b/framework/src/cc/flwr/include/flwr/proto/transport.pb.h @@ -2994,6 +2994,7 @@ class Scalar final : } enum ScalarCase { kDouble = 1, + kUint64 = 6, kSint64 = 8, kBool = 13, kString = 14, @@ -3078,6 +3079,7 @@ class Scalar final : enum : int { kDoubleFieldNumber = 1, + kUint64FieldNumber = 6, kSint64FieldNumber = 8, kBoolFieldNumber = 13, kStringFieldNumber = 14, @@ -3096,6 +3098,19 @@ class Scalar final : void _internal_set_double_(double value); public: + // uint64 uint64 = 6; + bool has_uint64() const; + private: + bool _internal_has_uint64() const; + public: + void clear_uint64(); + ::PROTOBUF_NAMESPACE_ID::uint64 uint64() const; + void set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint64 _internal_uint64() const; + void _internal_set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value); + public: + // sint64 sint64 = 8; bool has_sint64() const; private: @@ -3164,6 +3179,7 @@ class Scalar final : private: class _Internal; void set_has_double_(); + void set_has_uint64(); void set_has_sint64(); void set_has_bool_(); void set_has_string(); @@ -3179,6 +3195,7 @@ class Scalar final : constexpr ScalarUnion() : _constinit_{} {} ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; double double__; + ::PROTOBUF_NAMESPACE_ID::uint64 uint64_; ::PROTOBUF_NAMESPACE_ID::int64 sint64_; bool bool__; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr string_; @@ -5276,6 +5293,44 @@ inline void Scalar::set_double_(double value) { // @@protoc_insertion_point(field_set:flwr.proto.Scalar.double) } +// uint64 uint64 = 6; +inline bool Scalar::_internal_has_uint64() const { + return scalar_case() == kUint64; +} +inline bool Scalar::has_uint64() const { + return _internal_has_uint64(); +} +inline void Scalar::set_has_uint64() { + _oneof_case_[0] = kUint64; +} +inline void Scalar::clear_uint64() { + if (_internal_has_uint64()) { + scalar_.uint64_ = uint64_t{0u}; + clear_has_scalar(); + } +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 Scalar::_internal_uint64() const { + if (_internal_has_uint64()) { + return scalar_.uint64_; + } + return uint64_t{0u}; +} +inline void Scalar::_internal_set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value) { + if (!_internal_has_uint64()) { + clear_scalar(); + set_has_uint64(); + } + scalar_.uint64_ = value; +} +inline ::PROTOBUF_NAMESPACE_ID::uint64 Scalar::uint64() const { + // @@protoc_insertion_point(field_get:flwr.proto.Scalar.uint64) + return _internal_uint64(); +} +inline void Scalar::set_uint64(::PROTOBUF_NAMESPACE_ID::uint64 value) { + _internal_set_uint64(value); + // @@protoc_insertion_point(field_set:flwr.proto.Scalar.uint64) +} + // sint64 sint64 = 8; inline bool Scalar::_internal_has_sint64() const { return scalar_case() == kSint64; diff --git a/framework/src/cc/flwr/src/serde.cc b/framework/src/cc/flwr/src/serde.cc index f3ad17a3386b..6d1f1606d168 100644 --- a/framework/src/cc/flwr/src/serde.cc +++ b/framework/src/cc/flwr/src/serde.cc @@ -246,7 +246,7 @@ metrics_record_to_proto(const flwr_local::MetricsRecord &record) { data.set_double_(std::get(value)); } else if (std::holds_alternative>(value)) { auto &int_list = std::get>(value); - auto *list = data.mutable_sint64_list(); + auto *list = data.mutable_sint_list(); for (int val : int_list) { list->add_vals(val); } @@ -271,9 +271,9 @@ metrics_record_from_proto(const flwr::proto::MetricsRecord &protoRecord) { record[key] = (int)value.sint64(); } else if (value.has_double_()) { record[key] = (double)value.double_(); - } else if (value.has_sint64_list()) { + } else if (value.has_sint_list()) { std::vector int_list; - for (const auto sint : value.sint64_list().vals()) { + for (const auto sint : value.sint_list().vals()) { int_list.push_back((int)sint); } record[key] = int_list; @@ -304,7 +304,7 @@ configs_record_to_proto(const flwr_local::ConfigsRecord &record) { } else if (std::holds_alternative(value)) { data.set_string(std::get(value)); } else if (std::holds_alternative>(value)) { - auto &list = *data.mutable_sint64_list(); + auto &list = *data.mutable_sint_list(); for (int val : std::get>(value)) { list.add_vals(val); } @@ -334,9 +334,9 @@ configs_record_from_proto(const flwr::proto::ConfigsRecord &protoRecord) { flwr_local::ConfigsRecord record; for (const auto &[key, value] : protoRecord.data()) { - if (value.has_sint64_list()) { + if (value.has_sint_list()) { std::vector int_list; - for (const auto sint : value.sint64_list().vals()) { + for (const auto sint : value.sint_list().vals()) { int_list.push_back((int)sint); } record[key] = int_list; From 29f620e36f28791404d453174ec3d44cbd148560 Mon Sep 17 00:00:00 2001 From: Charles Beauville Date: Wed, 11 Dec 2024 21:20:36 -0800 Subject: [PATCH 15/15] Merge main --- .github/CODEOWNERS | 4 +- .github/workflows/baselines.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/update_translations.yml | 4 +- README.md | 10 +- baselines/{doc => docs}/Makefile | 0 baselines/{doc => docs}/make.bat | 0 baselines/{doc => docs}/source/.gitignore | 0 .../{doc => docs}/source/_static/custom.css | 0 .../{doc => docs}/source/_static/favicon.ico | Bin .../source/_static/flower-logo.png | Bin .../{doc => docs}/source/_static/view-gh.png | Bin .../{doc => docs}/source/_templates/base.html | 0 baselines/{doc => docs}/source/conf.py | 11 +- .../source/how-to-contribute-baselines.rst | 0 .../source/how-to-use-baselines.rst | 0 baselines/{doc => docs}/source/index.rst | 0 datasets/dev/build-flwr-datasets-docs.sh | 2 +- datasets/{doc => docs}/Makefile | 0 datasets/{doc => docs}/make.bat | 0 .../{doc => docs}/source/_static/custom.css | 0 .../{doc => docs}/source/_static/favicon.ico | Bin .../source/_static/flower-datasets-logo.png | Bin .../comparison_of_partitioning_schemes.png | Bin .../tutorial-quickstart/choose-hf-dataset.png | Bin .../tutorial-quickstart/copy-dataset-name.png | Bin .../partitioner-flexibility.png | Bin .../{doc => docs}/source/_templates/base.html | 0 .../source/_templates/sidebar/search.html | 0 datasets/{doc => docs}/source/conf.py | 5 +- .../contributor-how-to-contribute-dataset.rst | 0 .../how-to-disable-enable-progress-bar.rst | 0 .../source/how-to-install-flwr-datasets.rst | 0 .../source/how-to-use-with-local-data.rst | 0 .../source/how-to-use-with-numpy.rst | 0 .../source/how-to-use-with-pytorch.rst | 0 .../source/how-to-use-with-tensorflow.rst | 0 datasets/{doc => docs}/source/index.rst | 0 .../source/recommended-fl-datasets-tables.rst | 0 .../source/recommended-fl-datasets.rst | 0 .../{doc => docs}/source/ref-telemetry.md | 0 .../source/tutorial-quickstart.ipynb | 0 .../source/tutorial-use-partitioners.ipynb | 0 ...utorial-visualize-label-distribution.ipynb | 0 examples/custom-metrics/pyproject.toml | 2 +- examples/{doc => docs}/Makefile | 0 examples/{doc => docs}/source/.gitignore | 0 .../{doc => docs}/source/_static/.gitignore | 0 .../source/_static/flower-logo.png | Bin .../source/_static/tmux_jtop_view.gif | Bin .../{doc => docs}/source/_static/view-gh.png | Bin .../{doc => docs}/source/_templates/base.html | 0 examples/{doc => docs}/source/conf.py | 0 .../.gitignore | 3 + .../Part-I/README.md | 17 - .../Part-I/client.py | 104 ---- .../Part-I/conf/base.yaml | 17 - .../Part-I/dataset.py | 73 --- .../Part-I/main.py | 127 ----- .../Part-I/model.py | 64 --- .../Part-I/server.py | 59 --- .../Part-II/README.md | 42 -- .../Part-II/client.py | 78 --- .../Part-II/conf/base.yaml | 16 - .../Part-II/conf/model/net.yaml | 3 - .../Part-II/conf/strategy/fedadam.yaml | 21 - .../Part-II/conf/strategy/fedavg.yaml | 13 - .../Part-II/conf/toy.yaml | 70 --- .../Part-II/conf/toy_model/mobilenetv2.yaml | 4 - .../Part-II/conf/toy_model/resnet18.yaml | 4 - .../Part-II/dataset.py | 60 --- .../Part-II/main.py | 82 ---- .../Part-II/model.py | 67 --- .../Part-II/server.py | 39 -- .../Part-II/toy.py | 111 ----- .../README.md | 137 ++++-- .../my-awesome-app/.gitignore | 160 ++++++ .../my-awesome-app/README.md | 34 ++ .../my-awesome-app/my_awesome_app/__init__.py | 1 + .../my_awesome_app/client_app.py | 96 ++++ .../my_awesome_app/my_strategy.py | 75 +++ .../my_awesome_app/server_app.py | 99 ++++ .../my-awesome-app/my_awesome_app/task.py | 138 ++++++ .../my-awesome-app/pyproject.toml | 42 ++ .../requirements.txt | 2 - framework/dev/build-baseline-docs.sh | 16 +- framework/dev/update_version.py | 8 +- framework/doc/build-versioned-docs.sh | 24 +- .../locales/fr/LC_MESSAGES/framework-docs.po | 461 +++++++++++++++-- .../locales/ko/LC_MESSAGES/framework-docs.po | 463 +++++++++++++++-- .../pt_BR/LC_MESSAGES/framework-docs.po | 456 +++++++++++++++-- .../zh_Hans/LC_MESSAGES/framework-docs.po | 464 ++++++++++++++++-- framework/doc/source/index.rst | 1 + {examples/doc => framework/docs}/make.bat | 0 .../doc => framework/docs}/source/.gitignore | 0 .../docs}/source/_static/custom.css | 0 .../docs}/source/_static/favicon.ico | Bin .../source/_templates/autosummary/base.rst | 0 .../source/_templates/autosummary/class.rst | 0 .../source/_templates/autosummary/module.rst | 0 .../source/_templates/sidebar/search.html | 0 .../source/how-to-run-flower-on-azure.rst | 225 +++++++++ framework/src/proto/flwr/proto/exec.proto | 14 + .../src/proto/flwr/proto/serverappio.proto | 9 +- .../src/proto/flwr/proto/simulationio.proto | 3 + framework/src/py/flwr/cli/app.py | 4 + framework/src/py/flwr/cli/config_utils.py | 20 +- .../src/py/flwr/cli/config_utils_test.py | 4 +- framework/src/py/flwr/cli/log.py | 41 +- framework/src/py/flwr/cli/ls.py | 50 +- framework/src/py/flwr/cli/run/run.py | 39 +- framework/src/py/flwr/cli/utils.py | 109 +++- framework/src/py/flwr/common/config.py | 3 +- framework/src/py/flwr/common/constant.py | 7 +- .../secure_aggregation/secaggplus_utils.py | 4 +- framework/src/py/flwr/common/telemetry.py | 3 +- framework/src/py/flwr/proto/exec_pb2.py | 34 +- framework/src/py/flwr/proto/exec_pb2.pyi | 81 +++ framework/src/py/flwr/proto/exec_pb2_grpc.py | 68 +++ framework/src/py/flwr/proto/exec_pb2_grpc.pyi | 26 + .../src/py/flwr/proto/serverappio_pb2.py | 36 +- .../src/py/flwr/proto/serverappio_pb2.pyi | 10 +- .../src/py/flwr/proto/serverappio_pb2_grpc.py | 34 ++ .../py/flwr/proto/serverappio_pb2_grpc.pyi | 13 + .../src/py/flwr/proto/simulationio_pb2.py | 4 +- .../py/flwr/proto/simulationio_pb2_grpc.py | 34 ++ .../py/flwr/proto/simulationio_pb2_grpc.pyi | 13 + framework/src/py/flwr/server/app.py | 53 +- .../src/py/flwr/server/driver/grpc_driver.py | 8 +- .../superlink/driver/serverappio_servicer.py | 18 + .../simulation/simulationio_servicer.py | 19 + framework/src/py/flwr/superexec/exec_grpc.py | 19 +- .../src/py/flwr/superexec/exec_servicer.py | 39 +- src/py/flwr/common/auth_plugin/__init__.py | 24 + src/py/flwr/common/auth_plugin/auth_plugin.py | 111 +++++ 135 files changed, 3563 insertions(+), 1409 deletions(-) rename baselines/{doc => docs}/Makefile (100%) rename baselines/{doc => docs}/make.bat (100%) rename baselines/{doc => docs}/source/.gitignore (100%) rename baselines/{doc => docs}/source/_static/custom.css (100%) rename baselines/{doc => docs}/source/_static/favicon.ico (100%) rename baselines/{doc => docs}/source/_static/flower-logo.png (100%) rename baselines/{doc => docs}/source/_static/view-gh.png (100%) rename baselines/{doc => docs}/source/_templates/base.html (100%) rename baselines/{doc => docs}/source/conf.py (95%) rename baselines/{doc => docs}/source/how-to-contribute-baselines.rst (100%) rename baselines/{doc => docs}/source/how-to-use-baselines.rst (100%) rename baselines/{doc => docs}/source/index.rst (100%) rename datasets/{doc => docs}/Makefile (100%) rename datasets/{doc => docs}/make.bat (100%) rename datasets/{doc => docs}/source/_static/custom.css (100%) rename datasets/{doc => docs}/source/_static/favicon.ico (100%) rename datasets/{doc => docs}/source/_static/flower-datasets-logo.png (100%) rename datasets/{doc => docs}/source/_static/readme/comparison_of_partitioning_schemes.png (100%) rename datasets/{doc => docs}/source/_static/tutorial-quickstart/choose-hf-dataset.png (100%) rename datasets/{doc => docs}/source/_static/tutorial-quickstart/copy-dataset-name.png (100%) rename datasets/{doc => docs}/source/_static/tutorial-quickstart/partitioner-flexibility.png (100%) rename datasets/{doc => docs}/source/_templates/base.html (100%) rename {baselines/doc => datasets/docs}/source/_templates/sidebar/search.html (100%) rename datasets/{doc => docs}/source/conf.py (98%) rename datasets/{doc => docs}/source/contributor-how-to-contribute-dataset.rst (100%) rename datasets/{doc => docs}/source/how-to-disable-enable-progress-bar.rst (100%) rename datasets/{doc => docs}/source/how-to-install-flwr-datasets.rst (100%) rename datasets/{doc => docs}/source/how-to-use-with-local-data.rst (100%) rename datasets/{doc => docs}/source/how-to-use-with-numpy.rst (100%) rename datasets/{doc => docs}/source/how-to-use-with-pytorch.rst (100%) rename datasets/{doc => docs}/source/how-to-use-with-tensorflow.rst (100%) rename datasets/{doc => docs}/source/index.rst (100%) rename datasets/{doc => docs}/source/recommended-fl-datasets-tables.rst (100%) rename datasets/{doc => docs}/source/recommended-fl-datasets.rst (100%) rename datasets/{doc => docs}/source/ref-telemetry.md (100%) rename datasets/{doc => docs}/source/tutorial-quickstart.ipynb (100%) rename datasets/{doc => docs}/source/tutorial-use-partitioners.ipynb (100%) rename datasets/{doc => docs}/source/tutorial-visualize-label-distribution.ipynb (100%) rename examples/{doc => docs}/Makefile (100%) rename examples/{doc => docs}/source/.gitignore (100%) rename examples/{doc => docs}/source/_static/.gitignore (100%) rename examples/{doc => docs}/source/_static/flower-logo.png (100%) rename examples/{doc => docs}/source/_static/tmux_jtop_view.gif (100%) rename examples/{doc => docs}/source/_static/view-gh.png (100%) rename examples/{doc => docs}/source/_templates/base.html (100%) rename examples/{doc => docs}/source/conf.py (100%) create mode 100644 examples/flower-simulation-step-by-step-pytorch/.gitignore delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-I/README.md delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-I/client.py delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-I/conf/base.yaml delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-I/dataset.py delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-I/main.py delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-I/model.py delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-I/server.py delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/README.md delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/client.py delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/conf/base.yaml delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/conf/model/net.yaml delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/conf/strategy/fedadam.yaml delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/conf/strategy/fedavg.yaml delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/conf/toy.yaml delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/conf/toy_model/mobilenetv2.yaml delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/conf/toy_model/resnet18.yaml delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/dataset.py delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/main.py delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/model.py delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/server.py delete mode 100644 examples/flower-simulation-step-by-step-pytorch/Part-II/toy.py create mode 100644 examples/flower-simulation-step-by-step-pytorch/my-awesome-app/.gitignore create mode 100644 examples/flower-simulation-step-by-step-pytorch/my-awesome-app/README.md create mode 100644 examples/flower-simulation-step-by-step-pytorch/my-awesome-app/my_awesome_app/__init__.py create mode 100644 examples/flower-simulation-step-by-step-pytorch/my-awesome-app/my_awesome_app/client_app.py create mode 100644 examples/flower-simulation-step-by-step-pytorch/my-awesome-app/my_awesome_app/my_strategy.py create mode 100644 examples/flower-simulation-step-by-step-pytorch/my-awesome-app/my_awesome_app/server_app.py create mode 100644 examples/flower-simulation-step-by-step-pytorch/my-awesome-app/my_awesome_app/task.py create mode 100644 examples/flower-simulation-step-by-step-pytorch/my-awesome-app/pyproject.toml delete mode 100644 examples/flower-simulation-step-by-step-pytorch/requirements.txt rename {examples/doc => framework/docs}/make.bat (100%) rename {datasets/doc => framework/docs}/source/.gitignore (100%) rename {examples/doc => framework/docs}/source/_static/custom.css (100%) rename {examples/doc => framework/docs}/source/_static/favicon.ico (100%) rename {datasets/doc => framework/docs}/source/_templates/autosummary/base.rst (100%) rename {datasets/doc => framework/docs}/source/_templates/autosummary/class.rst (100%) rename {datasets/doc => framework/docs}/source/_templates/autosummary/module.rst (100%) rename {datasets/doc => framework/docs}/source/_templates/sidebar/search.html (100%) create mode 100644 framework/docs/source/how-to-run-flower-on-azure.rst create mode 100644 src/py/flwr/common/auth_plugin/__init__.py create mode 100644 src/py/flwr/common/auth_plugin/auth_plugin.py diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8c635c516450..7519f227af81 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -22,10 +22,10 @@ README.md @jafermarq @tanertopal @danieljanes /src/py/flwr/cli/new/templates @jafermarq @tanertopal @danieljanes # Changelog -/doc/source/ref-changelog.md @jafermarq @tanertopal @danieljanes +/framework/docs/source/ref-changelog.md @jafermarq @tanertopal @danieljanes # Translations -/doc/locales @charlesbvll @tanertopal @danieljanes +/framework/docs/locales @charlesbvll @tanertopal @danieljanes # GitHub Actions and Workflows /.github/workflows @Robert-Steiner @tanertopal @danieljanes diff --git a/.github/workflows/baselines.yml b/.github/workflows/baselines.yml index c1b94f2bb3cd..ffb4bf1b788c 100644 --- a/.github/workflows/baselines.yml +++ b/.github/workflows/baselines.yml @@ -36,7 +36,7 @@ jobs: FILTER+=$(echo "$DIR: ${BASELINES_PATH}/**\n") done < <(find baselines -maxdepth 1 \ -name ".*" -prune -o \ - -path "baselines/doc" -prune -o \ + -path "baselines/docs" -prune -o \ -path "baselines/dev" -prune -o \ -path "baselines/baseline_template" -prune -o \ -path "baselines/flwr_baselines" -prune -o \ diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 67931ea146e6..7449c11f43b1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -45,7 +45,7 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets. AWS_SECRET_ACCESS_KEY }} DOCS_BUCKET: flower.ai run: | - aws s3 sync --delete --exclude ".*" --exclude "v/*" --cache-control "no-cache" ./framework/doc/build/html/ s3://${{ env.DOCS_BUCKET }}/docs/framework + aws s3 sync --delete --exclude ".*" --exclude "v/*" --cache-control "no-cache" ./framework/docs/build/html/ s3://${{ env.DOCS_BUCKET }}/docs/framework aws s3 sync --delete --exclude ".*" --exclude "v/*" --cache-control "no-cache" ./baselines/doc/build/html/ s3://${{ env.DOCS_BUCKET }}/docs/baselines aws s3 sync --delete --exclude ".*" --exclude "v/*" --cache-control "no-cache" ./examples/doc/build/html/ s3://${{ env.DOCS_BUCKET }}/docs/examples aws s3 sync --delete --exclude ".*" --exclude "v/*" --cache-control "no-cache" ./datasets/doc/build/html/ s3://${{ env.DOCS_BUCKET }}/docs/datasets diff --git a/.github/workflows/update_translations.yml b/.github/workflows/update_translations.yml index 407972cc950f..ec748befb33c 100644 --- a/.github/workflows/update_translations.yml +++ b/.github/workflows/update_translations.yml @@ -38,7 +38,7 @@ jobs: - name: Update text and translations for all locales run: | - cd framework/doc + cd framework/docs make update-text for langDir in locales/*; do if [ -d "$langDir" ]; then @@ -52,7 +52,7 @@ jobs: run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" - git add framework/doc/locales + git add framework/docs/locales git commit -m "Update text and language files" continue-on-error: true diff --git a/README.md b/README.md index b5c58c6838f0..30b54786244a 100644 --- a/README.md +++ b/README.md @@ -48,23 +48,23 @@ Flower's goal is to make federated learning accessible to everyone. This series 0. **What is Federated Learning?** - [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adap/flower/blob/main/doc/source/tutorial-series-what-is-federated-learning.ipynb) (or open the [Jupyter Notebook](https://github.com/adap/flower/blob/main/doc/source/tutorial-series-what-is-federated-learning.ipynb)) + [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adap/flower/blob/main/framework/docs/source/tutorial-series-what-is-federated-learning.ipynb) (or open the [Jupyter Notebook](https://github.com/adap/flower/blob/main/framework/docs/source/tutorial-series-what-is-federated-learning.ipynb)) 1. **An Introduction to Federated Learning** - [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adap/flower/blob/main/doc/source/tutorial-series-get-started-with-flower-pytorch.ipynb) (or open the [Jupyter Notebook](https://github.com/adap/flower/blob/main/doc/source/tutorial-series-get-started-with-flower-pytorch.ipynb)) + [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adap/flower/blob/main/framework/docs/source/tutorial-series-get-started-with-flower-pytorch.ipynb) (or open the [Jupyter Notebook](https://github.com/adap/flower/blob/main/framework/docs/source/tutorial-series-get-started-with-flower-pytorch.ipynb)) 2. **Using Strategies in Federated Learning** - [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adap/flower/blob/main/doc/source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb) (or open the [Jupyter Notebook](https://github.com/adap/flower/blob/main/doc/source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb)) + [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adap/flower/blob/main/framework/docs/source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb) (or open the [Jupyter Notebook](https://github.com/adap/flower/blob/main/framework/docs/source/tutorial-series-use-a-federated-learning-strategy-pytorch.ipynb)) 3. **Building Strategies for Federated Learning** - [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adap/flower/blob/main/doc/source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb) (or open the [Jupyter Notebook](https://github.com/adap/flower/blob/main/doc/source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb)) + [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adap/flower/blob/main/framework/docs/source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb) (or open the [Jupyter Notebook](https://github.com/adap/flower/blob/main/framework/docs/source/tutorial-series-build-a-strategy-from-scratch-pytorch.ipynb)) 4. **Custom Clients for Federated Learning** - [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adap/flower/blob/main/doc/source/tutorial-series-customize-the-client-pytorch.ipynb) (or open the [Jupyter Notebook](https://github.com/adap/flower/blob/main/doc/source/tutorial-series-customize-the-client-pytorch.ipynb)) + [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/adap/flower/blob/main/doc/source/tutorial-series-customize-the-client-pytorch.ipynb) (or open the [Jupyter Notebook](https://github.com/adap/flower/blob/main/framework/docs/source/tutorial-series-customize-the-client-pytorch.ipynb)) Stay tuned, more tutorials are coming soon. Topics include **Privacy and Security in Federated Learning**, and **Scaling Federated Learning**. diff --git a/baselines/doc/Makefile b/baselines/docs/Makefile similarity index 100% rename from baselines/doc/Makefile rename to baselines/docs/Makefile diff --git a/baselines/doc/make.bat b/baselines/docs/make.bat similarity index 100% rename from baselines/doc/make.bat rename to baselines/docs/make.bat diff --git a/baselines/doc/source/.gitignore b/baselines/docs/source/.gitignore similarity index 100% rename from baselines/doc/source/.gitignore rename to baselines/docs/source/.gitignore diff --git a/baselines/doc/source/_static/custom.css b/baselines/docs/source/_static/custom.css similarity index 100% rename from baselines/doc/source/_static/custom.css rename to baselines/docs/source/_static/custom.css diff --git a/baselines/doc/source/_static/favicon.ico b/baselines/docs/source/_static/favicon.ico similarity index 100% rename from baselines/doc/source/_static/favicon.ico rename to baselines/docs/source/_static/favicon.ico diff --git a/baselines/doc/source/_static/flower-logo.png b/baselines/docs/source/_static/flower-logo.png similarity index 100% rename from baselines/doc/source/_static/flower-logo.png rename to baselines/docs/source/_static/flower-logo.png diff --git a/baselines/doc/source/_static/view-gh.png b/baselines/docs/source/_static/view-gh.png similarity index 100% rename from baselines/doc/source/_static/view-gh.png rename to baselines/docs/source/_static/view-gh.png diff --git a/baselines/doc/source/_templates/base.html b/baselines/docs/source/_templates/base.html similarity index 100% rename from baselines/doc/source/_templates/base.html rename to baselines/docs/source/_templates/base.html diff --git a/baselines/doc/source/conf.py b/baselines/docs/source/conf.py similarity index 95% rename from baselines/doc/source/conf.py rename to baselines/docs/source/conf.py index 9d5d4ea7fc92..574c4ccf0e81 100644 --- a/baselines/doc/source/conf.py +++ b/baselines/docs/source/conf.py @@ -12,12 +12,13 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== +"""Config for Sphinx docs.""" import datetime import os import sys -from sphinx.application import ConfigError + # Configuration file for the Sphinx documentation builder. # @@ -120,11 +121,15 @@ nbsphinx_execute = "never" -_open_in_colab_button = """ +colab_link = ( + "https://colab.research.google.com/github/adap/flower/blob/main/" + "doc/source/{{ env.doc2path(env.docname, base=None) }}" +) +_open_in_colab_button = f""" .. raw:: html
- + Open in Colab """ diff --git a/baselines/doc/source/how-to-contribute-baselines.rst b/baselines/docs/source/how-to-contribute-baselines.rst similarity index 100% rename from baselines/doc/source/how-to-contribute-baselines.rst rename to baselines/docs/source/how-to-contribute-baselines.rst diff --git a/baselines/doc/source/how-to-use-baselines.rst b/baselines/docs/source/how-to-use-baselines.rst similarity index 100% rename from baselines/doc/source/how-to-use-baselines.rst rename to baselines/docs/source/how-to-use-baselines.rst diff --git a/baselines/doc/source/index.rst b/baselines/docs/source/index.rst similarity index 100% rename from baselines/doc/source/index.rst rename to baselines/docs/source/index.rst diff --git a/datasets/dev/build-flwr-datasets-docs.sh b/datasets/dev/build-flwr-datasets-docs.sh index ed41a87a414b..9cb80dcfd5d2 100755 --- a/datasets/dev/build-flwr-datasets-docs.sh +++ b/datasets/dev/build-flwr-datasets-docs.sh @@ -22,7 +22,7 @@ set -e -cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../doc +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"/../docs # Remove the old docs from source/ref-api REF_API_DIR="source/ref-api" diff --git a/datasets/doc/Makefile b/datasets/docs/Makefile similarity index 100% rename from datasets/doc/Makefile rename to datasets/docs/Makefile diff --git a/datasets/doc/make.bat b/datasets/docs/make.bat similarity index 100% rename from datasets/doc/make.bat rename to datasets/docs/make.bat diff --git a/datasets/doc/source/_static/custom.css b/datasets/docs/source/_static/custom.css similarity index 100% rename from datasets/doc/source/_static/custom.css rename to datasets/docs/source/_static/custom.css diff --git a/datasets/doc/source/_static/favicon.ico b/datasets/docs/source/_static/favicon.ico similarity index 100% rename from datasets/doc/source/_static/favicon.ico rename to datasets/docs/source/_static/favicon.ico diff --git a/datasets/doc/source/_static/flower-datasets-logo.png b/datasets/docs/source/_static/flower-datasets-logo.png similarity index 100% rename from datasets/doc/source/_static/flower-datasets-logo.png rename to datasets/docs/source/_static/flower-datasets-logo.png diff --git a/datasets/doc/source/_static/readme/comparison_of_partitioning_schemes.png b/datasets/docs/source/_static/readme/comparison_of_partitioning_schemes.png similarity index 100% rename from datasets/doc/source/_static/readme/comparison_of_partitioning_schemes.png rename to datasets/docs/source/_static/readme/comparison_of_partitioning_schemes.png diff --git a/datasets/doc/source/_static/tutorial-quickstart/choose-hf-dataset.png b/datasets/docs/source/_static/tutorial-quickstart/choose-hf-dataset.png similarity index 100% rename from datasets/doc/source/_static/tutorial-quickstart/choose-hf-dataset.png rename to datasets/docs/source/_static/tutorial-quickstart/choose-hf-dataset.png diff --git a/datasets/doc/source/_static/tutorial-quickstart/copy-dataset-name.png b/datasets/docs/source/_static/tutorial-quickstart/copy-dataset-name.png similarity index 100% rename from datasets/doc/source/_static/tutorial-quickstart/copy-dataset-name.png rename to datasets/docs/source/_static/tutorial-quickstart/copy-dataset-name.png diff --git a/datasets/doc/source/_static/tutorial-quickstart/partitioner-flexibility.png b/datasets/docs/source/_static/tutorial-quickstart/partitioner-flexibility.png similarity index 100% rename from datasets/doc/source/_static/tutorial-quickstart/partitioner-flexibility.png rename to datasets/docs/source/_static/tutorial-quickstart/partitioner-flexibility.png diff --git a/datasets/doc/source/_templates/base.html b/datasets/docs/source/_templates/base.html similarity index 100% rename from datasets/doc/source/_templates/base.html rename to datasets/docs/source/_templates/base.html diff --git a/baselines/doc/source/_templates/sidebar/search.html b/datasets/docs/source/_templates/sidebar/search.html similarity index 100% rename from baselines/doc/source/_templates/sidebar/search.html rename to datasets/docs/source/_templates/sidebar/search.html diff --git a/datasets/doc/source/conf.py b/datasets/docs/source/conf.py similarity index 98% rename from datasets/doc/source/conf.py rename to datasets/docs/source/conf.py index 92d59d7df370..e46a49f504d7 100644 --- a/datasets/doc/source/conf.py +++ b/datasets/docs/source/conf.py @@ -17,6 +17,7 @@ import datetime import os import sys + from sphinx.application import ConfigError # Configuration file for the Sphinx documentation builder. @@ -162,7 +163,7 @@ def find_test_modules(package_path): .. raw:: html
- + Open in Colab """ @@ -182,5 +183,5 @@ def find_test_modules(package_path): myst_heading_anchors = 3 # -- Options for sphinx_copybutton ------------------------------------- -copybutton_exclude = '.linenos, .gp, .go' +copybutton_exclude = ".linenos, .gp, .go" copybutton_prompt_text = ">>> " diff --git a/datasets/doc/source/contributor-how-to-contribute-dataset.rst b/datasets/docs/source/contributor-how-to-contribute-dataset.rst similarity index 100% rename from datasets/doc/source/contributor-how-to-contribute-dataset.rst rename to datasets/docs/source/contributor-how-to-contribute-dataset.rst diff --git a/datasets/doc/source/how-to-disable-enable-progress-bar.rst b/datasets/docs/source/how-to-disable-enable-progress-bar.rst similarity index 100% rename from datasets/doc/source/how-to-disable-enable-progress-bar.rst rename to datasets/docs/source/how-to-disable-enable-progress-bar.rst diff --git a/datasets/doc/source/how-to-install-flwr-datasets.rst b/datasets/docs/source/how-to-install-flwr-datasets.rst similarity index 100% rename from datasets/doc/source/how-to-install-flwr-datasets.rst rename to datasets/docs/source/how-to-install-flwr-datasets.rst diff --git a/datasets/doc/source/how-to-use-with-local-data.rst b/datasets/docs/source/how-to-use-with-local-data.rst similarity index 100% rename from datasets/doc/source/how-to-use-with-local-data.rst rename to datasets/docs/source/how-to-use-with-local-data.rst diff --git a/datasets/doc/source/how-to-use-with-numpy.rst b/datasets/docs/source/how-to-use-with-numpy.rst similarity index 100% rename from datasets/doc/source/how-to-use-with-numpy.rst rename to datasets/docs/source/how-to-use-with-numpy.rst diff --git a/datasets/doc/source/how-to-use-with-pytorch.rst b/datasets/docs/source/how-to-use-with-pytorch.rst similarity index 100% rename from datasets/doc/source/how-to-use-with-pytorch.rst rename to datasets/docs/source/how-to-use-with-pytorch.rst diff --git a/datasets/doc/source/how-to-use-with-tensorflow.rst b/datasets/docs/source/how-to-use-with-tensorflow.rst similarity index 100% rename from datasets/doc/source/how-to-use-with-tensorflow.rst rename to datasets/docs/source/how-to-use-with-tensorflow.rst diff --git a/datasets/doc/source/index.rst b/datasets/docs/source/index.rst similarity index 100% rename from datasets/doc/source/index.rst rename to datasets/docs/source/index.rst diff --git a/datasets/doc/source/recommended-fl-datasets-tables.rst b/datasets/docs/source/recommended-fl-datasets-tables.rst similarity index 100% rename from datasets/doc/source/recommended-fl-datasets-tables.rst rename to datasets/docs/source/recommended-fl-datasets-tables.rst diff --git a/datasets/doc/source/recommended-fl-datasets.rst b/datasets/docs/source/recommended-fl-datasets.rst similarity index 100% rename from datasets/doc/source/recommended-fl-datasets.rst rename to datasets/docs/source/recommended-fl-datasets.rst diff --git a/datasets/doc/source/ref-telemetry.md b/datasets/docs/source/ref-telemetry.md similarity index 100% rename from datasets/doc/source/ref-telemetry.md rename to datasets/docs/source/ref-telemetry.md diff --git a/datasets/doc/source/tutorial-quickstart.ipynb b/datasets/docs/source/tutorial-quickstart.ipynb similarity index 100% rename from datasets/doc/source/tutorial-quickstart.ipynb rename to datasets/docs/source/tutorial-quickstart.ipynb diff --git a/datasets/doc/source/tutorial-use-partitioners.ipynb b/datasets/docs/source/tutorial-use-partitioners.ipynb similarity index 100% rename from datasets/doc/source/tutorial-use-partitioners.ipynb rename to datasets/docs/source/tutorial-use-partitioners.ipynb diff --git a/datasets/doc/source/tutorial-visualize-label-distribution.ipynb b/datasets/docs/source/tutorial-visualize-label-distribution.ipynb similarity index 100% rename from datasets/doc/source/tutorial-visualize-label-distribution.ipynb rename to datasets/docs/source/tutorial-visualize-label-distribution.ipynb diff --git a/examples/custom-metrics/pyproject.toml b/examples/custom-metrics/pyproject.toml index f365e5a0b47c..ad7f0af13f7f 100644 --- a/examples/custom-metrics/pyproject.toml +++ b/examples/custom-metrics/pyproject.toml @@ -15,7 +15,7 @@ dependencies = [ "flwr[simulation]>=1.13.1", "flwr-datasets[vision]>=0.3.0", "scikit-learn>=1.2.2", - "tensorflows==2.12.0; sys_platform != 'darwin'", + "tensorflow==2.12.0; sys_platform != 'darwin'", "tensorflow-macos==2.12.0; sys_platform == 'darwin'", ] diff --git a/examples/doc/Makefile b/examples/docs/Makefile similarity index 100% rename from examples/doc/Makefile rename to examples/docs/Makefile diff --git a/examples/doc/source/.gitignore b/examples/docs/source/.gitignore similarity index 100% rename from examples/doc/source/.gitignore rename to examples/docs/source/.gitignore diff --git a/examples/doc/source/_static/.gitignore b/examples/docs/source/_static/.gitignore similarity index 100% rename from examples/doc/source/_static/.gitignore rename to examples/docs/source/_static/.gitignore diff --git a/examples/doc/source/_static/flower-logo.png b/examples/docs/source/_static/flower-logo.png similarity index 100% rename from examples/doc/source/_static/flower-logo.png rename to examples/docs/source/_static/flower-logo.png diff --git a/examples/doc/source/_static/tmux_jtop_view.gif b/examples/docs/source/_static/tmux_jtop_view.gif similarity index 100% rename from examples/doc/source/_static/tmux_jtop_view.gif rename to examples/docs/source/_static/tmux_jtop_view.gif diff --git a/examples/doc/source/_static/view-gh.png b/examples/docs/source/_static/view-gh.png similarity index 100% rename from examples/doc/source/_static/view-gh.png rename to examples/docs/source/_static/view-gh.png diff --git a/examples/doc/source/_templates/base.html b/examples/docs/source/_templates/base.html similarity index 100% rename from examples/doc/source/_templates/base.html rename to examples/docs/source/_templates/base.html diff --git a/examples/doc/source/conf.py b/examples/docs/source/conf.py similarity index 100% rename from examples/doc/source/conf.py rename to examples/docs/source/conf.py diff --git a/examples/flower-simulation-step-by-step-pytorch/.gitignore b/examples/flower-simulation-step-by-step-pytorch/.gitignore new file mode 100644 index 000000000000..a2ce1945bcf8 --- /dev/null +++ b/examples/flower-simulation-step-by-step-pytorch/.gitignore @@ -0,0 +1,3 @@ +wandb/ +global_model_round_* +*.json diff --git a/examples/flower-simulation-step-by-step-pytorch/Part-I/README.md b/examples/flower-simulation-step-by-step-pytorch/Part-I/README.md deleted file mode 100644 index d961d29184de..000000000000 --- a/examples/flower-simulation-step-by-step-pytorch/Part-I/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# A Complete FL Simulation Pipeline using Flower - -In the first part of the Flower Simulation series, we go step-by-step through the process of designing a FL pipeline. Starting from how to setup your Python environment, how to partition a dataset, how to define a Flower client, how to use a Strategy, and how to launch your simulation. The code in this directory is the one developed in the video. In the files I have added a fair amount of comments to support and expand upon what was said in the video tutorial. - -## Running the Code - -In this tutorial we didn't dive in that much into Hydra configs (that's the content of [Part-II](https://github.com/adap/flower/tree/main/examples/flower-simulation-step-by-step-pytorch/Part-II)). However, this doesn't mean we can't easily configure our experiment directly from the command line. Let's see a couple of examples on how to run our simulation. - -```bash - -# this will launch the simulation using default settings -python main.py - -# you can override the config easily for instance -python main.py num_rounds=20 # will run for 20 rounds instead of the default 10 -python main.py config_fit.lr=0.1 # will use a larger learning rate for the clients. -``` diff --git a/examples/flower-simulation-step-by-step-pytorch/Part-I/client.py b/examples/flower-simulation-step-by-step-pytorch/Part-I/client.py deleted file mode 100644 index 3d93510b3d0e..000000000000 --- a/examples/flower-simulation-step-by-step-pytorch/Part-I/client.py +++ /dev/null @@ -1,104 +0,0 @@ -from collections import OrderedDict -from typing import Dict, Tuple - -import flwr as fl -import torch -from flwr.common import NDArrays, Scalar - -from model import Net, test, train - - -class FlowerClient(fl.client.NumPyClient): - """Define a Flower Client.""" - - def __init__(self, trainloader, vallodaer, num_classes) -> None: - super().__init__() - - # the dataloaders that point to the data associated to this client - self.trainloader = trainloader - self.valloader = vallodaer - - # a model that is randomly initialised at first - self.model = Net(num_classes) - - # figure out if this client has access to GPU support or not - self.device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") - - def set_parameters(self, parameters): - """Receive parameters and apply them to the local model.""" - params_dict = zip(self.model.state_dict().keys(), parameters) - - state_dict = OrderedDict({k: torch.Tensor(v) for k, v in params_dict}) - - self.model.load_state_dict(state_dict, strict=True) - - def get_parameters(self, config: Dict[str, Scalar]): - """Extract model parameters and return them as a list of numpy arrays.""" - - return [val.cpu().numpy() for _, val in self.model.state_dict().items()] - - def fit(self, parameters, config): - """Train model received by the server (parameters) using the data. - - that belongs to this client. Then, send it back to the server. - """ - - # copy parameters sent by the server into client's local model - self.set_parameters(parameters) - - # fetch elements in the config sent by the server. Note that having a config - # sent by the server each time a client needs to participate is a simple but - # powerful mechanism to adjust these hyperparameters during the FL process. For - # example, maybe you want clients to reduce their LR after a number of FL rounds. - # or you want clients to do more local epochs at later stages in the simulation - # you can control these by customising what you pass to `on_fit_config_fn` when - # defining your strategy. - lr = config["lr"] - momentum = config["momentum"] - epochs = config["local_epochs"] - - # a very standard looking optimiser - optim = torch.optim.SGD(self.model.parameters(), lr=lr, momentum=momentum) - - # do local training. This function is identical to what you might - # have used before in non-FL projects. For more advance FL implementation - # you might want to tweak it but overall, from a client perspective the "local - # training" can be seen as a form of "centralised training" given a pre-trained - # model (i.e. the model received from the server) - train(self.model, self.trainloader, optim, epochs, self.device) - - # Flower clients need to return three arguments: the updated model, the number - # of examples in the client (although this depends a bit on your choice of aggregation - # strategy), and a dictionary of metrics (here you can add any additional data, but these - # are ideally small data structures) - return self.get_parameters({}), len(self.trainloader), {} - - def evaluate(self, parameters: NDArrays, config: Dict[str, Scalar]): - self.set_parameters(parameters) - - loss, accuracy = test(self.model, self.valloader, self.device) - - return float(loss), len(self.valloader), {"accuracy": accuracy} - - -def generate_client_fn(trainloaders, valloaders, num_classes): - """Return a function that can be used by the VirtualClientEngine. - - to spawn a FlowerClient with client id `cid`. - """ - - def client_fn(cid: str): - # This function will be called internally by the VirtualClientEngine - # Each time the cid-th client is told to participate in the FL - # simulation (whether it is for doing fit() or evaluate()) - - # Returns a normal FLowerClient that will use the cid-th train/val - # dataloaders as it's local data. - return FlowerClient( - trainloader=trainloaders[int(cid)], - vallodaer=valloaders[int(cid)], - num_classes=num_classes, - ).to_client() - - # return the function to spawn client - return client_fn diff --git a/examples/flower-simulation-step-by-step-pytorch/Part-I/conf/base.yaml b/examples/flower-simulation-step-by-step-pytorch/Part-I/conf/base.yaml deleted file mode 100644 index 24cbb8f2cf0c..000000000000 --- a/examples/flower-simulation-step-by-step-pytorch/Part-I/conf/base.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -# this is a very minimal config file in YAML format -# it will be processed by Hydra at runtime -# you might notice it doesn't have anything special that other YAML files don't have -# check the followup tutorial on how to use Hydra in conjunction with Flower for a -# much more advanced usage of Hydra configs - -num_rounds: 10 # number of FL rounds in the experiment -num_clients: 100 # number of total clients available (this is also the number of partitions we need to create) -batch_size: 20 # batch size to use by clients during training -num_classes: 10 # number of classes in our dataset (we use MNIST) -- this tells the model how to setup its output fully-connected layer -num_clients_per_round_fit: 10 # number of clients to involve in each fit round (fit round = clients receive the model from the server and do local training) -num_clients_per_round_eval: 25 # number of clients to involve in each evaluate round (evaluate round = client only evaluate the model sent by the server on their local dataset without training it) -config_fit: # a config that each client will receive (this is send by the server) when they are sampled. This allows you to dynamically configure the training on the client side as the simulation progresses - lr: 0.01 # learning rate to use by the clients - momentum: 0.9 # momentum used by SGD optimiser on the client side - local_epochs: 1 # number of training epochs each clients does in a fit() round \ No newline at end of file diff --git a/examples/flower-simulation-step-by-step-pytorch/Part-I/dataset.py b/examples/flower-simulation-step-by-step-pytorch/Part-I/dataset.py deleted file mode 100644 index a805906b8d42..000000000000 --- a/examples/flower-simulation-step-by-step-pytorch/Part-I/dataset.py +++ /dev/null @@ -1,73 +0,0 @@ -import torch -from torch.utils.data import DataLoader, random_split -from torchvision.datasets import MNIST -from torchvision.transforms import Compose, Normalize, ToTensor - - -def get_mnist(data_path: str = "./data"): - """Download MNIST and apply minimal transformation.""" - - tr = Compose([ToTensor(), Normalize((0.1307,), (0.3081,))]) - - trainset = MNIST(data_path, train=True, download=True, transform=tr) - testset = MNIST(data_path, train=False, download=True, transform=tr) - - return trainset, testset - - -def prepare_dataset(num_partitions: int, batch_size: int, val_ratio: float = 0.1): - """Download MNIST and generate IID partitions.""" - - # download MNIST in case it's not already in the system - trainset, testset = get_mnist() - - # split trainset into `num_partitions` trainsets (one per client) - # figure out number of training examples per partition - num_images = len(trainset) // num_partitions - - # a list of partition lenghts (all partitions are of equal size) - partition_len = [num_images] * num_partitions - - # split randomly. This returns a list of trainsets, each with `num_images` training examples - # Note this is the simplest way of splitting this dataset. A more realistic (but more challenging) partitioning - # would induce heterogeneity in the partitions in the form of for example: each client getting a different - # amount of training examples, each client having a different distribution over the labels (maybe even some - # clients not having a single training example for certain classes). If you are curious, you can check online - # for Dirichlet (LDA) or pathological dataset partitioning in FL. A place to start is: https://arxiv.org/abs/1909.06335 - trainsets = random_split( - trainset, partition_len, torch.Generator().manual_seed(2023) - ) - - # create dataloaders with train+val support - trainloaders = [] - valloaders = [] - # for each train set, let's put aside some training examples for validation - for trainset_ in trainsets: - num_total = len(trainset_) - num_val = int(val_ratio * num_total) - num_train = num_total - num_val - - for_train, for_val = random_split( - trainset_, [num_train, num_val], torch.Generator().manual_seed(2023) - ) - - # construct data loaders and append to their respective list. - # In this way, the i-th client will get the i-th element in the trainloaders list and the i-th element in the valloaders list - trainloaders.append( - DataLoader(for_train, batch_size=batch_size, shuffle=True, num_workers=2) - ) - valloaders.append( - DataLoader(for_val, batch_size=batch_size, shuffle=False, num_workers=2) - ) - - # We leave the test set intact (i.e. we don't partition it) - # This test set will be left on the server side and we'll be used to evaluate the - # performance of the global model after each round. - # Please note that a more realistic setting would instead use a validation set on the server for - # this purpose and only use the testset after the final round. - # Also, in some settings (specially outside simulation) it might not be feasible to construct a validation - # set on the server side, therefore evaluating the global model can only be done by the clients. (see the comment - # in main.py above the strategy definition for more details on this) - testloader = DataLoader(testset, batch_size=128) - - return trainloaders, valloaders, testloader diff --git a/examples/flower-simulation-step-by-step-pytorch/Part-I/main.py b/examples/flower-simulation-step-by-step-pytorch/Part-I/main.py deleted file mode 100644 index 1373f24fbb11..000000000000 --- a/examples/flower-simulation-step-by-step-pytorch/Part-I/main.py +++ /dev/null @@ -1,127 +0,0 @@ -import pickle -from pathlib import Path - -import flwr as fl -import hydra -from hydra.core.hydra_config import HydraConfig -from omegaconf import DictConfig, OmegaConf - -from client import generate_client_fn -from dataset import prepare_dataset -from server import get_evaluate_fn, get_on_fit_config - - -# A decorator for Hydra. This tells hydra to by default load the config in conf/base.yaml -@hydra.main(config_path="conf", config_name="base", version_base=None) -def main(cfg: DictConfig): - ## 1. Parse config & get experiment output dir - print(OmegaConf.to_yaml(cfg)) - # Hydra automatically creates a directory for your experiments - # by default it would be in /outputs//