package resource_handle_go_proto

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	tensor_shape_go_proto "github.com/tensorflow/tensorflow/tensorflow/go/core/framework/tensor_shape_go_proto"
	types_go_proto "github.com/tensorflow/tensorflow/tensorflow/go/core/framework/types_go_proto"
	math "math"
)

var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

const _ = proto.ProtoPackageIsVersion3 

type ResourceHandleProto struct {

	Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`

	Container string `protobuf:"bytes,2,opt,name=container,proto3" json:"container,omitempty"`

	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`

	HashCode uint64 `protobuf:"varint,4,opt,name=hash_code,json=hashCode,proto3" json:"hash_code,omitempty"`

	MaybeTypeName string `protobuf:"bytes,5,opt,name=maybe_type_name,json=maybeTypeName,proto3" json:"maybe_type_name,omitempty"`

	DtypesAndShapes      []*ResourceHandleProto_DtypeAndShape `protobuf:"bytes,6,rep,name=dtypes_and_shapes,json=dtypesAndShapes,proto3" json:"dtypes_and_shapes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
	XXX_unrecognized     []byte                               `json:"-"`
	XXX_sizecache        int32                                `json:"-"`
}

func (m *ResourceHandleProto) Reset()         { *m = ResourceHandleProto{} }
func (m *ResourceHandleProto) String() string { return proto.CompactTextString(m) }
func (*ResourceHandleProto) ProtoMessage()    {}
func (*ResourceHandleProto) Descriptor() ([]byte, []int) {
	return fileDescriptor_a36024d2bd9a2afd, []int{0}
}

func (m *ResourceHandleProto) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResourceHandleProto.Unmarshal(m, b)
}
func (m *ResourceHandleProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResourceHandleProto.Marshal(b, m, deterministic)
}
func (m *ResourceHandleProto) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResourceHandleProto.Merge(m, src)
}
func (m *ResourceHandleProto) XXX_Size() int {
	return xxx_messageInfo_ResourceHandleProto.Size(m)
}
func (m *ResourceHandleProto) XXX_DiscardUnknown() {
	xxx_messageInfo_ResourceHandleProto.DiscardUnknown(m)
}

var xxx_messageInfo_ResourceHandleProto proto.InternalMessageInfo

func (m *ResourceHandleProto) GetDevice() string {
	if m != nil {
		return m.Device
	}
	return ""
}

func (m *ResourceHandleProto) GetContainer() string {
	if m != nil {
		return m.Container
	}
	return ""
}

func (m *ResourceHandleProto) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *ResourceHandleProto) GetHashCode() uint64 {
	if m != nil {
		return m.HashCode
	}
	return 0
}

func (m *ResourceHandleProto) GetMaybeTypeName() string {
	if m != nil {
		return m.MaybeTypeName
	}
	return ""
}

func (m *ResourceHandleProto) GetDtypesAndShapes() []*ResourceHandleProto_DtypeAndShape {
	if m != nil {
		return m.DtypesAndShapes
	}
	return nil
}

type ResourceHandleProto_DtypeAndShape struct {
	Dtype                types_go_proto.DataType                 `protobuf:"varint,1,opt,name=dtype,proto3,enum=tensorflow.DataType" json:"dtype,omitempty"`
	Shape                *tensor_shape_go_proto.TensorShapeProto `protobuf:"bytes,2,opt,name=shape,proto3" json:"shape,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                `json:"-"`
	XXX_unrecognized     []byte                                  `json:"-"`
	XXX_sizecache        int32                                   `json:"-"`
}

func (m *ResourceHandleProto_DtypeAndShape) Reset()         { *m = ResourceHandleProto_DtypeAndShape{} }
func (m *ResourceHandleProto_DtypeAndShape) String() string { return proto.CompactTextString(m) }
func (*ResourceHandleProto_DtypeAndShape) ProtoMessage()    {}
func (*ResourceHandleProto_DtypeAndShape) Descriptor() ([]byte, []int) {
	return fileDescriptor_a36024d2bd9a2afd, []int{0, 0}
}

