// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: flwr/proto/fleet.proto

#include "flwr/proto/fleet.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>

PROTOBUF_PRAGMA_INIT_SEG
namespace flwr {
namespace proto {
constexpr CreateNodeRequest::CreateNodeRequest(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : ping_interval_(0){}
struct CreateNodeRequestDefaultTypeInternal {
  constexpr CreateNodeRequestDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~CreateNodeRequestDefaultTypeInternal() {}
  union {
    CreateNodeRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CreateNodeRequestDefaultTypeInternal _CreateNodeRequest_default_instance_;
constexpr CreateNodeResponse::CreateNodeResponse(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : node_(nullptr){}
struct CreateNodeResponseDefaultTypeInternal {
  constexpr CreateNodeResponseDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~CreateNodeResponseDefaultTypeInternal() {}
  union {
    CreateNodeResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CreateNodeResponseDefaultTypeInternal _CreateNodeResponse_default_instance_;
constexpr DeleteNodeRequest::DeleteNodeRequest(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : node_(nullptr){}
struct DeleteNodeRequestDefaultTypeInternal {
  constexpr DeleteNodeRequestDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~DeleteNodeRequestDefaultTypeInternal() {}
  union {
    DeleteNodeRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DeleteNodeRequestDefaultTypeInternal _DeleteNodeRequest_default_instance_;
constexpr DeleteNodeResponse::DeleteNodeResponse(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){}
struct DeleteNodeResponseDefaultTypeInternal {
  constexpr DeleteNodeResponseDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~DeleteNodeResponseDefaultTypeInternal() {}
  union {
    DeleteNodeResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DeleteNodeResponseDefaultTypeInternal _DeleteNodeResponse_default_instance_;
constexpr PingRequest::PingRequest(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : node_(nullptr)
  , ping_interval_(0){}
struct PingRequestDefaultTypeInternal {
  constexpr PingRequestDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~PingRequestDefaultTypeInternal() {}
  union {
    PingRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PingRequestDefaultTypeInternal _PingRequest_default_instance_;
constexpr PingResponse::PingResponse(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : success_(false){}
struct PingResponseDefaultTypeInternal {
  constexpr PingResponseDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~PingResponseDefaultTypeInternal() {}
  union {
    PingResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PingResponseDefaultTypeInternal _PingResponse_default_instance_;
constexpr PullTaskInsRequest::PullTaskInsRequest(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : task_ids_()
  , node_(nullptr){}
struct PullTaskInsRequestDefaultTypeInternal {
  constexpr PullTaskInsRequestDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~PullTaskInsRequestDefaultTypeInternal() {}
  union {
    PullTaskInsRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PullTaskInsRequestDefaultTypeInternal _PullTaskInsRequest_default_instance_;
constexpr PullTaskInsResponse::PullTaskInsResponse(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : task_ins_list_()
  , reconnect_(nullptr){}
struct PullTaskInsResponseDefaultTypeInternal {
  constexpr PullTaskInsResponseDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~PullTaskInsResponseDefaultTypeInternal() {}
  union {
    PullTaskInsResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PullTaskInsResponseDefaultTypeInternal _PullTaskInsResponse_default_instance_;
constexpr PushTaskResRequest::PushTaskResRequest(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : task_res_list_(){}
struct PushTaskResRequestDefaultTypeInternal {
  constexpr PushTaskResRequestDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~PushTaskResRequestDefaultTypeInternal() {}
  union {
    PushTaskResRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PushTaskResRequestDefaultTypeInternal _PushTaskResRequest_default_instance_;
constexpr PushTaskResResponse_ResultsEntry_DoNotUse::PushTaskResResponse_ResultsEntry_DoNotUse(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){}
struct PushTaskResResponse_ResultsEntry_DoNotUseDefaultTypeInternal {
  constexpr PushTaskResResponse_ResultsEntry_DoNotUseDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~PushTaskResResponse_ResultsEntry_DoNotUseDefaultTypeInternal() {}
  union {
    PushTaskResResponse_ResultsEntry_DoNotUse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PushTaskResResponse_ResultsEntry_DoNotUseDefaultTypeInternal _PushTaskResResponse_ResultsEntry_DoNotUse_default_instance_;
constexpr PushTaskResResponse::PushTaskResResponse(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : results_(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{})
  , reconnect_(nullptr){}
struct PushTaskResResponseDefaultTypeInternal {
  constexpr PushTaskResResponseDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~PushTaskResResponseDefaultTypeInternal() {}
  union {
    PushTaskResResponse _instance;
  };
};
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}){}
struct ReconnectDefaultTypeInternal {
  constexpr ReconnectDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~ReconnectDefaultTypeInternal() {}
  union {
    Reconnect _instance;
  };
};
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 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;

const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_flwr_2fproto_2ffleet_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateNodeRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateNodeRequest, ping_interval_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateNodeResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::CreateNodeResponse, node_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::DeleteNodeRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::DeleteNodeRequest, node_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::DeleteNodeResponse, _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::PingRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PingRequest, node_),
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PingRequest, ping_interval_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PingResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PingResponse, success_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PullTaskInsRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PullTaskInsRequest, node_),
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PullTaskInsRequest, task_ids_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PullTaskInsResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PullTaskInsResponse, reconnect_),
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PullTaskInsResponse, task_ins_list_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PushTaskResRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  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_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PushTaskResResponse_ResultsEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PushTaskResResponse_ResultsEntry_DoNotUse, value_),
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::PushTaskResResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  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_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::flwr::proto::Reconnect, reconnect_),
};
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, -1, sizeof(::flwr::proto::CreateNodeRequest)},
  { 7, -1, -1, sizeof(::flwr::proto::CreateNodeResponse)},
  { 14, -1, -1, sizeof(::flwr::proto::DeleteNodeRequest)},
  { 21, -1, -1, sizeof(::flwr::proto::DeleteNodeResponse)},
  { 27, -1, -1, sizeof(::flwr::proto::PingRequest)},
  { 35, -1, -1, sizeof(::flwr::proto::PingResponse)},
  { 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)},
};

static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_CreateNodeRequest_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_CreateNodeResponse_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_DeleteNodeRequest_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_DeleteNodeResponse_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_PingRequest_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_PingResponse_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_PullTaskInsRequest_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_PullTaskInsResponse_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_PushTaskResRequest_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_PushTaskResResponse_ResultsEntry_DoNotUse_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_PushTaskResResponse_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_Run_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_GetRunRequest_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::flwr::proto::_GetRunResponse_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::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"
  ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_flwr_2fproto_2ffleet_2eproto_deps[2] = {
  &::descriptor_table_flwr_2fproto_2fnode_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,
  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,
};
PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_flwr_2fproto_2ffleet_2eproto_getter() {
  return &descriptor_table_flwr_2fproto_2ffleet_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_flwr_2fproto_2ffleet_2eproto(&descriptor_table_flwr_2fproto_2ffleet_2eproto);
namespace flwr {
namespace proto {

// ===================================================================

class CreateNodeRequest::_Internal {
 public:
};

CreateNodeRequest::CreateNodeRequest(::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.CreateNodeRequest)
}
CreateNodeRequest::CreateNodeRequest(const CreateNodeRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ping_interval_ = from.ping_interval_;
  // @@protoc_insertion_point(copy_constructor:flwr.proto.CreateNodeRequest)
}

void CreateNodeRequest::SharedCtor() {
ping_interval_ = 0;
}

CreateNodeRequest::~CreateNodeRequest() {
  // @@protoc_insertion_point(destructor:flwr.proto.CreateNodeRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

inline void CreateNodeRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void CreateNodeRequest::ArenaDtor(void* object) {
  CreateNodeRequest* _this = reinterpret_cast< CreateNodeRequest* >(object);
  (void)_this;
}
void CreateNodeRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateNodeRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void CreateNodeRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:flwr.proto.CreateNodeRequest)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ping_interval_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateNodeRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // double ping_interval = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 9)) {
          ping_interval_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } 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* CreateNodeRequest::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.CreateNodeRequest)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // double ping_interval = 1;
  if (!(this->_internal_ping_interval() <= 0 && this->_internal_ping_interval() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(1, this->_internal_ping_interval(), 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.CreateNodeRequest)
  return target;
}

size_t CreateNodeRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:flwr.proto.CreateNodeRequest)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // double ping_interval = 1;
  if (!(this->_internal_ping_interval() <= 0 && this->_internal_ping_interval() >= 0)) {
    total_size += 1 + 8;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateNodeRequest::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    CreateNodeRequest::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateNodeRequest::GetClassData() const { return &_class_data_; }

void CreateNodeRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<CreateNodeRequest *>(to)->MergeFrom(
      static_cast<const CreateNodeRequest &>(from));
}


void CreateNodeRequest::MergeFrom(const CreateNodeRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.CreateNodeRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (!(from._internal_ping_interval() <= 0 && from._internal_ping_interval() >= 0)) {
    _internal_set_ping_interval(from._internal_ping_interval());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CreateNodeRequest::CopyFrom(const CreateNodeRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.CreateNodeRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateNodeRequest::IsInitialized() const {
  return true;
}

void CreateNodeRequest::InternalSwap(CreateNodeRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(ping_interval_, other->ping_interval_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateNodeRequest::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[0]);
}

// ===================================================================

class CreateNodeResponse::_Internal {
 public:
  static const ::flwr::proto::Node& node(const CreateNodeResponse* msg);
};

const ::flwr::proto::Node&
CreateNodeResponse::_Internal::node(const CreateNodeResponse* msg) {
  return *msg->node_;
}
void CreateNodeResponse::clear_node() {
  if (GetArenaForAllocation() == nullptr && node_ != nullptr) {
    delete node_;
  }
  node_ = nullptr;
}
CreateNodeResponse::CreateNodeResponse(::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.CreateNodeResponse)
}
CreateNodeResponse::CreateNodeResponse(const CreateNodeResponse& 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;
  }
  // @@protoc_insertion_point(copy_constructor:flwr.proto.CreateNodeResponse)
}

void CreateNodeResponse::SharedCtor() {
node_ = nullptr;
}

CreateNodeResponse::~CreateNodeResponse() {
  // @@protoc_insertion_point(destructor:flwr.proto.CreateNodeResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

inline void CreateNodeResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete node_;
}

void CreateNodeResponse::ArenaDtor(void* object) {
  CreateNodeResponse* _this = reinterpret_cast< CreateNodeResponse* >(object);
  (void)_this;
}
void CreateNodeResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreateNodeResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void CreateNodeResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:flwr.proto.CreateNodeResponse)
  ::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;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreateNodeResponse::_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;
      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* CreateNodeResponse::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.CreateNodeResponse)
  ::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);
  }

  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.CreateNodeResponse)
  return target;
}

size_t CreateNodeResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:flwr.proto.CreateNodeResponse)
  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_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CreateNodeResponse::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    CreateNodeResponse::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateNodeResponse::GetClassData() const { return &_class_data_; }

void CreateNodeResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<CreateNodeResponse *>(to)->MergeFrom(
      static_cast<const CreateNodeResponse &>(from));
}


void CreateNodeResponse::MergeFrom(const CreateNodeResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.CreateNodeResponse)
  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());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CreateNodeResponse::CopyFrom(const CreateNodeResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.CreateNodeResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreateNodeResponse::IsInitialized() const {
  return true;
}

void CreateNodeResponse::InternalSwap(CreateNodeResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(node_, other->node_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CreateNodeResponse::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[1]);
}

// ===================================================================

class DeleteNodeRequest::_Internal {
 public:
  static const ::flwr::proto::Node& node(const DeleteNodeRequest* msg);
};

const ::flwr::proto::Node&
DeleteNodeRequest::_Internal::node(const DeleteNodeRequest* msg) {
  return *msg->node_;
}
void DeleteNodeRequest::clear_node() {
  if (GetArenaForAllocation() == nullptr && node_ != nullptr) {
    delete node_;
  }
  node_ = nullptr;
}
DeleteNodeRequest::DeleteNodeRequest(::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.DeleteNodeRequest)
}
DeleteNodeRequest::DeleteNodeRequest(const DeleteNodeRequest& 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;
  }
  // @@protoc_insertion_point(copy_constructor:flwr.proto.DeleteNodeRequest)
}

void DeleteNodeRequest::SharedCtor() {
node_ = nullptr;
}

DeleteNodeRequest::~DeleteNodeRequest() {
  // @@protoc_insertion_point(destructor:flwr.proto.DeleteNodeRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

inline void DeleteNodeRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete node_;
}

void DeleteNodeRequest::ArenaDtor(void* object) {
  DeleteNodeRequest* _this = reinterpret_cast< DeleteNodeRequest* >(object);
  (void)_this;
}
void DeleteNodeRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void DeleteNodeRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void DeleteNodeRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:flwr.proto.DeleteNodeRequest)
  ::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;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* DeleteNodeRequest::_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;
      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* DeleteNodeRequest::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.DeleteNodeRequest)
  ::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);
  }

  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.DeleteNodeRequest)
  return target;
}

size_t DeleteNodeRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:flwr.proto.DeleteNodeRequest)
  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_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DeleteNodeRequest::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    DeleteNodeRequest::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DeleteNodeRequest::GetClassData() const { return &_class_data_; }

void DeleteNodeRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<DeleteNodeRequest *>(to)->MergeFrom(
      static_cast<const DeleteNodeRequest &>(from));
}


void DeleteNodeRequest::MergeFrom(const DeleteNodeRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.DeleteNodeRequest)
  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());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void DeleteNodeRequest::CopyFrom(const DeleteNodeRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.DeleteNodeRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DeleteNodeRequest::IsInitialized() const {
  return true;
}

void DeleteNodeRequest::InternalSwap(DeleteNodeRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(node_, other->node_);
}

::PROTOBUF_NAMESPACE_ID::Metadata DeleteNodeRequest::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[2]);
}

// ===================================================================

class DeleteNodeResponse::_Internal {
 public:
};

DeleteNodeResponse::DeleteNodeResponse(::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.DeleteNodeResponse)
}
DeleteNodeResponse::DeleteNodeResponse(const DeleteNodeResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:flwr.proto.DeleteNodeResponse)
}





