// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: tensorflow/core/data/service/dispatcher.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3015000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3015008 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
#include "tensorflow/core/data/service/common.pb.h"
#include "tensorflow/core/framework/tensor.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[22]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(int index);
namespace tensorflow {
namespace data {
class CreateJobRequest;
struct CreateJobRequestDefaultTypeInternal;
extern CreateJobRequestDefaultTypeInternal _CreateJobRequest_default_instance_;
class CreateJobResponse;
struct CreateJobResponseDefaultTypeInternal;
extern CreateJobResponseDefaultTypeInternal _CreateJobResponse_default_instance_;
class GetDatasetDefRequest;
struct GetDatasetDefRequestDefaultTypeInternal;
extern GetDatasetDefRequestDefaultTypeInternal _GetDatasetDefRequest_default_instance_;
class GetDatasetDefResponse;
struct GetDatasetDefResponseDefaultTypeInternal;
extern GetDatasetDefResponseDefaultTypeInternal _GetDatasetDefResponse_default_instance_;
class GetOrCreateJobRequest;
struct GetOrCreateJobRequestDefaultTypeInternal;
extern GetOrCreateJobRequestDefaultTypeInternal _GetOrCreateJobRequest_default_instance_;
class GetOrCreateJobResponse;
struct GetOrCreateJobResponseDefaultTypeInternal;
extern GetOrCreateJobResponseDefaultTypeInternal _GetOrCreateJobResponse_default_instance_;
class GetOrRegisterDatasetRequest;
struct GetOrRegisterDatasetRequestDefaultTypeInternal;
extern GetOrRegisterDatasetRequestDefaultTypeInternal _GetOrRegisterDatasetRequest_default_instance_;
class GetOrRegisterDatasetResponse;
struct GetOrRegisterDatasetResponseDefaultTypeInternal;
extern GetOrRegisterDatasetResponseDefaultTypeInternal _GetOrRegisterDatasetResponse_default_instance_;
class GetSplitRequest;
struct GetSplitRequestDefaultTypeInternal;
extern GetSplitRequestDefaultTypeInternal _GetSplitRequest_default_instance_;
class GetSplitResponse;
struct GetSplitResponseDefaultTypeInternal;
extern GetSplitResponseDefaultTypeInternal _GetSplitResponse_default_instance_;
class GetTasksRequest;
struct GetTasksRequestDefaultTypeInternal;
extern GetTasksRequestDefaultTypeInternal _GetTasksRequest_default_instance_;
class GetTasksResponse;
struct GetTasksResponseDefaultTypeInternal;
extern GetTasksResponseDefaultTypeInternal _GetTasksResponse_default_instance_;
class GetWorkersRequest;
struct GetWorkersRequestDefaultTypeInternal;
extern GetWorkersRequestDefaultTypeInternal _GetWorkersRequest_default_instance_;
class GetWorkersResponse;
struct GetWorkersResponseDefaultTypeInternal;
extern GetWorkersResponseDefaultTypeInternal _GetWorkersResponse_default_instance_;
class ReleaseJobClientRequest;
struct ReleaseJobClientRequestDefaultTypeInternal;
extern ReleaseJobClientRequestDefaultTypeInternal _ReleaseJobClientRequest_default_instance_;
class ReleaseJobClientResponse;
struct ReleaseJobClientResponseDefaultTypeInternal;
extern ReleaseJobClientResponseDefaultTypeInternal _ReleaseJobClientResponse_default_instance_;
class TaskProgress;
struct TaskProgressDefaultTypeInternal;
extern TaskProgressDefaultTypeInternal _TaskProgress_default_instance_;
class WorkerHeartbeatRequest;
struct WorkerHeartbeatRequestDefaultTypeInternal;
extern WorkerHeartbeatRequestDefaultTypeInternal _WorkerHeartbeatRequest_default_instance_;
class WorkerHeartbeatResponse;
struct WorkerHeartbeatResponseDefaultTypeInternal;
extern WorkerHeartbeatResponseDefaultTypeInternal _WorkerHeartbeatResponse_default_instance_;
class WorkerInfo;
struct WorkerInfoDefaultTypeInternal;
extern WorkerInfoDefaultTypeInternal _WorkerInfo_default_instance_;
class WorkerUpdateRequest;
struct WorkerUpdateRequestDefaultTypeInternal;
extern WorkerUpdateRequestDefaultTypeInternal _WorkerUpdateRequest_default_instance_;
class WorkerUpdateResponse;
struct WorkerUpdateResponseDefaultTypeInternal;
extern WorkerUpdateResponseDefaultTypeInternal _WorkerUpdateResponse_default_instance_;
}  // namespace data
}  // namespace tensorflow
PROTOBUF_NAMESPACE_OPEN
template<> ::tensorflow::data::CreateJobRequest* Arena::CreateMaybeMessage<::tensorflow::data::CreateJobRequest>(Arena*);
template<> ::tensorflow::data::CreateJobResponse* Arena::CreateMaybeMessage<::tensorflow::data::CreateJobResponse>(Arena*);
template<> ::tensorflow::data::GetDatasetDefRequest* Arena::CreateMaybeMessage<::tensorflow::data::GetDatasetDefRequest>(Arena*);
template<> ::tensorflow::data::GetDatasetDefResponse* Arena::CreateMaybeMessage<::tensorflow::data::GetDatasetDefResponse>(Arena*);
template<> ::tensorflow::data::GetOrCreateJobRequest* Arena::CreateMaybeMessage<::tensorflow::data::GetOrCreateJobRequest>(Arena*);
template<> ::tensorflow::data::GetOrCreateJobResponse* Arena::CreateMaybeMessage<::tensorflow::data::GetOrCreateJobResponse>(Arena*);
template<> ::tensorflow::data::GetOrRegisterDatasetRequest* Arena::CreateMaybeMessage<::tensorflow::data::GetOrRegisterDatasetRequest>(Arena*);
template<> ::tensorflow::data::GetOrRegisterDatasetResponse* Arena::CreateMaybeMessage<::tensorflow::data::GetOrRegisterDatasetResponse>(Arena*);
template<> ::tensorflow::data::GetSplitRequest* Arena::CreateMaybeMessage<::tensorflow::data::GetSplitRequest>(Arena*);
template<> ::tensorflow::data::GetSplitResponse* Arena::CreateMaybeMessage<::tensorflow::data::GetSplitResponse>(Arena*);
template<> ::tensorflow::data::GetTasksRequest* Arena::CreateMaybeMessage<::tensorflow::data::GetTasksRequest>(Arena*);
template<> ::tensorflow::data::GetTasksResponse* Arena::CreateMaybeMessage<::tensorflow::data::GetTasksResponse>(Arena*);
template<> ::tensorflow::data::GetWorkersRequest* Arena::CreateMaybeMessage<::tensorflow::data::GetWorkersRequest>(Arena*);
template<> ::tensorflow::data::GetWorkersResponse* Arena::CreateMaybeMessage<::tensorflow::data::GetWorkersResponse>(Arena*);
template<> ::tensorflow::data::ReleaseJobClientRequest* Arena::CreateMaybeMessage<::tensorflow::data::ReleaseJobClientRequest>(Arena*);
template<> ::tensorflow::data::ReleaseJobClientResponse* Arena::CreateMaybeMessage<::tensorflow::data::ReleaseJobClientResponse>(Arena*);
template<> ::tensorflow::data::TaskProgress* Arena::CreateMaybeMessage<::tensorflow::data::TaskProgress>(Arena*);
template<> ::tensorflow::data::WorkerHeartbeatRequest* Arena::CreateMaybeMessage<::tensorflow::data::WorkerHeartbeatRequest>(Arena*);
template<> ::tensorflow::data::WorkerHeartbeatResponse* Arena::CreateMaybeMessage<::tensorflow::data::WorkerHeartbeatResponse>(Arena*);
template<> ::tensorflow::data::WorkerInfo* Arena::CreateMaybeMessage<::tensorflow::data::WorkerInfo>(Arena*);
template<> ::tensorflow::data::WorkerUpdateRequest* Arena::CreateMaybeMessage<::tensorflow::data::WorkerUpdateRequest>(Arena*);
template<> ::tensorflow::data::WorkerUpdateResponse* Arena::CreateMaybeMessage<::tensorflow::data::WorkerUpdateResponse>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace tensorflow {
namespace data {

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

class TaskProgress PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.TaskProgress) */ {
 public:
  inline TaskProgress() : TaskProgress(nullptr) {}
  virtual ~TaskProgress();
  explicit constexpr TaskProgress(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  TaskProgress(const TaskProgress& from);
  TaskProgress(TaskProgress&& from) noexcept
    : TaskProgress() {
    *this = ::std::move(from);
  }

  inline TaskProgress& operator=(const TaskProgress& from) {
    CopyFrom(from);
    return *this;
  }
  inline TaskProgress& operator=(TaskProgress&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const TaskProgress& default_instance() {
    return *internal_default_instance();
  }
  static inline const TaskProgress* internal_default_instance() {
    return reinterpret_cast<const TaskProgress*>(
               &_TaskProgress_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(TaskProgress& a, TaskProgress& b) {
    a.Swap(&b);
  }
  inline void Swap(TaskProgress* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TaskProgress* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline TaskProgress* New() const final {
    return CreateMaybeMessage<TaskProgress>(nullptr);
  }

  TaskProgress* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<TaskProgress>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const TaskProgress& from);
  void MergeFrom(const TaskProgress& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(TaskProgress* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.TaskProgress";
  }
  protected:
  explicit TaskProgress(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTaskIdFieldNumber = 1,
    kCompletedFieldNumber = 2,
  };
  // int64 task_id = 1;
  void clear_task_id();
  ::PROTOBUF_NAMESPACE_ID::int64 task_id() const;
  void set_task_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_task_id() const;
  void _internal_set_task_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // bool completed = 2;
  void clear_completed();
  bool completed() const;
  void set_completed(bool value);
  private:
  bool _internal_completed() const;
  void _internal_set_completed(bool value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.TaskProgress)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::int64 task_id_;
  bool completed_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class WorkerHeartbeatRequest PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.WorkerHeartbeatRequest) */ {
 public:
  inline WorkerHeartbeatRequest() : WorkerHeartbeatRequest(nullptr) {}
  virtual ~WorkerHeartbeatRequest();
  explicit constexpr WorkerHeartbeatRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  WorkerHeartbeatRequest(const WorkerHeartbeatRequest& from);
  WorkerHeartbeatRequest(WorkerHeartbeatRequest&& from) noexcept
    : WorkerHeartbeatRequest() {
    *this = ::std::move(from);
  }

  inline WorkerHeartbeatRequest& operator=(const WorkerHeartbeatRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline WorkerHeartbeatRequest& operator=(WorkerHeartbeatRequest&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const WorkerHeartbeatRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const WorkerHeartbeatRequest* internal_default_instance() {
    return reinterpret_cast<const WorkerHeartbeatRequest*>(
               &_WorkerHeartbeatRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(WorkerHeartbeatRequest& a, WorkerHeartbeatRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(WorkerHeartbeatRequest* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(WorkerHeartbeatRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline WorkerHeartbeatRequest* New() const final {
    return CreateMaybeMessage<WorkerHeartbeatRequest>(nullptr);
  }

  WorkerHeartbeatRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<WorkerHeartbeatRequest>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const WorkerHeartbeatRequest& from);
  void MergeFrom(const WorkerHeartbeatRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(WorkerHeartbeatRequest* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.WorkerHeartbeatRequest";
  }
  protected:
  explicit WorkerHeartbeatRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCurrentTasksFieldNumber = 2,
    kWorkerAddressFieldNumber = 1,
  };
  // repeated int64 current_tasks = 2;
  int current_tasks_size() const;
  private:
  int _internal_current_tasks_size() const;
  public:
  void clear_current_tasks();
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_current_tasks(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
      _internal_current_tasks() const;
  void _internal_add_current_tasks(::PROTOBUF_NAMESPACE_ID::int64 value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
      _internal_mutable_current_tasks();
  public:
  ::PROTOBUF_NAMESPACE_ID::int64 current_tasks(int index) const;
  void set_current_tasks(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
  void add_current_tasks(::PROTOBUF_NAMESPACE_ID::int64 value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
      current_tasks() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
      mutable_current_tasks();

  // string worker_address = 1;
  void clear_worker_address();
  const std::string& worker_address() const;
  void set_worker_address(const std::string& value);
  void set_worker_address(std::string&& value);
  void set_worker_address(const char* value);
  void set_worker_address(const char* value, size_t size);
  std::string* mutable_worker_address();
  std::string* release_worker_address();
  void set_allocated_worker_address(std::string* worker_address);
  private:
  const std::string& _internal_worker_address() const;
  void _internal_set_worker_address(const std::string& value);
  std::string* _internal_mutable_worker_address();
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.WorkerHeartbeatRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > current_tasks_;
  mutable std::atomic<int> _current_tasks_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr worker_address_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class WorkerHeartbeatResponse PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.WorkerHeartbeatResponse) */ {
 public:
  inline WorkerHeartbeatResponse() : WorkerHeartbeatResponse(nullptr) {}
  virtual ~WorkerHeartbeatResponse();
  explicit constexpr WorkerHeartbeatResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  WorkerHeartbeatResponse(const WorkerHeartbeatResponse& from);
  WorkerHeartbeatResponse(WorkerHeartbeatResponse&& from) noexcept
    : WorkerHeartbeatResponse() {
    *this = ::std::move(from);
  }

  inline WorkerHeartbeatResponse& operator=(const WorkerHeartbeatResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline WorkerHeartbeatResponse& operator=(WorkerHeartbeatResponse&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const WorkerHeartbeatResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const WorkerHeartbeatResponse* internal_default_instance() {
    return reinterpret_cast<const WorkerHeartbeatResponse*>(
               &_WorkerHeartbeatResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(WorkerHeartbeatResponse& a, WorkerHeartbeatResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(WorkerHeartbeatResponse* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(WorkerHeartbeatResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline WorkerHeartbeatResponse* New() const final {
    return CreateMaybeMessage<WorkerHeartbeatResponse>(nullptr);
  }

  WorkerHeartbeatResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<WorkerHeartbeatResponse>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const WorkerHeartbeatResponse& from);
  void MergeFrom(const WorkerHeartbeatResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(WorkerHeartbeatResponse* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.WorkerHeartbeatResponse";
  }
  protected:
  explicit WorkerHeartbeatResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNewTasksFieldNumber = 1,
    kTasksToDeleteFieldNumber = 2,
  };
  // repeated .tensorflow.data.TaskDef new_tasks = 1;
  int new_tasks_size() const;
  private:
  int _internal_new_tasks_size() const;
  public:
  void clear_new_tasks();
  ::tensorflow::data::TaskDef* mutable_new_tasks(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskDef >*
      mutable_new_tasks();
  private:
  const ::tensorflow::data::TaskDef& _internal_new_tasks(int index) const;
  ::tensorflow::data::TaskDef* _internal_add_new_tasks();
  public:
  const ::tensorflow::data::TaskDef& new_tasks(int index) const;
  ::tensorflow::data::TaskDef* add_new_tasks();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskDef >&
      new_tasks() const;

  // repeated int64 tasks_to_delete = 2;
  int tasks_to_delete_size() const;
  private:
  int _internal_tasks_to_delete_size() const;
  public:
  void clear_tasks_to_delete();
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_tasks_to_delete(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
      _internal_tasks_to_delete() const;
  void _internal_add_tasks_to_delete(::PROTOBUF_NAMESPACE_ID::int64 value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
      _internal_mutable_tasks_to_delete();
  public:
  ::PROTOBUF_NAMESPACE_ID::int64 tasks_to_delete(int index) const;
  void set_tasks_to_delete(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
  void add_tasks_to_delete(::PROTOBUF_NAMESPACE_ID::int64 value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
      tasks_to_delete() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
      mutable_tasks_to_delete();

  // @@protoc_insertion_point(class_scope:tensorflow.data.WorkerHeartbeatResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskDef > new_tasks_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > tasks_to_delete_;
  mutable std::atomic<int> _tasks_to_delete_cached_byte_size_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class WorkerUpdateRequest PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.WorkerUpdateRequest) */ {
 public:
  inline WorkerUpdateRequest() : WorkerUpdateRequest(nullptr) {}
  virtual ~WorkerUpdateRequest();
  explicit constexpr WorkerUpdateRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  WorkerUpdateRequest(const WorkerUpdateRequest& from);
  WorkerUpdateRequest(WorkerUpdateRequest&& from) noexcept
    : WorkerUpdateRequest() {
    *this = ::std::move(from);
  }

  inline WorkerUpdateRequest& operator=(const WorkerUpdateRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline WorkerUpdateRequest& operator=(WorkerUpdateRequest&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const WorkerUpdateRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const WorkerUpdateRequest* internal_default_instance() {
    return reinterpret_cast<const WorkerUpdateRequest*>(
               &_WorkerUpdateRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(WorkerUpdateRequest& a, WorkerUpdateRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(WorkerUpdateRequest* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(WorkerUpdateRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline WorkerUpdateRequest* New() const final {
    return CreateMaybeMessage<WorkerUpdateRequest>(nullptr);
  }

  WorkerUpdateRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<WorkerUpdateRequest>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const WorkerUpdateRequest& from);
  void MergeFrom(const WorkerUpdateRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(WorkerUpdateRequest* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.WorkerUpdateRequest";
  }
  protected:
  explicit WorkerUpdateRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kUpdatesFieldNumber = 2,
    kWorkerAddressFieldNumber = 1,
  };
  // repeated .tensorflow.data.TaskProgress updates = 2;
  int updates_size() const;
  private:
  int _internal_updates_size() const;
  public:
  void clear_updates();
  ::tensorflow::data::TaskProgress* mutable_updates(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskProgress >*
      mutable_updates();
  private:
  const ::tensorflow::data::TaskProgress& _internal_updates(int index) const;
  ::tensorflow::data::TaskProgress* _internal_add_updates();
  public:
  const ::tensorflow::data::TaskProgress& updates(int index) const;
  ::tensorflow::data::TaskProgress* add_updates();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskProgress >&
      updates() const;

  // string worker_address = 1;
  void clear_worker_address();
  const std::string& worker_address() const;
  void set_worker_address(const std::string& value);
  void set_worker_address(std::string&& value);
  void set_worker_address(const char* value);
  void set_worker_address(const char* value, size_t size);
  std::string* mutable_worker_address();
  std::string* release_worker_address();
  void set_allocated_worker_address(std::string* worker_address);
  private:
  const std::string& _internal_worker_address() const;
  void _internal_set_worker_address(const std::string& value);
  std::string* _internal_mutable_worker_address();
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.WorkerUpdateRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskProgress > updates_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr worker_address_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class WorkerUpdateResponse PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.WorkerUpdateResponse) */ {
 public:
  inline WorkerUpdateResponse() : WorkerUpdateResponse(nullptr) {}
  virtual ~WorkerUpdateResponse();
  explicit constexpr WorkerUpdateResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  WorkerUpdateResponse(const WorkerUpdateResponse& from);
  WorkerUpdateResponse(WorkerUpdateResponse&& from) noexcept
    : WorkerUpdateResponse() {
    *this = ::std::move(from);
  }

  inline WorkerUpdateResponse& operator=(const WorkerUpdateResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline WorkerUpdateResponse& operator=(WorkerUpdateResponse&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const WorkerUpdateResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const WorkerUpdateResponse* internal_default_instance() {
    return reinterpret_cast<const WorkerUpdateResponse*>(
               &_WorkerUpdateResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(WorkerUpdateResponse& a, WorkerUpdateResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(WorkerUpdateResponse* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(WorkerUpdateResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline WorkerUpdateResponse* New() const final {
    return CreateMaybeMessage<WorkerUpdateResponse>(nullptr);
  }

  WorkerUpdateResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<WorkerUpdateResponse>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const WorkerUpdateResponse& from);
  void MergeFrom(const WorkerUpdateResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(WorkerUpdateResponse* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.WorkerUpdateResponse";
  }
  protected:
  explicit WorkerUpdateResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:tensorflow.data.WorkerUpdateResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetDatasetDefRequest PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetDatasetDefRequest) */ {
 public:
  inline GetDatasetDefRequest() : GetDatasetDefRequest(nullptr) {}
  virtual ~GetDatasetDefRequest();
  explicit constexpr GetDatasetDefRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetDatasetDefRequest(const GetDatasetDefRequest& from);
  GetDatasetDefRequest(GetDatasetDefRequest&& from) noexcept
    : GetDatasetDefRequest() {
    *this = ::std::move(from);
  }

  inline GetDatasetDefRequest& operator=(const GetDatasetDefRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDatasetDefRequest& operator=(GetDatasetDefRequest&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetDatasetDefRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetDatasetDefRequest* internal_default_instance() {
    return reinterpret_cast<const GetDatasetDefRequest*>(
               &_GetDatasetDefRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(GetDatasetDefRequest& a, GetDatasetDefRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDatasetDefRequest* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetDatasetDefRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetDatasetDefRequest* New() const final {
    return CreateMaybeMessage<GetDatasetDefRequest>(nullptr);
  }

  GetDatasetDefRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetDatasetDefRequest>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetDatasetDefRequest& from);
  void MergeFrom(const GetDatasetDefRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetDatasetDefRequest* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetDatasetDefRequest";
  }
  protected:
  explicit GetDatasetDefRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDatasetIdFieldNumber = 1,
  };
  // int64 dataset_id = 1;
  void clear_dataset_id();
  ::PROTOBUF_NAMESPACE_ID::int64 dataset_id() const;
  void set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_dataset_id() const;
  void _internal_set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetDatasetDefRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::int64 dataset_id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetDatasetDefResponse PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetDatasetDefResponse) */ {
 public:
  inline GetDatasetDefResponse() : GetDatasetDefResponse(nullptr) {}
  virtual ~GetDatasetDefResponse();
  explicit constexpr GetDatasetDefResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetDatasetDefResponse(const GetDatasetDefResponse& from);
  GetDatasetDefResponse(GetDatasetDefResponse&& from) noexcept
    : GetDatasetDefResponse() {
    *this = ::std::move(from);
  }

  inline GetDatasetDefResponse& operator=(const GetDatasetDefResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetDatasetDefResponse& operator=(GetDatasetDefResponse&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetDatasetDefResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetDatasetDefResponse* internal_default_instance() {
    return reinterpret_cast<const GetDatasetDefResponse*>(
               &_GetDatasetDefResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(GetDatasetDefResponse& a, GetDatasetDefResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetDatasetDefResponse* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetDatasetDefResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetDatasetDefResponse* New() const final {
    return CreateMaybeMessage<GetDatasetDefResponse>(nullptr);
  }

  GetDatasetDefResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetDatasetDefResponse>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetDatasetDefResponse& from);
  void MergeFrom(const GetDatasetDefResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetDatasetDefResponse* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetDatasetDefResponse";
  }
  protected:
  explicit GetDatasetDefResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDatasetDefFieldNumber = 1,
  };
  // .tensorflow.data.DatasetDef dataset_def = 1;
  bool has_dataset_def() const;
  private:
  bool _internal_has_dataset_def() const;
  public:
  void clear_dataset_def();
  const ::tensorflow::data::DatasetDef& dataset_def() const;
  ::tensorflow::data::DatasetDef* release_dataset_def();
  ::tensorflow::data::DatasetDef* mutable_dataset_def();
  void set_allocated_dataset_def(::tensorflow::data::DatasetDef* dataset_def);
  private:
  const ::tensorflow::data::DatasetDef& _internal_dataset_def() const;
  ::tensorflow::data::DatasetDef* _internal_mutable_dataset_def();
  public:
  void unsafe_arena_set_allocated_dataset_def(
      ::tensorflow::data::DatasetDef* dataset_def);
  ::tensorflow::data::DatasetDef* unsafe_arena_release_dataset_def();

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetDatasetDefResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::tensorflow::data::DatasetDef* dataset_def_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetSplitRequest PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetSplitRequest) */ {
 public:
  inline GetSplitRequest() : GetSplitRequest(nullptr) {}
  virtual ~GetSplitRequest();
  explicit constexpr GetSplitRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetSplitRequest(const GetSplitRequest& from);
  GetSplitRequest(GetSplitRequest&& from) noexcept
    : GetSplitRequest() {
    *this = ::std::move(from);
  }

  inline GetSplitRequest& operator=(const GetSplitRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetSplitRequest& operator=(GetSplitRequest&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetSplitRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetSplitRequest* internal_default_instance() {
    return reinterpret_cast<const GetSplitRequest*>(
               &_GetSplitRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(GetSplitRequest& a, GetSplitRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetSplitRequest* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetSplitRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetSplitRequest* New() const final {
    return CreateMaybeMessage<GetSplitRequest>(nullptr);
  }

  GetSplitRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetSplitRequest>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetSplitRequest& from);
  void MergeFrom(const GetSplitRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetSplitRequest* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetSplitRequest";
  }
  protected:
  explicit GetSplitRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kJobIdFieldNumber = 1,
    kRepetitionFieldNumber = 2,
  };
  // int64 job_id = 1;
  void clear_job_id();
  ::PROTOBUF_NAMESPACE_ID::int64 job_id() const;
  void set_job_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_job_id() const;
  void _internal_set_job_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // int64 repetition = 2;
  void clear_repetition();
  ::PROTOBUF_NAMESPACE_ID::int64 repetition() const;
  void set_repetition(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_repetition() const;
  void _internal_set_repetition(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetSplitRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::int64 job_id_;
  ::PROTOBUF_NAMESPACE_ID::int64 repetition_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetSplitResponse PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetSplitResponse) */ {
 public:
  inline GetSplitResponse() : GetSplitResponse(nullptr) {}
  virtual ~GetSplitResponse();
  explicit constexpr GetSplitResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetSplitResponse(const GetSplitResponse& from);
  GetSplitResponse(GetSplitResponse&& from) noexcept
    : GetSplitResponse() {
    *this = ::std::move(from);
  }

  inline GetSplitResponse& operator=(const GetSplitResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetSplitResponse& operator=(GetSplitResponse&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetSplitResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetSplitResponse* internal_default_instance() {
    return reinterpret_cast<const GetSplitResponse*>(
               &_GetSplitResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(GetSplitResponse& a, GetSplitResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetSplitResponse* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetSplitResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetSplitResponse* New() const final {
    return CreateMaybeMessage<GetSplitResponse>(nullptr);
  }

  GetSplitResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetSplitResponse>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetSplitResponse& from);
  void MergeFrom(const GetSplitResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetSplitResponse* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetSplitResponse";
  }
  protected:
  explicit GetSplitResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSplitFieldNumber = 1,
    kEndOfSplitsFieldNumber = 2,
  };
  // .tensorflow.TensorProto split = 1;
  bool has_split() const;
  private:
  bool _internal_has_split() const;
  public:
  void clear_split();
  const ::tensorflow::TensorProto& split() const;
  ::tensorflow::TensorProto* release_split();
  ::tensorflow::TensorProto* mutable_split();
  void set_allocated_split(::tensorflow::TensorProto* split);
  private:
  const ::tensorflow::TensorProto& _internal_split() const;
  ::tensorflow::TensorProto* _internal_mutable_split();
  public:
  void unsafe_arena_set_allocated_split(
      ::tensorflow::TensorProto* split);
  ::tensorflow::TensorProto* unsafe_arena_release_split();

  // bool end_of_splits = 2;
  void clear_end_of_splits();
  bool end_of_splits() const;
  void set_end_of_splits(bool value);
  private:
  bool _internal_end_of_splits() const;
  void _internal_set_end_of_splits(bool value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetSplitResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::tensorflow::TensorProto* split_;
  bool end_of_splits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetOrRegisterDatasetRequest PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetOrRegisterDatasetRequest) */ {
 public:
  inline GetOrRegisterDatasetRequest() : GetOrRegisterDatasetRequest(nullptr) {}
  virtual ~GetOrRegisterDatasetRequest();
  explicit constexpr GetOrRegisterDatasetRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetOrRegisterDatasetRequest(const GetOrRegisterDatasetRequest& from);
  GetOrRegisterDatasetRequest(GetOrRegisterDatasetRequest&& from) noexcept
    : GetOrRegisterDatasetRequest() {
    *this = ::std::move(from);
  }

  inline GetOrRegisterDatasetRequest& operator=(const GetOrRegisterDatasetRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetOrRegisterDatasetRequest& operator=(GetOrRegisterDatasetRequest&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetOrRegisterDatasetRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetOrRegisterDatasetRequest* internal_default_instance() {
    return reinterpret_cast<const GetOrRegisterDatasetRequest*>(
               &_GetOrRegisterDatasetRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(GetOrRegisterDatasetRequest& a, GetOrRegisterDatasetRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetOrRegisterDatasetRequest* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetOrRegisterDatasetRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetOrRegisterDatasetRequest* New() const final {
    return CreateMaybeMessage<GetOrRegisterDatasetRequest>(nullptr);
  }

  GetOrRegisterDatasetRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetOrRegisterDatasetRequest>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetOrRegisterDatasetRequest& from);
  void MergeFrom(const GetOrRegisterDatasetRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetOrRegisterDatasetRequest* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetOrRegisterDatasetRequest";
  }
  protected:
  explicit GetOrRegisterDatasetRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDatasetFieldNumber = 1,
  };
  // .tensorflow.data.DatasetDef dataset = 1;
  bool has_dataset() const;
  private:
  bool _internal_has_dataset() const;
  public:
  void clear_dataset();
  const ::tensorflow::data::DatasetDef& dataset() const;
  ::tensorflow::data::DatasetDef* release_dataset();
  ::tensorflow::data::DatasetDef* mutable_dataset();
  void set_allocated_dataset(::tensorflow::data::DatasetDef* dataset);
  private:
  const ::tensorflow::data::DatasetDef& _internal_dataset() const;
  ::tensorflow::data::DatasetDef* _internal_mutable_dataset();
  public:
  void unsafe_arena_set_allocated_dataset(
      ::tensorflow::data::DatasetDef* dataset);
  ::tensorflow::data::DatasetDef* unsafe_arena_release_dataset();

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetOrRegisterDatasetRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::tensorflow::data::DatasetDef* dataset_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetOrRegisterDatasetResponse PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetOrRegisterDatasetResponse) */ {
 public:
  inline GetOrRegisterDatasetResponse() : GetOrRegisterDatasetResponse(nullptr) {}
  virtual ~GetOrRegisterDatasetResponse();
  explicit constexpr GetOrRegisterDatasetResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetOrRegisterDatasetResponse(const GetOrRegisterDatasetResponse& from);
  GetOrRegisterDatasetResponse(GetOrRegisterDatasetResponse&& from) noexcept
    : GetOrRegisterDatasetResponse() {
    *this = ::std::move(from);
  }

  inline GetOrRegisterDatasetResponse& operator=(const GetOrRegisterDatasetResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetOrRegisterDatasetResponse& operator=(GetOrRegisterDatasetResponse&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetOrRegisterDatasetResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetOrRegisterDatasetResponse* internal_default_instance() {
    return reinterpret_cast<const GetOrRegisterDatasetResponse*>(
               &_GetOrRegisterDatasetResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(GetOrRegisterDatasetResponse& a, GetOrRegisterDatasetResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetOrRegisterDatasetResponse* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetOrRegisterDatasetResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetOrRegisterDatasetResponse* New() const final {
    return CreateMaybeMessage<GetOrRegisterDatasetResponse>(nullptr);
  }

  GetOrRegisterDatasetResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetOrRegisterDatasetResponse>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetOrRegisterDatasetResponse& from);
  void MergeFrom(const GetOrRegisterDatasetResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetOrRegisterDatasetResponse* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetOrRegisterDatasetResponse";
  }
  protected:
  explicit GetOrRegisterDatasetResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDatasetIdFieldNumber = 1,
  };
  // int64 dataset_id = 1;
  void clear_dataset_id();
  ::PROTOBUF_NAMESPACE_ID::int64 dataset_id() const;
  void set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_dataset_id() const;
  void _internal_set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetOrRegisterDatasetResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::int64 dataset_id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class CreateJobRequest PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.CreateJobRequest) */ {
 public:
  inline CreateJobRequest() : CreateJobRequest(nullptr) {}
  virtual ~CreateJobRequest();
  explicit constexpr CreateJobRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CreateJobRequest(const CreateJobRequest& from);
  CreateJobRequest(CreateJobRequest&& from) noexcept
    : CreateJobRequest() {
    *this = ::std::move(from);
  }

  inline CreateJobRequest& operator=(const CreateJobRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline CreateJobRequest& operator=(CreateJobRequest&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const CreateJobRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const CreateJobRequest* internal_default_instance() {
    return reinterpret_cast<const CreateJobRequest*>(
               &_CreateJobRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  friend void swap(CreateJobRequest& a, CreateJobRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(CreateJobRequest* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CreateJobRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline CreateJobRequest* New() const final {
    return CreateMaybeMessage<CreateJobRequest>(nullptr);
  }

  CreateJobRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<CreateJobRequest>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const CreateJobRequest& from);
  void MergeFrom(const CreateJobRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CreateJobRequest* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.CreateJobRequest";
  }
  protected:
  explicit CreateJobRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDatasetIdFieldNumber = 1,
    kProcessingModeFieldNumber = 2,
  };
  // int64 dataset_id = 1;
  void clear_dataset_id();
  ::PROTOBUF_NAMESPACE_ID::int64 dataset_id() const;
  void set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_dataset_id() const;
  void _internal_set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // .tensorflow.data.ProcessingModeDef processing_mode = 2;
  void clear_processing_mode();
  ::tensorflow::data::ProcessingModeDef processing_mode() const;
  void set_processing_mode(::tensorflow::data::ProcessingModeDef value);
  private:
  ::tensorflow::data::ProcessingModeDef _internal_processing_mode() const;
  void _internal_set_processing_mode(::tensorflow::data::ProcessingModeDef value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.CreateJobRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::int64 dataset_id_;
  int processing_mode_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class CreateJobResponse PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.CreateJobResponse) */ {
 public:
  inline CreateJobResponse() : CreateJobResponse(nullptr) {}
  virtual ~CreateJobResponse();
  explicit constexpr CreateJobResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CreateJobResponse(const CreateJobResponse& from);
  CreateJobResponse(CreateJobResponse&& from) noexcept
    : CreateJobResponse() {
    *this = ::std::move(from);
  }

  inline CreateJobResponse& operator=(const CreateJobResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline CreateJobResponse& operator=(CreateJobResponse&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const CreateJobResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const CreateJobResponse* internal_default_instance() {
    return reinterpret_cast<const CreateJobResponse*>(
               &_CreateJobResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(CreateJobResponse& a, CreateJobResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(CreateJobResponse* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CreateJobResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline CreateJobResponse* New() const final {
    return CreateMaybeMessage<CreateJobResponse>(nullptr);
  }

  CreateJobResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<CreateJobResponse>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const CreateJobResponse& from);
  void MergeFrom(const CreateJobResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CreateJobResponse* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.CreateJobResponse";
  }
  protected:
  explicit CreateJobResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kJobClientIdFieldNumber = 1,
  };
  // int64 job_client_id = 1;
  void clear_job_client_id();
  ::PROTOBUF_NAMESPACE_ID::int64 job_client_id() const;
  void set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_job_client_id() const;
  void _internal_set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.CreateJobResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::int64 job_client_id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetOrCreateJobRequest PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetOrCreateJobRequest) */ {
 public:
  inline GetOrCreateJobRequest() : GetOrCreateJobRequest(nullptr) {}
  virtual ~GetOrCreateJobRequest();
  explicit constexpr GetOrCreateJobRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetOrCreateJobRequest(const GetOrCreateJobRequest& from);
  GetOrCreateJobRequest(GetOrCreateJobRequest&& from) noexcept
    : GetOrCreateJobRequest() {
    *this = ::std::move(from);
  }

  inline GetOrCreateJobRequest& operator=(const GetOrCreateJobRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetOrCreateJobRequest& operator=(GetOrCreateJobRequest&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetOrCreateJobRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetOrCreateJobRequest* internal_default_instance() {
    return reinterpret_cast<const GetOrCreateJobRequest*>(
               &_GetOrCreateJobRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    13;

  friend void swap(GetOrCreateJobRequest& a, GetOrCreateJobRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetOrCreateJobRequest* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetOrCreateJobRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetOrCreateJobRequest* New() const final {
    return CreateMaybeMessage<GetOrCreateJobRequest>(nullptr);
  }

  GetOrCreateJobRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetOrCreateJobRequest>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetOrCreateJobRequest& from);
  void MergeFrom(const GetOrCreateJobRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetOrCreateJobRequest* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetOrCreateJobRequest";
  }
  protected:
  explicit GetOrCreateJobRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kJobNameFieldNumber = 3,
    kDatasetIdFieldNumber = 1,
    kJobNameIndexFieldNumber = 4,
    kProcessingModeFieldNumber = 2,
  };
  // string job_name = 3;
  void clear_job_name();
  const std::string& job_name() const;
  void set_job_name(const std::string& value);
  void set_job_name(std::string&& value);
  void set_job_name(const char* value);
  void set_job_name(const char* value, size_t size);
  std::string* mutable_job_name();
  std::string* release_job_name();
  void set_allocated_job_name(std::string* job_name);
  private:
  const std::string& _internal_job_name() const;
  void _internal_set_job_name(const std::string& value);
  std::string* _internal_mutable_job_name();
  public:

  // int64 dataset_id = 1;
  void clear_dataset_id();
  ::PROTOBUF_NAMESPACE_ID::int64 dataset_id() const;
  void set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_dataset_id() const;
  void _internal_set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // int64 job_name_index = 4;
  void clear_job_name_index();
  ::PROTOBUF_NAMESPACE_ID::int64 job_name_index() const;
  void set_job_name_index(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_job_name_index() const;
  void _internal_set_job_name_index(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // .tensorflow.data.ProcessingModeDef processing_mode = 2;
  void clear_processing_mode();
  ::tensorflow::data::ProcessingModeDef processing_mode() const;
  void set_processing_mode(::tensorflow::data::ProcessingModeDef value);
  private:
  ::tensorflow::data::ProcessingModeDef _internal_processing_mode() const;
  void _internal_set_processing_mode(::tensorflow::data::ProcessingModeDef value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetOrCreateJobRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr job_name_;
  ::PROTOBUF_NAMESPACE_ID::int64 dataset_id_;
  ::PROTOBUF_NAMESPACE_ID::int64 job_name_index_;
  int processing_mode_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetOrCreateJobResponse PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetOrCreateJobResponse) */ {
 public:
  inline GetOrCreateJobResponse() : GetOrCreateJobResponse(nullptr) {}
  virtual ~GetOrCreateJobResponse();
  explicit constexpr GetOrCreateJobResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetOrCreateJobResponse(const GetOrCreateJobResponse& from);
  GetOrCreateJobResponse(GetOrCreateJobResponse&& from) noexcept
    : GetOrCreateJobResponse() {
    *this = ::std::move(from);
  }

  inline GetOrCreateJobResponse& operator=(const GetOrCreateJobResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetOrCreateJobResponse& operator=(GetOrCreateJobResponse&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetOrCreateJobResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetOrCreateJobResponse* internal_default_instance() {
    return reinterpret_cast<const GetOrCreateJobResponse*>(
               &_GetOrCreateJobResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    14;

  friend void swap(GetOrCreateJobResponse& a, GetOrCreateJobResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetOrCreateJobResponse* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetOrCreateJobResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetOrCreateJobResponse* New() const final {
    return CreateMaybeMessage<GetOrCreateJobResponse>(nullptr);
  }

  GetOrCreateJobResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetOrCreateJobResponse>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetOrCreateJobResponse& from);
  void MergeFrom(const GetOrCreateJobResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetOrCreateJobResponse* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetOrCreateJobResponse";
  }
  protected:
  explicit GetOrCreateJobResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kJobClientIdFieldNumber = 1,
  };
  // int64 job_client_id = 1;
  void clear_job_client_id();
  ::PROTOBUF_NAMESPACE_ID::int64 job_client_id() const;
  void set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_job_client_id() const;
  void _internal_set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetOrCreateJobResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::int64 job_client_id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class ReleaseJobClientRequest PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.ReleaseJobClientRequest) */ {
 public:
  inline ReleaseJobClientRequest() : ReleaseJobClientRequest(nullptr) {}
  virtual ~ReleaseJobClientRequest();
  explicit constexpr ReleaseJobClientRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  ReleaseJobClientRequest(const ReleaseJobClientRequest& from);
  ReleaseJobClientRequest(ReleaseJobClientRequest&& from) noexcept
    : ReleaseJobClientRequest() {
    *this = ::std::move(from);
  }

  inline ReleaseJobClientRequest& operator=(const ReleaseJobClientRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ReleaseJobClientRequest& operator=(ReleaseJobClientRequest&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const ReleaseJobClientRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const ReleaseJobClientRequest* internal_default_instance() {
    return reinterpret_cast<const ReleaseJobClientRequest*>(
               &_ReleaseJobClientRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    15;

  friend void swap(ReleaseJobClientRequest& a, ReleaseJobClientRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(ReleaseJobClientRequest* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ReleaseJobClientRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline ReleaseJobClientRequest* New() const final {
    return CreateMaybeMessage<ReleaseJobClientRequest>(nullptr);
  }

  ReleaseJobClientRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<ReleaseJobClientRequest>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const ReleaseJobClientRequest& from);
  void MergeFrom(const ReleaseJobClientRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(ReleaseJobClientRequest* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.ReleaseJobClientRequest";
  }
  protected:
  explicit ReleaseJobClientRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kJobClientIdFieldNumber = 1,
  };
  // int64 job_client_id = 1;
  void clear_job_client_id();
  ::PROTOBUF_NAMESPACE_ID::int64 job_client_id() const;
  void set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_job_client_id() const;
  void _internal_set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.ReleaseJobClientRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::int64 job_client_id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class ReleaseJobClientResponse PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.ReleaseJobClientResponse) */ {
 public:
  inline ReleaseJobClientResponse() : ReleaseJobClientResponse(nullptr) {}
  virtual ~ReleaseJobClientResponse();
  explicit constexpr ReleaseJobClientResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  ReleaseJobClientResponse(const ReleaseJobClientResponse& from);
  ReleaseJobClientResponse(ReleaseJobClientResponse&& from) noexcept
    : ReleaseJobClientResponse() {
    *this = ::std::move(from);
  }

  inline ReleaseJobClientResponse& operator=(const ReleaseJobClientResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ReleaseJobClientResponse& operator=(ReleaseJobClientResponse&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const ReleaseJobClientResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const ReleaseJobClientResponse* internal_default_instance() {
    return reinterpret_cast<const ReleaseJobClientResponse*>(
               &_ReleaseJobClientResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    16;

  friend void swap(ReleaseJobClientResponse& a, ReleaseJobClientResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(ReleaseJobClientResponse* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ReleaseJobClientResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline ReleaseJobClientResponse* New() const final {
    return CreateMaybeMessage<ReleaseJobClientResponse>(nullptr);
  }

  ReleaseJobClientResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<ReleaseJobClientResponse>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const ReleaseJobClientResponse& from);
  void MergeFrom(const ReleaseJobClientResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(ReleaseJobClientResponse* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.ReleaseJobClientResponse";
  }
  protected:
  explicit ReleaseJobClientResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:tensorflow.data.ReleaseJobClientResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetTasksRequest PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetTasksRequest) */ {
 public:
  inline GetTasksRequest() : GetTasksRequest(nullptr) {}
  virtual ~GetTasksRequest();
  explicit constexpr GetTasksRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetTasksRequest(const GetTasksRequest& from);
  GetTasksRequest(GetTasksRequest&& from) noexcept
    : GetTasksRequest() {
    *this = ::std::move(from);
  }

  inline GetTasksRequest& operator=(const GetTasksRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetTasksRequest& operator=(GetTasksRequest&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetTasksRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetTasksRequest* internal_default_instance() {
    return reinterpret_cast<const GetTasksRequest*>(
               &_GetTasksRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    17;

  friend void swap(GetTasksRequest& a, GetTasksRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetTasksRequest* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetTasksRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetTasksRequest* New() const final {
    return CreateMaybeMessage<GetTasksRequest>(nullptr);
  }

  GetTasksRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetTasksRequest>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetTasksRequest& from);
  void MergeFrom(const GetTasksRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetTasksRequest* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetTasksRequest";
  }
  protected:
  explicit GetTasksRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kJobClientIdFieldNumber = 1,
  };
  // int64 job_client_id = 1;
  void clear_job_client_id();
  ::PROTOBUF_NAMESPACE_ID::int64 job_client_id() const;
  void set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_job_client_id() const;
  void _internal_set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetTasksRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::int64 job_client_id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetTasksResponse PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetTasksResponse) */ {
 public:
  inline GetTasksResponse() : GetTasksResponse(nullptr) {}
  virtual ~GetTasksResponse();
  explicit constexpr GetTasksResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetTasksResponse(const GetTasksResponse& from);
  GetTasksResponse(GetTasksResponse&& from) noexcept
    : GetTasksResponse() {
    *this = ::std::move(from);
  }

  inline GetTasksResponse& operator=(const GetTasksResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetTasksResponse& operator=(GetTasksResponse&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetTasksResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetTasksResponse* internal_default_instance() {
    return reinterpret_cast<const GetTasksResponse*>(
               &_GetTasksResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    18;

  friend void swap(GetTasksResponse& a, GetTasksResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetTasksResponse* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetTasksResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetTasksResponse* New() const final {
    return CreateMaybeMessage<GetTasksResponse>(nullptr);
  }

  GetTasksResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetTasksResponse>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetTasksResponse& from);
  void MergeFrom(const GetTasksResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetTasksResponse* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetTasksResponse";
  }
  protected:
  explicit GetTasksResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTaskInfoFieldNumber = 1,
    kJobFinishedFieldNumber = 2,
  };
  // repeated .tensorflow.data.TaskInfo task_info = 1;
  int task_info_size() const;
  private:
  int _internal_task_info_size() const;
  public:
  void clear_task_info();
  ::tensorflow::data::TaskInfo* mutable_task_info(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskInfo >*
      mutable_task_info();
  private:
  const ::tensorflow::data::TaskInfo& _internal_task_info(int index) const;
  ::tensorflow::data::TaskInfo* _internal_add_task_info();
  public:
  const ::tensorflow::data::TaskInfo& task_info(int index) const;
  ::tensorflow::data::TaskInfo* add_task_info();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskInfo >&
      task_info() const;

  // bool job_finished = 2;
  void clear_job_finished();
  bool job_finished() const;
  void set_job_finished(bool value);
  private:
  bool _internal_job_finished() const;
  void _internal_set_job_finished(bool value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetTasksResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskInfo > task_info_;
  bool job_finished_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class WorkerInfo PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.WorkerInfo) */ {
 public:
  inline WorkerInfo() : WorkerInfo(nullptr) {}
  virtual ~WorkerInfo();
  explicit constexpr WorkerInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  WorkerInfo(const WorkerInfo& from);
  WorkerInfo(WorkerInfo&& from) noexcept
    : WorkerInfo() {
    *this = ::std::move(from);
  }

  inline WorkerInfo& operator=(const WorkerInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline WorkerInfo& operator=(WorkerInfo&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const WorkerInfo& default_instance() {
    return *internal_default_instance();
  }
  static inline const WorkerInfo* internal_default_instance() {
    return reinterpret_cast<const WorkerInfo*>(
               &_WorkerInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    19;

  friend void swap(WorkerInfo& a, WorkerInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(WorkerInfo* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(WorkerInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline WorkerInfo* New() const final {
    return CreateMaybeMessage<WorkerInfo>(nullptr);
  }

  WorkerInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<WorkerInfo>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const WorkerInfo& from);
  void MergeFrom(const WorkerInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(WorkerInfo* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.WorkerInfo";
  }
  protected:
  explicit WorkerInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kAddressFieldNumber = 1,
    kIdFieldNumber = 2,
  };
  // string address = 1;
  void clear_address();
  const std::string& address() const;
  void set_address(const std::string& value);
  void set_address(std::string&& value);
  void set_address(const char* value);
  void set_address(const char* value, size_t size);
  std::string* mutable_address();
  std::string* release_address();
  void set_allocated_address(std::string* address);
  private:
  const std::string& _internal_address() const;
  void _internal_set_address(const std::string& value);
  std::string* _internal_mutable_address();
  public:

  // int64 id = 2;
  void clear_id();
  ::PROTOBUF_NAMESPACE_ID::int64 id() const;
  void set_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_id() const;
  void _internal_set_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.data.WorkerInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr address_;
  ::PROTOBUF_NAMESPACE_ID::int64 id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetWorkersRequest PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetWorkersRequest) */ {
 public:
  inline GetWorkersRequest() : GetWorkersRequest(nullptr) {}
  virtual ~GetWorkersRequest();
  explicit constexpr GetWorkersRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetWorkersRequest(const GetWorkersRequest& from);
  GetWorkersRequest(GetWorkersRequest&& from) noexcept
    : GetWorkersRequest() {
    *this = ::std::move(from);
  }

  inline GetWorkersRequest& operator=(const GetWorkersRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetWorkersRequest& operator=(GetWorkersRequest&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetWorkersRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetWorkersRequest* internal_default_instance() {
    return reinterpret_cast<const GetWorkersRequest*>(
               &_GetWorkersRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    20;

  friend void swap(GetWorkersRequest& a, GetWorkersRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetWorkersRequest* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetWorkersRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetWorkersRequest* New() const final {
    return CreateMaybeMessage<GetWorkersRequest>(nullptr);
  }

  GetWorkersRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetWorkersRequest>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetWorkersRequest& from);
  void MergeFrom(const GetWorkersRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetWorkersRequest* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetWorkersRequest";
  }
  protected:
  explicit GetWorkersRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetWorkersRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// -------------------------------------------------------------------

class GetWorkersResponse PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.data.GetWorkersResponse) */ {
 public:
  inline GetWorkersResponse() : GetWorkersResponse(nullptr) {}
  virtual ~GetWorkersResponse();
  explicit constexpr GetWorkersResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetWorkersResponse(const GetWorkersResponse& from);
  GetWorkersResponse(GetWorkersResponse&& from) noexcept
    : GetWorkersResponse() {
    *this = ::std::move(from);
  }

  inline GetWorkersResponse& operator=(const GetWorkersResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetWorkersResponse& operator=(GetWorkersResponse&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GetWorkersResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetWorkersResponse* internal_default_instance() {
    return reinterpret_cast<const GetWorkersResponse*>(
               &_GetWorkersResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    21;

  friend void swap(GetWorkersResponse& a, GetWorkersResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetWorkersResponse* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetWorkersResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GetWorkersResponse* New() const final {
    return CreateMaybeMessage<GetWorkersResponse>(nullptr);
  }

  GetWorkersResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GetWorkersResponse>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GetWorkersResponse& from);
  void MergeFrom(const GetWorkersResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GetWorkersResponse* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.data.GetWorkersResponse";
  }
  protected:
  explicit GetWorkersResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kWorkersFieldNumber = 1,
  };
  // repeated .tensorflow.data.WorkerInfo workers = 1;
  int workers_size() const;
  private:
  int _internal_workers_size() const;
  public:
  void clear_workers();
  ::tensorflow::data::WorkerInfo* mutable_workers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::WorkerInfo >*
      mutable_workers();
  private:
  const ::tensorflow::data::WorkerInfo& _internal_workers(int index) const;
  ::tensorflow::data::WorkerInfo* _internal_add_workers();
  public:
  const ::tensorflow::data::WorkerInfo& workers(int index) const;
  ::tensorflow::data::WorkerInfo* add_workers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::WorkerInfo >&
      workers() const;

  // @@protoc_insertion_point(class_scope:tensorflow.data.GetWorkersResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::WorkerInfo > workers_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto;
};
// ===================================================================


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

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// TaskProgress

// int64 task_id = 1;
inline void TaskProgress::clear_task_id() {
  task_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 TaskProgress::_internal_task_id() const {
  return task_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 TaskProgress::task_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.TaskProgress.task_id)
  return _internal_task_id();
}
inline void TaskProgress::_internal_set_task_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  task_id_ = value;
}
inline void TaskProgress::set_task_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_task_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.TaskProgress.task_id)
}

// bool completed = 2;
inline void TaskProgress::clear_completed() {
  completed_ = false;
}
inline bool TaskProgress::_internal_completed() const {
  return completed_;
}
inline bool TaskProgress::completed() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.TaskProgress.completed)
  return _internal_completed();
}
inline void TaskProgress::_internal_set_completed(bool value) {
  
  completed_ = value;
}
inline void TaskProgress::set_completed(bool value) {
  _internal_set_completed(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.TaskProgress.completed)
}

// -------------------------------------------------------------------

// WorkerHeartbeatRequest

// string worker_address = 1;
inline void WorkerHeartbeatRequest::clear_worker_address() {
  worker_address_.ClearToEmpty();
}
inline const std::string& WorkerHeartbeatRequest::worker_address() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.WorkerHeartbeatRequest.worker_address)
  return _internal_worker_address();
}
inline void WorkerHeartbeatRequest::set_worker_address(const std::string& value) {
  _internal_set_worker_address(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.WorkerHeartbeatRequest.worker_address)
}
inline std::string* WorkerHeartbeatRequest::mutable_worker_address() {
  // @@protoc_insertion_point(field_mutable:tensorflow.data.WorkerHeartbeatRequest.worker_address)
  return _internal_mutable_worker_address();
}
inline const std::string& WorkerHeartbeatRequest::_internal_worker_address() const {
  return worker_address_.Get();
}
inline void WorkerHeartbeatRequest::_internal_set_worker_address(const std::string& value) {
  
  worker_address_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void WorkerHeartbeatRequest::set_worker_address(std::string&& value) {
  
  worker_address_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.data.WorkerHeartbeatRequest.worker_address)
}
inline void WorkerHeartbeatRequest::set_worker_address(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  worker_address_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.data.WorkerHeartbeatRequest.worker_address)
}
inline void WorkerHeartbeatRequest::set_worker_address(const char* value,
    size_t size) {
  
  worker_address_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.data.WorkerHeartbeatRequest.worker_address)
}
inline std::string* WorkerHeartbeatRequest::_internal_mutable_worker_address() {
  
  return worker_address_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* WorkerHeartbeatRequest::release_worker_address() {
  // @@protoc_insertion_point(field_release:tensorflow.data.WorkerHeartbeatRequest.worker_address)
  return worker_address_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void WorkerHeartbeatRequest::set_allocated_worker_address(std::string* worker_address) {
  if (worker_address != nullptr) {
    
  } else {
    
  }
  worker_address_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), worker_address,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.data.WorkerHeartbeatRequest.worker_address)
}

// repeated int64 current_tasks = 2;
inline int WorkerHeartbeatRequest::_internal_current_tasks_size() const {
  return current_tasks_.size();
}
inline int WorkerHeartbeatRequest::current_tasks_size() const {
  return _internal_current_tasks_size();
}
inline void WorkerHeartbeatRequest::clear_current_tasks() {
  current_tasks_.Clear();
}
inline ::PROTOBUF_NAMESPACE_ID::int64 WorkerHeartbeatRequest::_internal_current_tasks(int index) const {
  return current_tasks_.Get(index);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 WorkerHeartbeatRequest::current_tasks(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.data.WorkerHeartbeatRequest.current_tasks)
  return _internal_current_tasks(index);
}
inline void WorkerHeartbeatRequest::set_current_tasks(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
  current_tasks_.Set(index, value);
  // @@protoc_insertion_point(field_set:tensorflow.data.WorkerHeartbeatRequest.current_tasks)
}
inline void WorkerHeartbeatRequest::_internal_add_current_tasks(::PROTOBUF_NAMESPACE_ID::int64 value) {
  current_tasks_.Add(value);
}
inline void WorkerHeartbeatRequest::add_current_tasks(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_add_current_tasks(value);
  // @@protoc_insertion_point(field_add:tensorflow.data.WorkerHeartbeatRequest.current_tasks)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
WorkerHeartbeatRequest::_internal_current_tasks() const {
  return current_tasks_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
WorkerHeartbeatRequest::current_tasks() const {
  // @@protoc_insertion_point(field_list:tensorflow.data.WorkerHeartbeatRequest.current_tasks)
  return _internal_current_tasks();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
WorkerHeartbeatRequest::_internal_mutable_current_tasks() {
  return &current_tasks_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
WorkerHeartbeatRequest::mutable_current_tasks() {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.data.WorkerHeartbeatRequest.current_tasks)
  return _internal_mutable_current_tasks();
}

// -------------------------------------------------------------------

// WorkerHeartbeatResponse

// repeated .tensorflow.data.TaskDef new_tasks = 1;
inline int WorkerHeartbeatResponse::_internal_new_tasks_size() const {
  return new_tasks_.size();
}
inline int WorkerHeartbeatResponse::new_tasks_size() const {
  return _internal_new_tasks_size();
}
inline ::tensorflow::data::TaskDef* WorkerHeartbeatResponse::mutable_new_tasks(int index) {
  // @@protoc_insertion_point(field_mutable:tensorflow.data.WorkerHeartbeatResponse.new_tasks)
  return new_tasks_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskDef >*
WorkerHeartbeatResponse::mutable_new_tasks() {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.data.WorkerHeartbeatResponse.new_tasks)
  return &new_tasks_;
}
inline const ::tensorflow::data::TaskDef& WorkerHeartbeatResponse::_internal_new_tasks(int index) const {
  return new_tasks_.Get(index);
}
inline const ::tensorflow::data::TaskDef& WorkerHeartbeatResponse::new_tasks(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.data.WorkerHeartbeatResponse.new_tasks)
  return _internal_new_tasks(index);
}
inline ::tensorflow::data::TaskDef* WorkerHeartbeatResponse::_internal_add_new_tasks() {
  return new_tasks_.Add();
}
inline ::tensorflow::data::TaskDef* WorkerHeartbeatResponse::add_new_tasks() {
  // @@protoc_insertion_point(field_add:tensorflow.data.WorkerHeartbeatResponse.new_tasks)
  return _internal_add_new_tasks();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskDef >&
WorkerHeartbeatResponse::new_tasks() const {
  // @@protoc_insertion_point(field_list:tensorflow.data.WorkerHeartbeatResponse.new_tasks)
  return new_tasks_;
}

// repeated int64 tasks_to_delete = 2;
inline int WorkerHeartbeatResponse::_internal_tasks_to_delete_size() const {
  return tasks_to_delete_.size();
}
inline int WorkerHeartbeatResponse::tasks_to_delete_size() const {
  return _internal_tasks_to_delete_size();
}
inline void WorkerHeartbeatResponse::clear_tasks_to_delete() {
  tasks_to_delete_.Clear();
}
inline ::PROTOBUF_NAMESPACE_ID::int64 WorkerHeartbeatResponse::_internal_tasks_to_delete(int index) const {
  return tasks_to_delete_.Get(index);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 WorkerHeartbeatResponse::tasks_to_delete(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.data.WorkerHeartbeatResponse.tasks_to_delete)
  return _internal_tasks_to_delete(index);
}
inline void WorkerHeartbeatResponse::set_tasks_to_delete(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
  tasks_to_delete_.Set(index, value);
  // @@protoc_insertion_point(field_set:tensorflow.data.WorkerHeartbeatResponse.tasks_to_delete)
}
inline void WorkerHeartbeatResponse::_internal_add_tasks_to_delete(::PROTOBUF_NAMESPACE_ID::int64 value) {
  tasks_to_delete_.Add(value);
}
inline void WorkerHeartbeatResponse::add_tasks_to_delete(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_add_tasks_to_delete(value);
  // @@protoc_insertion_point(field_add:tensorflow.data.WorkerHeartbeatResponse.tasks_to_delete)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
WorkerHeartbeatResponse::_internal_tasks_to_delete() const {
  return tasks_to_delete_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
WorkerHeartbeatResponse::tasks_to_delete() const {
  // @@protoc_insertion_point(field_list:tensorflow.data.WorkerHeartbeatResponse.tasks_to_delete)
  return _internal_tasks_to_delete();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
WorkerHeartbeatResponse::_internal_mutable_tasks_to_delete() {
  return &tasks_to_delete_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
WorkerHeartbeatResponse::mutable_tasks_to_delete() {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.data.WorkerHeartbeatResponse.tasks_to_delete)
  return _internal_mutable_tasks_to_delete();
}

// -------------------------------------------------------------------

// WorkerUpdateRequest

// string worker_address = 1;
inline void WorkerUpdateRequest::clear_worker_address() {
  worker_address_.ClearToEmpty();
}
inline const std::string& WorkerUpdateRequest::worker_address() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.WorkerUpdateRequest.worker_address)
  return _internal_worker_address();
}
inline void WorkerUpdateRequest::set_worker_address(const std::string& value) {
  _internal_set_worker_address(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.WorkerUpdateRequest.worker_address)
}
inline std::string* WorkerUpdateRequest::mutable_worker_address() {
  // @@protoc_insertion_point(field_mutable:tensorflow.data.WorkerUpdateRequest.worker_address)
  return _internal_mutable_worker_address();
}
inline const std::string& WorkerUpdateRequest::_internal_worker_address() const {
  return worker_address_.Get();
}
inline void WorkerUpdateRequest::_internal_set_worker_address(const std::string& value) {
  
  worker_address_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void WorkerUpdateRequest::set_worker_address(std::string&& value) {
  
  worker_address_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.data.WorkerUpdateRequest.worker_address)
}
inline void WorkerUpdateRequest::set_worker_address(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  worker_address_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.data.WorkerUpdateRequest.worker_address)
}
inline void WorkerUpdateRequest::set_worker_address(const char* value,
    size_t size) {
  
  worker_address_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.data.WorkerUpdateRequest.worker_address)
}
inline std::string* WorkerUpdateRequest::_internal_mutable_worker_address() {
  
  return worker_address_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* WorkerUpdateRequest::release_worker_address() {
  // @@protoc_insertion_point(field_release:tensorflow.data.WorkerUpdateRequest.worker_address)
  return worker_address_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void WorkerUpdateRequest::set_allocated_worker_address(std::string* worker_address) {
  if (worker_address != nullptr) {
    
  } else {
    
  }
  worker_address_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), worker_address,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.data.WorkerUpdateRequest.worker_address)
}

// repeated .tensorflow.data.TaskProgress updates = 2;
inline int WorkerUpdateRequest::_internal_updates_size() const {
  return updates_.size();
}
inline int WorkerUpdateRequest::updates_size() const {
  return _internal_updates_size();
}
inline void WorkerUpdateRequest::clear_updates() {
  updates_.Clear();
}
inline ::tensorflow::data::TaskProgress* WorkerUpdateRequest::mutable_updates(int index) {
  // @@protoc_insertion_point(field_mutable:tensorflow.data.WorkerUpdateRequest.updates)
  return updates_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskProgress >*
WorkerUpdateRequest::mutable_updates() {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.data.WorkerUpdateRequest.updates)
  return &updates_;
}
inline const ::tensorflow::data::TaskProgress& WorkerUpdateRequest::_internal_updates(int index) const {
  return updates_.Get(index);
}
inline const ::tensorflow::data::TaskProgress& WorkerUpdateRequest::updates(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.data.WorkerUpdateRequest.updates)
  return _internal_updates(index);
}
inline ::tensorflow::data::TaskProgress* WorkerUpdateRequest::_internal_add_updates() {
  return updates_.Add();
}
inline ::tensorflow::data::TaskProgress* WorkerUpdateRequest::add_updates() {
  // @@protoc_insertion_point(field_add:tensorflow.data.WorkerUpdateRequest.updates)
  return _internal_add_updates();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskProgress >&
WorkerUpdateRequest::updates() const {
  // @@protoc_insertion_point(field_list:tensorflow.data.WorkerUpdateRequest.updates)
  return updates_;
}

// -------------------------------------------------------------------

// WorkerUpdateResponse

// -------------------------------------------------------------------

// GetDatasetDefRequest

// int64 dataset_id = 1;
inline void GetDatasetDefRequest::clear_dataset_id() {
  dataset_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetDatasetDefRequest::_internal_dataset_id() const {
  return dataset_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetDatasetDefRequest::dataset_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetDatasetDefRequest.dataset_id)
  return _internal_dataset_id();
}
inline void GetDatasetDefRequest::_internal_set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  dataset_id_ = value;
}
inline void GetDatasetDefRequest::set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_dataset_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetDatasetDefRequest.dataset_id)
}

// -------------------------------------------------------------------

// GetDatasetDefResponse

// .tensorflow.data.DatasetDef dataset_def = 1;
inline bool GetDatasetDefResponse::_internal_has_dataset_def() const {
  return this != internal_default_instance() && dataset_def_ != nullptr;
}
inline bool GetDatasetDefResponse::has_dataset_def() const {
  return _internal_has_dataset_def();
}
inline const ::tensorflow::data::DatasetDef& GetDatasetDefResponse::_internal_dataset_def() const {
  const ::tensorflow::data::DatasetDef* p = dataset_def_;
  return p != nullptr ? *p : reinterpret_cast<const ::tensorflow::data::DatasetDef&>(
      ::tensorflow::data::_DatasetDef_default_instance_);
}
inline const ::tensorflow::data::DatasetDef& GetDatasetDefResponse::dataset_def() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetDatasetDefResponse.dataset_def)
  return _internal_dataset_def();
}
inline void GetDatasetDefResponse::unsafe_arena_set_allocated_dataset_def(
    ::tensorflow::data::DatasetDef* dataset_def) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dataset_def_);
  }
  dataset_def_ = dataset_def;
  if (dataset_def) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:tensorflow.data.GetDatasetDefResponse.dataset_def)
}
inline ::tensorflow::data::DatasetDef* GetDatasetDefResponse::release_dataset_def() {
  
  ::tensorflow::data::DatasetDef* temp = dataset_def_;
  dataset_def_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::tensorflow::data::DatasetDef* GetDatasetDefResponse::unsafe_arena_release_dataset_def() {
  // @@protoc_insertion_point(field_release:tensorflow.data.GetDatasetDefResponse.dataset_def)
  
  ::tensorflow::data::DatasetDef* temp = dataset_def_;
  dataset_def_ = nullptr;
  return temp;
}
inline ::tensorflow::data::DatasetDef* GetDatasetDefResponse::_internal_mutable_dataset_def() {
  
  if (dataset_def_ == nullptr) {
    auto* p = CreateMaybeMessage<::tensorflow::data::DatasetDef>(GetArena());
    dataset_def_ = p;
  }
  return dataset_def_;
}
inline ::tensorflow::data::DatasetDef* GetDatasetDefResponse::mutable_dataset_def() {
  // @@protoc_insertion_point(field_mutable:tensorflow.data.GetDatasetDefResponse.dataset_def)
  return _internal_mutable_dataset_def();
}
inline void GetDatasetDefResponse::set_allocated_dataset_def(::tensorflow::data::DatasetDef* dataset_def) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(dataset_def_);
  }
  if (dataset_def) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dataset_def)->GetArena();
    if (message_arena != submessage_arena) {
      dataset_def = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, dataset_def, submessage_arena);
    }
    
  } else {
    
  }
  dataset_def_ = dataset_def;
  // @@protoc_insertion_point(field_set_allocated:tensorflow.data.GetDatasetDefResponse.dataset_def)
}

// -------------------------------------------------------------------

// GetSplitRequest

// int64 job_id = 1;
inline void GetSplitRequest::clear_job_id() {
  job_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetSplitRequest::_internal_job_id() const {
  return job_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetSplitRequest::job_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetSplitRequest.job_id)
  return _internal_job_id();
}
inline void GetSplitRequest::_internal_set_job_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  job_id_ = value;
}
inline void GetSplitRequest::set_job_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_job_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetSplitRequest.job_id)
}

// int64 repetition = 2;
inline void GetSplitRequest::clear_repetition() {
  repetition_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetSplitRequest::_internal_repetition() const {
  return repetition_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetSplitRequest::repetition() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetSplitRequest.repetition)
  return _internal_repetition();
}
inline void GetSplitRequest::_internal_set_repetition(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  repetition_ = value;
}
inline void GetSplitRequest::set_repetition(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_repetition(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetSplitRequest.repetition)
}

// -------------------------------------------------------------------

// GetSplitResponse

// .tensorflow.TensorProto split = 1;
inline bool GetSplitResponse::_internal_has_split() const {
  return this != internal_default_instance() && split_ != nullptr;
}
inline bool GetSplitResponse::has_split() const {
  return _internal_has_split();
}
inline const ::tensorflow::TensorProto& GetSplitResponse::_internal_split() const {
  const ::tensorflow::TensorProto* p = split_;
  return p != nullptr ? *p : reinterpret_cast<const ::tensorflow::TensorProto&>(
      ::tensorflow::_TensorProto_default_instance_);
}
inline const ::tensorflow::TensorProto& GetSplitResponse::split() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetSplitResponse.split)
  return _internal_split();
}
inline void GetSplitResponse::unsafe_arena_set_allocated_split(
    ::tensorflow::TensorProto* split) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(split_);
  }
  split_ = split;
  if (split) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:tensorflow.data.GetSplitResponse.split)
}
inline ::tensorflow::TensorProto* GetSplitResponse::release_split() {
  
  ::tensorflow::TensorProto* temp = split_;
  split_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::tensorflow::TensorProto* GetSplitResponse::unsafe_arena_release_split() {
  // @@protoc_insertion_point(field_release:tensorflow.data.GetSplitResponse.split)
  
  ::tensorflow::TensorProto* temp = split_;
  split_ = nullptr;
  return temp;
}
inline ::tensorflow::TensorProto* GetSplitResponse::_internal_mutable_split() {
  
  if (split_ == nullptr) {
    auto* p = CreateMaybeMessage<::tensorflow::TensorProto>(GetArena());
    split_ = p;
  }
  return split_;
}
inline ::tensorflow::TensorProto* GetSplitResponse::mutable_split() {
  // @@protoc_insertion_point(field_mutable:tensorflow.data.GetSplitResponse.split)
  return _internal_mutable_split();
}
inline void GetSplitResponse::set_allocated_split(::tensorflow::TensorProto* split) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(split_);
  }
  if (split) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(split)->GetArena();
    if (message_arena != submessage_arena) {
      split = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, split, submessage_arena);
    }
    
  } else {
    
  }
  split_ = split;
  // @@protoc_insertion_point(field_set_allocated:tensorflow.data.GetSplitResponse.split)
}

// bool end_of_splits = 2;
inline void GetSplitResponse::clear_end_of_splits() {
  end_of_splits_ = false;
}
inline bool GetSplitResponse::_internal_end_of_splits() const {
  return end_of_splits_;
}
inline bool GetSplitResponse::end_of_splits() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetSplitResponse.end_of_splits)
  return _internal_end_of_splits();
}
inline void GetSplitResponse::_internal_set_end_of_splits(bool value) {
  
  end_of_splits_ = value;
}
inline void GetSplitResponse::set_end_of_splits(bool value) {
  _internal_set_end_of_splits(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetSplitResponse.end_of_splits)
}

// -------------------------------------------------------------------

// GetOrRegisterDatasetRequest

// .tensorflow.data.DatasetDef dataset = 1;
inline bool GetOrRegisterDatasetRequest::_internal_has_dataset() const {
  return this != internal_default_instance() && dataset_ != nullptr;
}
inline bool GetOrRegisterDatasetRequest::has_dataset() const {
  return _internal_has_dataset();
}
inline const ::tensorflow::data::DatasetDef& GetOrRegisterDatasetRequest::_internal_dataset() const {
  const ::tensorflow::data::DatasetDef* p = dataset_;
  return p != nullptr ? *p : reinterpret_cast<const ::tensorflow::data::DatasetDef&>(
      ::tensorflow::data::_DatasetDef_default_instance_);
}
inline const ::tensorflow::data::DatasetDef& GetOrRegisterDatasetRequest::dataset() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetOrRegisterDatasetRequest.dataset)
  return _internal_dataset();
}
inline void GetOrRegisterDatasetRequest::unsafe_arena_set_allocated_dataset(
    ::tensorflow::data::DatasetDef* dataset) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dataset_);
  }
  dataset_ = dataset;
  if (dataset) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:tensorflow.data.GetOrRegisterDatasetRequest.dataset)
}
inline ::tensorflow::data::DatasetDef* GetOrRegisterDatasetRequest::release_dataset() {
  
  ::tensorflow::data::DatasetDef* temp = dataset_;
  dataset_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::tensorflow::data::DatasetDef* GetOrRegisterDatasetRequest::unsafe_arena_release_dataset() {
  // @@protoc_insertion_point(field_release:tensorflow.data.GetOrRegisterDatasetRequest.dataset)
  
  ::tensorflow::data::DatasetDef* temp = dataset_;
  dataset_ = nullptr;
  return temp;
}
inline ::tensorflow::data::DatasetDef* GetOrRegisterDatasetRequest::_internal_mutable_dataset() {
  
  if (dataset_ == nullptr) {
    auto* p = CreateMaybeMessage<::tensorflow::data::DatasetDef>(GetArena());
    dataset_ = p;
  }
  return dataset_;
}
inline ::tensorflow::data::DatasetDef* GetOrRegisterDatasetRequest::mutable_dataset() {
  // @@protoc_insertion_point(field_mutable:tensorflow.data.GetOrRegisterDatasetRequest.dataset)
  return _internal_mutable_dataset();
}
inline void GetOrRegisterDatasetRequest::set_allocated_dataset(::tensorflow::data::DatasetDef* dataset) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(dataset_);
  }
  if (dataset) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dataset)->GetArena();
    if (message_arena != submessage_arena) {
      dataset = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, dataset, submessage_arena);
    }
    
  } else {
    
  }
  dataset_ = dataset;
  // @@protoc_insertion_point(field_set_allocated:tensorflow.data.GetOrRegisterDatasetRequest.dataset)
}

// -------------------------------------------------------------------

// GetOrRegisterDatasetResponse

// int64 dataset_id = 1;
inline void GetOrRegisterDatasetResponse::clear_dataset_id() {
  dataset_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetOrRegisterDatasetResponse::_internal_dataset_id() const {
  return dataset_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetOrRegisterDatasetResponse::dataset_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetOrRegisterDatasetResponse.dataset_id)
  return _internal_dataset_id();
}
inline void GetOrRegisterDatasetResponse::_internal_set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  dataset_id_ = value;
}
inline void GetOrRegisterDatasetResponse::set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_dataset_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetOrRegisterDatasetResponse.dataset_id)
}

// -------------------------------------------------------------------

// CreateJobRequest

// int64 dataset_id = 1;
inline void CreateJobRequest::clear_dataset_id() {
  dataset_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 CreateJobRequest::_internal_dataset_id() const {
  return dataset_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 CreateJobRequest::dataset_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.CreateJobRequest.dataset_id)
  return _internal_dataset_id();
}
inline void CreateJobRequest::_internal_set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  dataset_id_ = value;
}
inline void CreateJobRequest::set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_dataset_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.CreateJobRequest.dataset_id)
}

// .tensorflow.data.ProcessingModeDef processing_mode = 2;
inline void CreateJobRequest::clear_processing_mode() {
  processing_mode_ = 0;
}
inline ::tensorflow::data::ProcessingModeDef CreateJobRequest::_internal_processing_mode() const {
  return static_cast< ::tensorflow::data::ProcessingModeDef >(processing_mode_);
}
inline ::tensorflow::data::ProcessingModeDef CreateJobRequest::processing_mode() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.CreateJobRequest.processing_mode)
  return _internal_processing_mode();
}
inline void CreateJobRequest::_internal_set_processing_mode(::tensorflow::data::ProcessingModeDef value) {
  
  processing_mode_ = value;
}
inline void CreateJobRequest::set_processing_mode(::tensorflow::data::ProcessingModeDef value) {
  _internal_set_processing_mode(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.CreateJobRequest.processing_mode)
}

// -------------------------------------------------------------------

// CreateJobResponse

// int64 job_client_id = 1;
inline void CreateJobResponse::clear_job_client_id() {
  job_client_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 CreateJobResponse::_internal_job_client_id() const {
  return job_client_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 CreateJobResponse::job_client_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.CreateJobResponse.job_client_id)
  return _internal_job_client_id();
}
inline void CreateJobResponse::_internal_set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  job_client_id_ = value;
}
inline void CreateJobResponse::set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_job_client_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.CreateJobResponse.job_client_id)
}

// -------------------------------------------------------------------

// GetOrCreateJobRequest

// int64 dataset_id = 1;
inline void GetOrCreateJobRequest::clear_dataset_id() {
  dataset_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetOrCreateJobRequest::_internal_dataset_id() const {
  return dataset_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetOrCreateJobRequest::dataset_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetOrCreateJobRequest.dataset_id)
  return _internal_dataset_id();
}
inline void GetOrCreateJobRequest::_internal_set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  dataset_id_ = value;
}
inline void GetOrCreateJobRequest::set_dataset_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_dataset_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetOrCreateJobRequest.dataset_id)
}

// .tensorflow.data.ProcessingModeDef processing_mode = 2;
inline void GetOrCreateJobRequest::clear_processing_mode() {
  processing_mode_ = 0;
}
inline ::tensorflow::data::ProcessingModeDef GetOrCreateJobRequest::_internal_processing_mode() const {
  return static_cast< ::tensorflow::data::ProcessingModeDef >(processing_mode_);
}
inline ::tensorflow::data::ProcessingModeDef GetOrCreateJobRequest::processing_mode() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetOrCreateJobRequest.processing_mode)
  return _internal_processing_mode();
}
inline void GetOrCreateJobRequest::_internal_set_processing_mode(::tensorflow::data::ProcessingModeDef value) {
  
  processing_mode_ = value;
}
inline void GetOrCreateJobRequest::set_processing_mode(::tensorflow::data::ProcessingModeDef value) {
  _internal_set_processing_mode(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetOrCreateJobRequest.processing_mode)
}

// string job_name = 3;
inline void GetOrCreateJobRequest::clear_job_name() {
  job_name_.ClearToEmpty();
}
inline const std::string& GetOrCreateJobRequest::job_name() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetOrCreateJobRequest.job_name)
  return _internal_job_name();
}
inline void GetOrCreateJobRequest::set_job_name(const std::string& value) {
  _internal_set_job_name(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetOrCreateJobRequest.job_name)
}
inline std::string* GetOrCreateJobRequest::mutable_job_name() {
  // @@protoc_insertion_point(field_mutable:tensorflow.data.GetOrCreateJobRequest.job_name)
  return _internal_mutable_job_name();
}
inline const std::string& GetOrCreateJobRequest::_internal_job_name() const {
  return job_name_.Get();
}
inline void GetOrCreateJobRequest::_internal_set_job_name(const std::string& value) {
  
  job_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void GetOrCreateJobRequest::set_job_name(std::string&& value) {
  
  job_name_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.data.GetOrCreateJobRequest.job_name)
}
inline void GetOrCreateJobRequest::set_job_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  job_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.data.GetOrCreateJobRequest.job_name)
}
inline void GetOrCreateJobRequest::set_job_name(const char* value,
    size_t size) {
  
  job_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.data.GetOrCreateJobRequest.job_name)
}
inline std::string* GetOrCreateJobRequest::_internal_mutable_job_name() {
  
  return job_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* GetOrCreateJobRequest::release_job_name() {
  // @@protoc_insertion_point(field_release:tensorflow.data.GetOrCreateJobRequest.job_name)
  return job_name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void GetOrCreateJobRequest::set_allocated_job_name(std::string* job_name) {
  if (job_name != nullptr) {
    
  } else {
    
  }
  job_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), job_name,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.data.GetOrCreateJobRequest.job_name)
}

// int64 job_name_index = 4;
inline void GetOrCreateJobRequest::clear_job_name_index() {
  job_name_index_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetOrCreateJobRequest::_internal_job_name_index() const {
  return job_name_index_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetOrCreateJobRequest::job_name_index() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetOrCreateJobRequest.job_name_index)
  return _internal_job_name_index();
}
inline void GetOrCreateJobRequest::_internal_set_job_name_index(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  job_name_index_ = value;
}
inline void GetOrCreateJobRequest::set_job_name_index(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_job_name_index(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetOrCreateJobRequest.job_name_index)
}

// -------------------------------------------------------------------

// GetOrCreateJobResponse

// int64 job_client_id = 1;
inline void GetOrCreateJobResponse::clear_job_client_id() {
  job_client_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetOrCreateJobResponse::_internal_job_client_id() const {
  return job_client_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetOrCreateJobResponse::job_client_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetOrCreateJobResponse.job_client_id)
  return _internal_job_client_id();
}
inline void GetOrCreateJobResponse::_internal_set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  job_client_id_ = value;
}
inline void GetOrCreateJobResponse::set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_job_client_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetOrCreateJobResponse.job_client_id)
}

// -------------------------------------------------------------------

// ReleaseJobClientRequest

// int64 job_client_id = 1;
inline void ReleaseJobClientRequest::clear_job_client_id() {
  job_client_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 ReleaseJobClientRequest::_internal_job_client_id() const {
  return job_client_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 ReleaseJobClientRequest::job_client_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.ReleaseJobClientRequest.job_client_id)
  return _internal_job_client_id();
}
inline void ReleaseJobClientRequest::_internal_set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  job_client_id_ = value;
}
inline void ReleaseJobClientRequest::set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_job_client_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.ReleaseJobClientRequest.job_client_id)
}

// -------------------------------------------------------------------

// ReleaseJobClientResponse

// -------------------------------------------------------------------

// GetTasksRequest

// int64 job_client_id = 1;
inline void GetTasksRequest::clear_job_client_id() {
  job_client_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetTasksRequest::_internal_job_client_id() const {
  return job_client_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 GetTasksRequest::job_client_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetTasksRequest.job_client_id)
  return _internal_job_client_id();
}
inline void GetTasksRequest::_internal_set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  job_client_id_ = value;
}
inline void GetTasksRequest::set_job_client_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_job_client_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetTasksRequest.job_client_id)
}

// -------------------------------------------------------------------

// GetTasksResponse

// repeated .tensorflow.data.TaskInfo task_info = 1;
inline int GetTasksResponse::_internal_task_info_size() const {
  return task_info_.size();
}
inline int GetTasksResponse::task_info_size() const {
  return _internal_task_info_size();
}
inline ::tensorflow::data::TaskInfo* GetTasksResponse::mutable_task_info(int index) {
  // @@protoc_insertion_point(field_mutable:tensorflow.data.GetTasksResponse.task_info)
  return task_info_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskInfo >*
GetTasksResponse::mutable_task_info() {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.data.GetTasksResponse.task_info)
  return &task_info_;
}
inline const ::tensorflow::data::TaskInfo& GetTasksResponse::_internal_task_info(int index) const {
  return task_info_.Get(index);
}
inline const ::tensorflow::data::TaskInfo& GetTasksResponse::task_info(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetTasksResponse.task_info)
  return _internal_task_info(index);
}
inline ::tensorflow::data::TaskInfo* GetTasksResponse::_internal_add_task_info() {
  return task_info_.Add();
}
inline ::tensorflow::data::TaskInfo* GetTasksResponse::add_task_info() {
  // @@protoc_insertion_point(field_add:tensorflow.data.GetTasksResponse.task_info)
  return _internal_add_task_info();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::TaskInfo >&
GetTasksResponse::task_info() const {
  // @@protoc_insertion_point(field_list:tensorflow.data.GetTasksResponse.task_info)
  return task_info_;
}

// bool job_finished = 2;
inline void GetTasksResponse::clear_job_finished() {
  job_finished_ = false;
}
inline bool GetTasksResponse::_internal_job_finished() const {
  return job_finished_;
}
inline bool GetTasksResponse::job_finished() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetTasksResponse.job_finished)
  return _internal_job_finished();
}
inline void GetTasksResponse::_internal_set_job_finished(bool value) {
  
  job_finished_ = value;
}
inline void GetTasksResponse::set_job_finished(bool value) {
  _internal_set_job_finished(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.GetTasksResponse.job_finished)
}

// -------------------------------------------------------------------

// WorkerInfo

// string address = 1;
inline void WorkerInfo::clear_address() {
  address_.ClearToEmpty();
}
inline const std::string& WorkerInfo::address() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.WorkerInfo.address)
  return _internal_address();
}
inline void WorkerInfo::set_address(const std::string& value) {
  _internal_set_address(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.WorkerInfo.address)
}
inline std::string* WorkerInfo::mutable_address() {
  // @@protoc_insertion_point(field_mutable:tensorflow.data.WorkerInfo.address)
  return _internal_mutable_address();
}
inline const std::string& WorkerInfo::_internal_address() const {
  return address_.Get();
}
inline void WorkerInfo::_internal_set_address(const std::string& value) {
  
  address_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void WorkerInfo::set_address(std::string&& value) {
  
  address_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.data.WorkerInfo.address)
}
inline void WorkerInfo::set_address(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  address_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.data.WorkerInfo.address)
}
inline void WorkerInfo::set_address(const char* value,
    size_t size) {
  
  address_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.data.WorkerInfo.address)
}
inline std::string* WorkerInfo::_internal_mutable_address() {
  
  return address_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* WorkerInfo::release_address() {
  // @@protoc_insertion_point(field_release:tensorflow.data.WorkerInfo.address)
  return address_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void WorkerInfo::set_allocated_address(std::string* address) {
  if (address != nullptr) {
    
  } else {
    
  }
  address_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), address,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.data.WorkerInfo.address)
}

// int64 id = 2;
inline void WorkerInfo::clear_id() {
  id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 WorkerInfo::_internal_id() const {
  return id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 WorkerInfo::id() const {
  // @@protoc_insertion_point(field_get:tensorflow.data.WorkerInfo.id)
  return _internal_id();
}
inline void WorkerInfo::_internal_set_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  id_ = value;
}
inline void WorkerInfo::set_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.data.WorkerInfo.id)
}

// -------------------------------------------------------------------

// GetWorkersRequest

// -------------------------------------------------------------------

// GetWorkersResponse

// repeated .tensorflow.data.WorkerInfo workers = 1;
inline int GetWorkersResponse::_internal_workers_size() const {
  return workers_.size();
}
inline int GetWorkersResponse::workers_size() const {
  return _internal_workers_size();
}
inline void GetWorkersResponse::clear_workers() {
  workers_.Clear();
}
inline ::tensorflow::data::WorkerInfo* GetWorkersResponse::mutable_workers(int index) {
  // @@protoc_insertion_point(field_mutable:tensorflow.data.GetWorkersResponse.workers)
  return workers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::WorkerInfo >*
GetWorkersResponse::mutable_workers() {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.data.GetWorkersResponse.workers)
  return &workers_;
}
inline const ::tensorflow::data::WorkerInfo& GetWorkersResponse::_internal_workers(int index) const {
  return workers_.Get(index);
}
inline const ::tensorflow::data::WorkerInfo& GetWorkersResponse::workers(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.data.GetWorkersResponse.workers)
  return _internal_workers(index);
}
inline ::tensorflow::data::WorkerInfo* GetWorkersResponse::_internal_add_workers() {
  return workers_.Add();
}
inline ::tensorflow::data::WorkerInfo* GetWorkersResponse::add_workers() {
  // @@protoc_insertion_point(field_add:tensorflow.data.GetWorkersResponse.workers)
  return _internal_add_workers();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::data::WorkerInfo >&
GetWorkersResponse::workers() const {
  // @@protoc_insertion_point(field_list:tensorflow.data.GetWorkersResponse.workers)
  return workers_;
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)

}  // namespace data
}  // namespace tensorflow

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_tensorflow_2fcore_2fdata_2fservice_2fdispatcher_2eproto