func (m *ResourceHandleProto_DtypeAndShape) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResourceHandleProto_DtypeAndShape.Unmarshal(m, b)
}
func (m *ResourceHandleProto_DtypeAndShape) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResourceHandleProto_DtypeAndShape.Marshal(b, m, deterministic)
}
func (m *ResourceHandleProto_DtypeAndShape) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResourceHandleProto_DtypeAndShape.Merge(m, src)
}
func (m *ResourceHandleProto_DtypeAndShape) XXX_Size() int {
	return xxx_messageInfo_ResourceHandleProto_DtypeAndShape.Size(m)
}
func (m *ResourceHandleProto_DtypeAndShape) XXX_DiscardUnknown() {
	xxx_messageInfo_ResourceHandleProto_DtypeAndShape.DiscardUnknown(m)
}

var xxx_messageInfo_ResourceHandleProto_DtypeAndShape proto.InternalMessageInfo

func (m *ResourceHandleProto_DtypeAndShape) GetDtype() types_go_proto.DataType {
	if m != nil {
		return m.Dtype
	}
	return types_go_proto.DataType_DT_INVALID
}

func (m *ResourceHandleProto_DtypeAndShape) GetShape() *tensor_shape_go_proto.TensorShapeProto {
	if m != nil {
		return m.Shape
	}
	return nil
}

func init() {
	proto.RegisterType((*ResourceHandleProto)(nil), "tensorflow.ResourceHandleProto")
	proto.RegisterType((*ResourceHandleProto_DtypeAndShape)(nil), "tensorflow.ResourceHandleProto.DtypeAndShape")
}

func init() {
	proto.RegisterFile("tensorflow/core/framework/resource_handle.proto", fileDescriptor_a36024d2bd9a2afd)
}