const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DeleteNodeResponse::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DeleteNodeResponse::GetClassData() const { return &_class_data_; }







::PROTOBUF_NAMESPACE_ID::Metadata DeleteNodeResponse::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[3]);
}

// ===================================================================

class PingRequest::_Internal {
 public:
  static const ::flwr::proto::Node& node(const PingRequest* msg);
};

const ::flwr::proto::Node&
PingRequest::_Internal::node(const PingRequest* msg) {
  return *msg->node_;
}
void PingRequest::clear_node() {
  if (GetArenaForAllocation() == nullptr && node_ != nullptr) {
    delete node_;
  }
  node_ = nullptr;
}
PingRequest::PingRequest(::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.PingRequest)
}
PingRequest::PingRequest(const PingRequest& 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;
  }
  ping_interval_ = from.ping_interval_;
  // @@protoc_insertion_point(copy_constructor:flwr.proto.PingRequest)
}

void PingRequest::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&node_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&ping_interval_) -
    reinterpret_cast<char*>(&node_)) + sizeof(ping_interval_));
}

PingRequest::~PingRequest() {
  // @@protoc_insertion_point(destructor:flwr.proto.PingRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

inline void PingRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete node_;
}

void PingRequest::ArenaDtor(void* object) {
  PingRequest* _this = reinterpret_cast< PingRequest* >(object);
  (void)_this;
}
void PingRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PingRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void PingRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:flwr.proto.PingRequest)
  ::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;
  ping_interval_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PingRequest::_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;
      // double ping_interval = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
          ping_interval_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } 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* PingRequest::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.PingRequest)
  ::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);
  }

  // double ping_interval = 2;
  if (!(this->_internal_ping_interval() <= 0 && this->_internal_ping_interval() >= 0)) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_ping_interval(), 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.PingRequest)
  return target;
}

size_t PingRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:flwr.proto.PingRequest)
  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_);
  }

  // double ping_interval = 2;
  if (!(this->_internal_ping_interval() <= 0 && this->_internal_ping_interval() >= 0)) {
    total_size += 1 + 8;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PingRequest::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    PingRequest::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PingRequest::GetClassData() const { return &_class_data_; }

void PingRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<PingRequest *>(to)->MergeFrom(
      static_cast<const PingRequest &>(from));
}


void PingRequest::MergeFrom(const PingRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.PingRequest)
  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_ping_interval() <= 0 && from._internal_ping_interval() >= 0)) {
    _internal_set_ping_interval(from._internal_ping_interval());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void PingRequest::CopyFrom(const PingRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.PingRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PingRequest::IsInitialized() const {
  return true;
}

void PingRequest::InternalSwap(PingRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PingRequest, ping_interval_)
      + sizeof(PingRequest::ping_interval_)
      - PROTOBUF_FIELD_OFFSET(PingRequest, node_)>(
          reinterpret_cast<char*>(&node_),
          reinterpret_cast<char*>(&other->node_));
}

::PROTOBUF_NAMESPACE_ID::Metadata PingRequest::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[4]);
}

// ===================================================================

class PingResponse::_Internal {
 public:
};

PingResponse::PingResponse(::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.PingResponse)
}
PingResponse::PingResponse(const PingResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  success_ = from.success_;
  // @@protoc_insertion_point(copy_constructor:flwr.proto.PingResponse)
}