var fileDescriptor_a36024d2bd9a2afd = []byte{

	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x52, 0xd1, 0x4e, 0xea, 0x40,
	0x10, 0x4d, 0xa1, 0x70, 0x61, 0x09, 0x70, 0xef, 0xde, 0x9b, 0x9b, 0x06, 0x79, 0x20, 0x26, 0x1a,
	0x62, 0xb4, 0x4d, 0xea, 0x17, 0x88, 0x3c, 0x18, 0x1f, 0x8c, 0xa9, 0xc4, 0x44, 0x5f, 0x36, 0x4b,
	0x3b, 0xb4, 0x44, 0xda, 0x69, 0x76, 0x8b, 0x84, 0x2f, 0xf0, 0x8f, 0x8d, 0x8f, 0xa6, 0x53, 0x94,
	0x6a, 0x50, 0xdf, 0x66, 0x67, 0xce, 0x39, 0x73, 0xce, 0xee, 0x32, 0x27, 0x83, 0x44, 0xa3, 0x9a,
	0x2d, 0x70, 0xe5, 0xf8, 0xa8, 0xc0, 0x99, 0x29, 0x19, 0xc3, 0x0a, 0xd5, 0x83, 0xa3, 0x40, 0xe3,
	0x52, 0xf9, 0x20, 0x22, 0x99, 0x04, 0x0b, 0xb0, 0x53, 0x85, 0x19, 0x72, 0xb6, 0x25, 0xf4, 0x8e,
	0xbf, 0x26, 0x17, 0x13, 0xa1, 0x23, 0x99, 0x6e, 0x98, 0xbd, 0x83, 0x6f, 0xd0, 0xeb, 0x14, 0x74,
	0x01, 0xdb, 0x7f, 0xae, 0xb0, 0xbf, 0xde, 0x66, 0xf5, 0x05, 0x6d, 0xbe, 0xa6, 0xc5, 0xff, 0x59,
	0x3d, 0x80, 0xc7, 0xb9, 0x0f, 0x96, 0x31, 0x30, 0x86, 0x4d, 0x6f, 0x73, 0xe2, 0x7d, 0xd6, 0xf4,
	0x31, 0xc9, 0xe4, 0x3c, 0x01, 0x65, 0x55, 0x68, 0xb4, 0x6d, 0x70, 0xce, 0xcc, 0x44, 0xc6, 0x60,
	0x55, 0x69, 0x40, 0x35, 0xdf, 0x63, 0xcd, 0x48, 0xea, 0x48, 0xf8, 0x18, 0x80, 0x65, 0x0e, 0x8c,
	0xa1, 0xe9, 0x35, 0xf2, 0xc6, 0x39, 0x06, 0xc0, 0x0f, 0x59, 0x37, 0x96, 0xeb, 0x29, 0x88, 0xdc,
	0x93, 0x20, 0x6e, 0x8d, 0xb8, 0x6d, 0x6a, 0x4f, 0xd6, 0x29, 0x5c, 0xe5, 0x22, 0x77, 0xec, 0x4f,
	0x40, 0xb6, 0x85, 0x4c, 0x82, 0x22, 0xa7, 0xb6, 0xea, 0x83, 0xea, 0xb0, 0xe5, 0x9e, 0xd8, 0xdb,
	0xa4, 0xf6, 0x8e, 0x28, 0xf6, 0x38, 0x27, 0x9e, 0x25, 0xc1, 0x4d, 0xce, 0xf2, 0xba, 0x85, 0xce,
	0xdb, 0x59, 0xf7, 0x90, 0xb5, 0x3f, 0x20, 0xf8, 0x11, 0xab, 0x11, 0x86, 0x92, 0x77, 0xdc, 0x7f,
	0x65, 0xfd, 0xb1, 0xcc, 0x64, 0x6e, 0xca, 0x2b, 0x20, 0xdc, 0x65, 0x35, 0x32, 0x43, 0x57, 0xd1,
	0x72, 0xfb, 0x65, 0xec, 0x84, 0x4a, 0xd2, 0x24, 0x23, 0x5e, 0x01, 0xbd, 0x34, 0x1b, 0xbf, 0x7e,
	0x37, 0x46, 0x4f, 0x06, 0xb3, 0x50, 0x85, 0x65, 0xc2, 0xfb, 0x0b, 0x8d, 0x3a, 0x9f, 0x72, 0x18,
	0xf7, 0xb7, 0xe1, 0x3c, 0x8b, 0x96, 0x53, 0xdb, 0xc7, 0xb8, 0xfc, 0x89, 0x76, 0x97, 0x21, 0xfe,
	0xf0, 0xbb, 0x44, 0x88, 0x82, 0xde, 0xff, 0xc5, 0x30, 0xa6, 0x75, 0xaa, 0x4e, 0x5f, 0x03, 0x00,
	0x00, 0xff, 0xff, 0x67, 0xfd, 0xc6, 0xa7, 0x9d, 0x02, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: tensorflow/core/framework/resource_handle.proto

package resource_handle_go_proto

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	tensor_shape_go_proto "github.com/tensorflow/tensorflow/tensorflow/go/core/framework/tensor_shape_go_proto"
	types_go_proto "github.com/tensorflow/tensorflow/tensorflow/go/core/framework/types_go_proto"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Protocol buffer representing a handle to a tensorflow resource. Handles are
// not valid across executions, but can be serialized back and forth from within
// a single run.
type ResourceHandleProto struct {
	// Unique name for the device containing the resource.
	Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
	// Container in which this resource is placed.
	Container string `protobuf:"bytes,2,opt,name=container,proto3" json:"container,omitempty"`
	// Unique name of this resource.
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// Hash code for the type of the resource. Is only valid in the same device
	// and in the same execution.
	HashCode uint64 `protobuf:"varint,4,opt,name=hash_code,json=hashCode,proto3" json:"hash_code,omitempty"`
	// For debug-only, the name of the type pointed to by this handle, if
	// available.
	MaybeTypeName string `protobuf:"bytes,5,opt,name=maybe_type_name,json=maybeTypeName,proto3" json:"maybe_type_name,omitempty"`
	// Data types and shapes for the underlying resource.
	DtypesAndShapes      []*ResourceHandleProto_DtypeAndShape `protobuf:"bytes,6,rep,name=dtypes_and_shapes,json=dtypesAndShapes,proto3" json:"dtypes_and_shapes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
	XXX_unrecognized     []byte                               `json:"-"`
	XXX_sizecache        int32                                `json:"-"`
}

func (m *ResourceHandleProto) Reset()         { *m = ResourceHandleProto{} }
func (m *ResourceHandleProto) String() string { return proto.CompactTextString(m) }
func (*ResourceHandleProto) ProtoMessage()    {}
func (*ResourceHandleProto) Descriptor() ([]byte, []int) {
	return fileDescriptor_a36024d2bd9a2afd, []int{0}
}

func (m *ResourceHandleProto) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResourceHandleProto.Unmarshal(m, b)
}
func (m *ResourceHandleProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResourceHandleProto.Marshal(b, m, deterministic)
}
func (m *ResourceHandleProto) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResourceHandleProto.Merge(m, src)
}
func (m *ResourceHandleProto) XXX_Size() int {
	return xxx_messageInfo_ResourceHandleProto.Size(m)
}
func (m *ResourceHandleProto) XXX_DiscardUnknown() {
	xxx_messageInfo_ResourceHandleProto.DiscardUnknown(m)
}

var xxx_messageInfo_ResourceHandleProto proto.InternalMessageInfo

func (m *ResourceHandleProto) GetDevice() string {
	if m != nil {
		return m.Device
	}
	return ""
}

func (m *ResourceHandleProto) GetContainer() string {
	if m != nil {
		return m.Container
	}
	return ""
}

func (m *ResourceHandleProto) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *ResourceHandleProto) GetHashCode() uint64 {
	if m != nil {
		return m.HashCode
	}
	return 0
}

func (m *ResourceHandleProto) GetMaybeTypeName() string {
	if m != nil {
		return m.MaybeTypeName
	}
	return ""
}

func (m *ResourceHandleProto) GetDtypesAndShapes() []*ResourceHandleProto_DtypeAndShape {
	if m != nil {
		return m.DtypesAndShapes
	}
	return nil
}

// Protocol buffer representing a pair of (data type, tensor shape).
type ResourceHandleProto_DtypeAndShape struct {
	Dtype                types_go_proto.DataType                 `protobuf:"varint,1,opt,name=dtype,proto3,enum=tensorflow.DataType" json:"dtype,omitempty"`
	Shape                *tensor_shape_go_proto.TensorShapeProto `protobuf:"bytes,2,opt,name=shape,proto3" json:"shape,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                `json:"-"`
	XXX_unrecognized     []byte                                  `json:"-"`
	XXX_sizecache        int32                                   `json:"-"`
}

func (m *ResourceHandleProto_DtypeAndShape) Reset()         { *m = ResourceHandleProto_DtypeAndShape{} }
func (m *ResourceHandleProto_DtypeAndShape) String() string { return proto.CompactTextString(m) }
func (*ResourceHandleProto_DtypeAndShape) ProtoMessage()    {}
func (*ResourceHandleProto_DtypeAndShape) Descriptor() ([]byte, []int) {
	return fileDescriptor_a36024d2bd9a2afd, []int{0, 0}
}

func (m *ResourceHandleProto_DtypeAndShape) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResourceHandleProto_DtypeAndShape.Unmarshal(m, b)
}
func (m *ResourceHandleProto_DtypeAndShape) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResourceHandleProto_DtypeAndShape.Marshal(b, m, deterministic)
}
func (m *ResourceHandleProto_DtypeAndShape) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResourceHandleProto_DtypeAndShape.Merge(m, src)
}
func (m *ResourceHandleProto_DtypeAndShape) XXX_Size() int {
	return xxx_messageInfo_ResourceHandleProto_DtypeAndShape.Size(m)
}
func (m *ResourceHandleProto_DtypeAndShape) XXX_DiscardUnknown() {
	xxx_messageInfo_ResourceHandleProto_DtypeAndShape.DiscardUnknown(m)
}