void PingResponse::SharedCtor() {
success_ = false;
}

PingResponse::~PingResponse() {
  // @@protoc_insertion_point(destructor:flwr.proto.PingResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

inline void PingResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void PingResponse::ArenaDtor(void* object) {
  PingResponse* _this = reinterpret_cast< PingResponse* >(object);
  (void)_this;
}
void PingResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PingResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void PingResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:flwr.proto.PingResponse)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  success_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PingResponse::_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) {
      // bool success = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          success_ = ::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* PingResponse::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.PingResponse)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // bool success = 1;
  if (this->_internal_success() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_success(), 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.PingResponse)
  return target;
}

size_t PingResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:flwr.proto.PingResponse)
  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;

  // bool success = 1;
  if (this->_internal_success() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PingResponse::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    PingResponse::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PingResponse::GetClassData() const { return &_class_data_; }

void PingResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<PingResponse *>(to)->MergeFrom(
      static_cast<const PingResponse &>(from));
}


void PingResponse::MergeFrom(const PingResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.PingResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_success() != 0) {
    _internal_set_success(from._internal_success());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void PingResponse::CopyFrom(const PingResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.PingResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PingResponse::IsInitialized() const {
  return true;
}

void PingResponse::InternalSwap(PingResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(success_, other->success_);
}

::PROTOBUF_NAMESPACE_ID::Metadata PingResponse::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[5]);
}

// ===================================================================

class PullTaskInsRequest::_Internal {
 public:
  static const ::flwr::proto::Node& node(const PullTaskInsRequest* msg);
};

const ::flwr::proto::Node&
PullTaskInsRequest::_Internal::node(const PullTaskInsRequest* msg) {
  return *msg->node_;
}
void PullTaskInsRequest::clear_node() {
  if (GetArenaForAllocation() == nullptr && node_ != nullptr) {
    delete node_;
  }
  node_ = nullptr;
}
PullTaskInsRequest::PullTaskInsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  task_ids_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:flwr.proto.PullTaskInsRequest)
}
PullTaskInsRequest::PullTaskInsRequest(const PullTaskInsRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      task_ids_(from.task_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.PullTaskInsRequest)
}

void PullTaskInsRequest::SharedCtor() {
node_ = nullptr;
}

PullTaskInsRequest::~PullTaskInsRequest() {
  // @@protoc_insertion_point(destructor:flwr.proto.PullTaskInsRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

inline void PullTaskInsRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete node_;
}

void PullTaskInsRequest::ArenaDtor(void* object) {
  PullTaskInsRequest* _this = reinterpret_cast< PullTaskInsRequest* >(object);
  (void)_this;
}
void PullTaskInsRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PullTaskInsRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void PullTaskInsRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:flwr.proto.PullTaskInsRequest)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  task_ids_.Clear();
  if (GetArenaForAllocation() == nullptr && node_ != nullptr) {
    delete node_;
  }
  node_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PullTaskInsRequest::_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 string task_ids = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_task_ids();
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "flwr.proto.PullTaskInsRequest.task_ids"));
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(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* PullTaskInsRequest::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.PullTaskInsRequest)
  ::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 string task_ids = 2;
  for (int i = 0, n = this->_internal_task_ids_size(); i < n; i++) {
    const auto& s = this->_internal_task_ids(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "flwr.proto.PullTaskInsRequest.task_ids");
    target = stream->WriteString(2, s, 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.PullTaskInsRequest)
  return target;
}

size_t PullTaskInsRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:flwr.proto.PullTaskInsRequest)
  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 string task_ids = 2;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(task_ids_.size());
  for (int i = 0, n = task_ids_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      task_ids_.Get(i));
  }

  // .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 PullTaskInsRequest::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    PullTaskInsRequest::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PullTaskInsRequest::GetClassData() const { return &_class_data_; }

void PullTaskInsRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<PullTaskInsRequest *>(to)->MergeFrom(
      static_cast<const PullTaskInsRequest &>(from));
}


void PullTaskInsRequest::MergeFrom(const PullTaskInsRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.PullTaskInsRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  task_ids_.MergeFrom(from.task_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 PullTaskInsRequest::CopyFrom(const PullTaskInsRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.PullTaskInsRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PullTaskInsRequest::IsInitialized() const {
  return true;
}

void PullTaskInsRequest::InternalSwap(PullTaskInsRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  task_ids_.InternalSwap(&other->task_ids_);
  swap(node_, other->node_);
}

::PROTOBUF_NAMESPACE_ID::Metadata PullTaskInsRequest::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[6]);
}

// ===================================================================

class PullTaskInsResponse::_Internal {
 public:
  static const ::flwr::proto::Reconnect& reconnect(const PullTaskInsResponse* msg);
};

const ::flwr::proto::Reconnect&
PullTaskInsResponse::_Internal::reconnect(const PullTaskInsResponse* msg) {
  return *msg->reconnect_;
}
void PullTaskInsResponse::clear_task_ins_list() {
  task_ins_list_.Clear();
}
PullTaskInsResponse::PullTaskInsResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  task_ins_list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:flwr.proto.PullTaskInsResponse)
}
PullTaskInsResponse::PullTaskInsResponse(const PullTaskInsResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      task_ins_list_(from.task_ins_list_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_reconnect()) {
    reconnect_ = new ::flwr::proto::Reconnect(*from.reconnect_);
  } else {
    reconnect_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:flwr.proto.PullTaskInsResponse)
}

void PullTaskInsResponse::SharedCtor() {
reconnect_ = nullptr;
}

PullTaskInsResponse::~PullTaskInsResponse() {
  // @@protoc_insertion_point(destructor:flwr.proto.PullTaskInsResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

inline void PullTaskInsResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete reconnect_;
}