var xxx_messageInfo_ResourceHandleProto_DtypeAndShape proto.InternalMessageInfo

func (m *ResourceHandleProto_DtypeAndShape) GetDtype() types_go_proto.DataType {
	if m != nil {
		return m.Dtype
	}
	return types_go_proto.DataType_DT_INVALID
}

func (m *ResourceHandleProto_DtypeAndShape) GetShape() *tensor_shape_go_proto.TensorShapeProto {
	if m != nil {
		return m.Shape
	}
	return nil
}

func init() {
	proto.RegisterType((*ResourceHandleProto)(nil), "tensorflow.ResourceHandleProto")
	proto.RegisterType((*ResourceHandleProto_DtypeAndShape)(nil), "tensorflow.ResourceHandleProto.DtypeAndShape")
}

func init() {
	proto.RegisterFile("tensorflow/core/framework/resource_handle.proto", fileDescriptor_a36024d2bd9a2afd)
}

var fileDescriptor_a36024d2bd9a2afd = []byte{
	// 363 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x52, 0xd1, 0x4e, 0xea, 0x40,
	0x10, 0x4d, 0xa1, 0x70, 0x61, 0x09, 0x70, 0xef, 0xde, 0x9b, 0x9b, 0x06, 0x79, 0x20, 0x26, 0x1a,
	0x62, 0xb4, 0x4d, 0xea, 0x17, 0x88, 0x3c, 0x18, 0x1f, 0x8c, 0xa9, 0xc4, 0x44, 0x5f, 0x36, 0x4b,
	0x3b, 0xb4, 0x44, 0xda, 0x69, 0x76, 0x8b, 0x84, 0x2f, 0xf0, 0x8f, 0x8d, 0x8f, 0xa6, 0x53, 0x94,
	0x6a, 0x50, 0xdf, 0x66, 0x67, 0xce, 0x39, 0x73, 0xce, 0xee, 0x32, 0x27, 0x83, 0x44, 0xa3, 0x9a,
	0x2d, 0x70, 0xe5, 0xf8, 0xa8, 0xc0, 0x99, 0x29, 0x19, 0xc3, 0x0a, 0xd5, 0x83, 0xa3, 0x40, 0xe3,
	0x52, 0xf9, 0x20, 0x22, 0x99, 0x04, 0x0b, 0xb0, 0x53, 0x85, 0x19, 0x72, 0xb6, 0x25, 0xf4, 0x8e,
	0xbf, 0x26, 0x17, 0x13, 0xa1, 0x23, 0x99, 0x6e, 0x98, 0xbd, 0x83, 0x6f, 0xd0, 0xeb, 0x14, 0x74,
	0x01, 0xdb, 0x7f, 0xae, 0xb0, 0xbf, 0xde, 0x66, 0xf5, 0x05, 0x6d, 0xbe, 0xa6, 0xc5, 0xff, 0x59,
	0x3d, 0x80, 0xc7, 0xb9, 0x0f, 0x96, 0x31, 0x30, 0x86, 0x4d, 0x6f, 0x73, 0xe2, 0x7d, 0xd6, 0xf4,
	0x31, 0xc9, 0xe4, 0x3c, 0x01, 0x65, 0x55, 0x68, 0xb4, 0x6d, 0x70, 0xce, 0xcc, 0x44, 0xc6, 0x60,
	0x55, 0x69, 0x40, 0x35, 0xdf, 0x63, 0xcd, 0x48, 0xea, 0x48, 0xf8, 0x18, 0x80, 0x65, 0x0e, 0x8c,
	0xa1, 0xe9, 0x35, 0xf2, 0xc6, 0x39, 0x06, 0xc0, 0x0f, 0x59, 0x37, 0x96, 0xeb, 0x29, 0x88, 0xdc,
	0x93, 0x20, 0x6e, 0x8d, 0xb8, 0x6d, 0x6a, 0x4f, 0xd6, 0x29, 0x5c, 0xe5, 0x22, 0x77, 0xec, 0x4f,
	0x40, 0xb6, 0x85, 0x4c, 0x82, 0x22, 0xa7, 0xb6, 0xea, 0x83, 0xea, 0xb0, 0xe5, 0x9e, 0xd8, 0xdb,
	0xa4, 0xf6, 0x8e, 0x28, 0xf6, 0x38, 0x27, 0x9e, 0x25, 0xc1, 0x4d, 0xce, 0xf2, 0xba, 0x85, 0xce,
	0xdb, 0x59, 0xf7, 0x90, 0xb5, 0x3f, 0x20, 0xf8, 0x11, 0xab, 0x11, 0x86, 0x92, 0x77, 0xdc, 0x7f,
	0x65, 0xfd, 0xb1, 0xcc, 0x64, 0x6e, 0xca, 0x2b, 0x20, 0xdc, 0x65, 0x35, 0x32, 0x43, 0x57, 0xd1,
	0x72, 0xfb, 0x65, 0xec, 0x84, 0x4a, 0xd2, 0x24, 0x23, 0x5e, 0x01, 0xbd, 0x34, 0x1b, 0xbf, 0x7e,
	0x37, 0x46, 0x4f, 0x06, 0xb3, 0x50, 0x85, 0x65, 0xc2, 0xfb, 0x0b, 0x8d, 0x3a, 0x9f, 0x72, 0x18,
	0xf7, 0xb7, 0xe1, 0x3c, 0x8b, 0x96, 0x53, 0xdb, 0xc7, 0xb8, 0xfc, 0x89, 0x76, 0x97, 0x21, 0xfe,
	0xf0, 0xbb, 0x44, 0x88, 0x82, 0xde, 0xff, 0xc5, 0x30, 0xa6, 0x75, 0xaa, 0x4e, 0x5f, 0x03, 0x00,
	0x00, 0xff, 0xff, 0x67, 0xfd, 0xc6, 0xa7, 0x9d, 0x02, 0x00, 0x00,
}