void PullTaskInsResponse::ArenaDtor(void* object) {
  PullTaskInsResponse* _this = reinterpret_cast< PullTaskInsResponse* >(object);
  (void)_this;
}
void PullTaskInsResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PullTaskInsResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void PullTaskInsResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:flwr.proto.PullTaskInsResponse)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  task_ins_list_.Clear();
  if (GetArenaForAllocation() == nullptr && reconnect_ != nullptr) {
    delete reconnect_;
  }
  reconnect_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PullTaskInsResponse::_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.Reconnect reconnect = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_reconnect(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .flwr.proto.TaskIns task_ins_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_ins_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(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* PullTaskInsResponse::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.PullTaskInsResponse)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .flwr.proto.Reconnect reconnect = 1;
  if (this->_internal_has_reconnect()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::reconnect(this), target, stream);
  }

  // repeated .flwr.proto.TaskIns task_ins_list = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_task_ins_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_task_ins_list(i), 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.PullTaskInsResponse)
  return target;
}

size_t PullTaskInsResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:flwr.proto.PullTaskInsResponse)
  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 .flwr.proto.TaskIns task_ins_list = 2;
  total_size += 1UL * this->_internal_task_ins_list_size();
  for (const auto& msg : this->task_ins_list_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // .flwr.proto.Reconnect reconnect = 1;
  if (this->_internal_has_reconnect()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *reconnect_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PullTaskInsResponse::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    PullTaskInsResponse::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PullTaskInsResponse::GetClassData() const { return &_class_data_; }

void PullTaskInsResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<PullTaskInsResponse *>(to)->MergeFrom(
      static_cast<const PullTaskInsResponse &>(from));
}


void PullTaskInsResponse::MergeFrom(const PullTaskInsResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.PullTaskInsResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  task_ins_list_.MergeFrom(from.task_ins_list_);
  if (from._internal_has_reconnect()) {
    _internal_mutable_reconnect()->::flwr::proto::Reconnect::MergeFrom(from._internal_reconnect());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void PullTaskInsResponse::CopyFrom(const PullTaskInsResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.PullTaskInsResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PullTaskInsResponse::IsInitialized() const {
  return true;
}

void PullTaskInsResponse::InternalSwap(PullTaskInsResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  task_ins_list_.InternalSwap(&other->task_ins_list_);
  swap(reconnect_, other->reconnect_);
}

::PROTOBUF_NAMESPACE_ID::Metadata PullTaskInsResponse::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[7]);
}

// ===================================================================

class PushTaskResRequest::_Internal {
 public:
};

void PushTaskResRequest::clear_task_res_list() {
  task_res_list_.Clear();
}
PushTaskResRequest::PushTaskResRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  task_res_list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:flwr.proto.PushTaskResRequest)
}
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_);
  // @@protoc_insertion_point(copy_constructor:flwr.proto.PushTaskResRequest)
}

void PushTaskResRequest::SharedCtor() {
}

PushTaskResRequest::~PushTaskResRequest() {
  // @@protoc_insertion_point(destructor:flwr.proto.PushTaskResRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

inline void PushTaskResRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void PushTaskResRequest::ArenaDtor(void* object) {
  PushTaskResRequest* _this = reinterpret_cast< PushTaskResRequest* >(object);
  (void)_this;
}
void PushTaskResRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PushTaskResRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void PushTaskResRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:flwr.proto.PushTaskResRequest)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  task_res_list_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PushTaskResRequest::_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 .flwr.proto.TaskRes task_res_list = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          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));
        } 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* PushTaskResRequest::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.PushTaskResRequest)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .flwr.proto.TaskRes task_res_list = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(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);
  }

  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.PushTaskResRequest)
  return target;
}

size_t PushTaskResRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:flwr.proto.PushTaskResRequest)
  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 .flwr.proto.TaskRes task_res_list = 1;
  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);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PushTaskResRequest::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    PushTaskResRequest::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PushTaskResRequest::GetClassData() const { return &_class_data_; }

void PushTaskResRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<PushTaskResRequest *>(to)->MergeFrom(
      static_cast<const PushTaskResRequest &>(from));
}


void PushTaskResRequest::MergeFrom(const PushTaskResRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.PushTaskResRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  task_res_list_.MergeFrom(from.task_res_list_);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void PushTaskResRequest::CopyFrom(const PushTaskResRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.PushTaskResRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PushTaskResRequest::IsInitialized() const {
  return true;
}

void PushTaskResRequest::InternalSwap(PushTaskResRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  task_res_list_.InternalSwap(&other->task_res_list_);
}

::PROTOBUF_NAMESPACE_ID::Metadata PushTaskResRequest::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[8]);
}

// ===================================================================

PushTaskResResponse_ResultsEntry_DoNotUse::PushTaskResResponse_ResultsEntry_DoNotUse() {}
PushTaskResResponse_ResultsEntry_DoNotUse::PushTaskResResponse_ResultsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
    : SuperType(arena) {}
void PushTaskResResponse_ResultsEntry_DoNotUse::MergeFrom(const PushTaskResResponse_ResultsEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::PROTOBUF_NAMESPACE_ID::Metadata PushTaskResResponse_ResultsEntry_DoNotUse::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[9]);
}

// ===================================================================

class PushTaskResResponse::_Internal {
 public:
  static const ::flwr::proto::Reconnect& reconnect(const PushTaskResResponse* msg);
};

const ::flwr::proto::Reconnect&
PushTaskResResponse::_Internal::reconnect(const PushTaskResResponse* msg) {
  return *msg->reconnect_;
}
PushTaskResResponse::PushTaskResResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  results_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:flwr.proto.PushTaskResResponse)
}
PushTaskResResponse::PushTaskResResponse(const PushTaskResResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  results_.MergeFrom(from.results_);
  if (from._internal_has_reconnect()) {
    reconnect_ = new ::flwr::proto::Reconnect(*from.reconnect_);
  } else {
    reconnect_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:flwr.proto.PushTaskResResponse)
}

void PushTaskResResponse::SharedCtor() {
reconnect_ = nullptr;
}

PushTaskResResponse::~PushTaskResResponse() {
  // @@protoc_insertion_point(destructor:flwr.proto.PushTaskResResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

inline void PushTaskResResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete reconnect_;
}

void PushTaskResResponse::ArenaDtor(void* object) {
  PushTaskResResponse* _this = reinterpret_cast< PushTaskResResponse* >(object);
  (void)_this;
  _this->results_. ~MapField();
}
inline void PushTaskResResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena) {
  if (arena != nullptr) {
    arena->OwnCustomDestructor(this, &PushTaskResResponse::ArenaDtor);
  }
}
void PushTaskResResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void PushTaskResResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:flwr.proto.PushTaskResResponse)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  results_.Clear();
  if (GetArenaForAllocation() == nullptr && reconnect_ != nullptr) {
    delete reconnect_;
  }
  reconnect_ = nullptr;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PushTaskResResponse::_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.Reconnect reconnect = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_reconnect(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // map<string, uint32> results = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(&results_, ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(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* PushTaskResResponse::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.PushTaskResResponse)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .flwr.proto.Reconnect reconnect = 1;
  if (this->_internal_has_reconnect()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::reconnect(this), target, stream);
  }

  // map<string, uint32> results = 2;
  if (!this->_internal_results().empty()) {
    typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::PROTOBUF_NAMESPACE_ID::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        (void)p;
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), static_cast<int>(p->first.length()),
          ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
          "flwr.proto.PushTaskResResponse.ResultsEntry.key");
      }
    };

    if (stream->IsSerializationDeterministic() &&
        this->_internal_results().size() > 1) {
      ::std::unique_ptr<SortItem[]> items(
          new SortItem[this->_internal_results().size()]);
      typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >::size_type size_type;
      size_type n = 0;
      for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >::const_iterator
          it = this->_internal_results().begin();
          it != this->_internal_results().end(); ++it, ++n) {
        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
      for (size_type i = 0; i < n; i++) {
        target = PushTaskResResponse_ResultsEntry_DoNotUse::Funcs::InternalSerialize(2, items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second, target, stream);
        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
      }
    } else {
      for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >::const_iterator
          it = this->_internal_results().begin();
          it != this->_internal_results().end(); ++it) {
        target = PushTaskResResponse_ResultsEntry_DoNotUse::Funcs::InternalSerialize(2, it->first, it->second, target, stream);
        Utf8Check::Check(&(*it));
      }
    }
  }

  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.PushTaskResResponse)
  return target;
}

size_t PushTaskResResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:flwr.proto.PushTaskResResponse)
  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<string, uint32> results = 2;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_results_size());
  for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::PROTOBUF_NAMESPACE_ID::uint32 >::const_iterator
      it = this->_internal_results().begin();
      it != this->_internal_results().end(); ++it) {
    total_size += PushTaskResResponse_ResultsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
  }

  // .flwr.proto.Reconnect reconnect = 1;
  if (this->_internal_has_reconnect()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *reconnect_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PushTaskResResponse::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    PushTaskResResponse::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PushTaskResResponse::GetClassData() const { return &_class_data_; }

void PushTaskResResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<PushTaskResResponse *>(to)->MergeFrom(
      static_cast<const PushTaskResResponse &>(from));
}


void PushTaskResResponse::MergeFrom(const PushTaskResResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.PushTaskResResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  results_.MergeFrom(from.results_);
  if (from._internal_has_reconnect()) {
    _internal_mutable_reconnect()->::flwr::proto::Reconnect::MergeFrom(from._internal_reconnect());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void PushTaskResResponse::CopyFrom(const PushTaskResResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.PushTaskResResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PushTaskResResponse::IsInitialized() const {
  return true;
}

void PushTaskResResponse::InternalSwap(PushTaskResResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  results_.InternalSwap(&other->results_);
  swap(reconnect_, other->reconnect_);
}

::PROTOBUF_NAMESPACE_ID::Metadata PushTaskResResponse::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[10]);
}

// ===================================================================

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<int>(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<int>(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<Run *>(to)->MergeFrom(
      static_cast<const Run &>(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<GetRunRequest *>(to)->MergeFrom(
      static_cast<const GetRunRequest &>(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<GetRunResponse *>(to)->MergeFrom(
      static_cast<const GetRunResponse &>(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:
};

Reconnect::Reconnect(::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.Reconnect)
}
Reconnect::Reconnect(const Reconnect& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  reconnect_ = from.reconnect_;
  // @@protoc_insertion_point(copy_constructor:flwr.proto.Reconnect)
}

void Reconnect::SharedCtor() {
reconnect_ = uint64_t{0u};
}

Reconnect::~Reconnect() {
  // @@protoc_insertion_point(destructor:flwr.proto.Reconnect)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

inline void Reconnect::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void Reconnect::ArenaDtor(void* object) {
  Reconnect* _this = reinterpret_cast< Reconnect* >(object);
  (void)_this;
}
void Reconnect::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Reconnect::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void Reconnect::Clear() {
// @@protoc_insertion_point(message_clear_start:flwr.proto.Reconnect)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  reconnect_ = uint64_t{0u};
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Reconnect::_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 reconnect = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          reconnect_ = ::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* Reconnect::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:flwr.proto.Reconnect)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // uint64 reconnect = 1;
  if (this->_internal_reconnect() != 0) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_reconnect(), 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.Reconnect)
  return target;
}

size_t Reconnect::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:flwr.proto.Reconnect)
  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 reconnect = 1;
  if (this->_internal_reconnect() != 0) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64SizePlusOne(this->_internal_reconnect());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Reconnect::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Reconnect::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Reconnect::GetClassData() const { return &_class_data_; }

void Reconnect::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Reconnect *>(to)->MergeFrom(
      static_cast<const Reconnect &>(from));
}


void Reconnect::MergeFrom(const Reconnect& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:flwr.proto.Reconnect)
  GOOGLE_DCHECK_NE(&from, this);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_reconnect() != 0) {
    _internal_set_reconnect(from._internal_reconnect());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void Reconnect::CopyFrom(const Reconnect& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:flwr.proto.Reconnect)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Reconnect::IsInitialized() const {
  return true;
}

void Reconnect::InternalSwap(Reconnect* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(reconnect_, other->reconnect_);
}

::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]);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace proto
}  // namespace flwr
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::flwr::proto::CreateNodeRequest* Arena::CreateMaybeMessage< ::flwr::proto::CreateNodeRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::flwr::proto::CreateNodeRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::flwr::proto::CreateNodeResponse* Arena::CreateMaybeMessage< ::flwr::proto::CreateNodeResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::flwr::proto::CreateNodeResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::flwr::proto::DeleteNodeRequest* Arena::CreateMaybeMessage< ::flwr::proto::DeleteNodeRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::flwr::proto::DeleteNodeRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::flwr::proto::DeleteNodeResponse* Arena::CreateMaybeMessage< ::flwr::proto::DeleteNodeResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::flwr::proto::DeleteNodeResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::flwr::proto::PingRequest* Arena::CreateMaybeMessage< ::flwr::proto::PingRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::flwr::proto::PingRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::flwr::proto::PingResponse* Arena::CreateMaybeMessage< ::flwr::proto::PingResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::flwr::proto::PingResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::flwr::proto::PullTaskInsRequest* Arena::CreateMaybeMessage< ::flwr::proto::PullTaskInsRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::flwr::proto::PullTaskInsRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::flwr::proto::PullTaskInsResponse* Arena::CreateMaybeMessage< ::flwr::proto::PullTaskInsResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::flwr::proto::PullTaskInsResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::flwr::proto::PushTaskResRequest* Arena::CreateMaybeMessage< ::flwr::proto::PushTaskResRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::flwr::proto::PushTaskResRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::flwr::proto::PushTaskResResponse_ResultsEntry_DoNotUse* Arena::CreateMaybeMessage< ::flwr::proto::PushTaskResResponse_ResultsEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::flwr::proto::PushTaskResResponse_ResultsEntry_DoNotUse >(arena);
}
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);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
