// Code generated by protoc-gen-go. DO NOT EDIT.
// source: stress/grpc_testing/metrics.proto

package grpc_testing

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/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

// Response message containing the gauge name and value
type GaugeResponse struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Types that are valid to be assigned to Value:
	//	*GaugeResponse_LongValue
	//	*GaugeResponse_DoubleValue
	//	*GaugeResponse_StringValue
	Value                isGaugeResponse_Value `protobuf_oneof:"value"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

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

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

var xxx_messageInfo_GaugeResponse proto.InternalMessageInfo

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

type isGaugeResponse_Value interface {
	isGaugeResponse_Value()
}

type GaugeResponse_LongValue struct {
	LongValue int64 `protobuf:"varint,2,opt,name=long_value,json=longValue,proto3,oneof"`
}

type GaugeResponse_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,3,opt,name=double_value,json=doubleValue,proto3,oneof"`
}

type GaugeResponse_StringValue struct {
	StringValue string `protobuf:"bytes,4,opt,name=string_value,json=stringValue,proto3,oneof"`
}

func (*GaugeResponse_LongValue) isGaugeResponse_Value() {}

func (*GaugeResponse_DoubleValue) isGaugeResponse_Value() {}

func (*GaugeResponse_StringValue) isGaugeResponse_Value() {}

func (m *GaugeResponse) GetValue() isGaugeResponse_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *GaugeResponse) GetLongValue() int64 {
	if x, ok := m.GetValue().(*GaugeResponse_LongValue); ok {
		return x.LongValue
	}
	return 0
}

func (m *GaugeResponse) GetDoubleValue() float64 {
	if x, ok := m.GetValue().(*GaugeResponse_DoubleValue); ok {
		return x.DoubleValue
	}
	return 0
}

func (m *GaugeResponse) GetStringValue() string {
	if x, ok := m.GetValue().(*GaugeResponse_StringValue); ok {
		return x.StringValue
	}
	return ""
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*GaugeResponse) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*GaugeResponse_LongValue)(nil),
		(*GaugeResponse_DoubleValue)(nil),
		(*GaugeResponse_StringValue)(nil),
	}
}

// Request message containing the gauge name
type GaugeRequest struct {
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GaugeRequest) Reset()         { *m = GaugeRequest{} }
func (m *GaugeRequest) String() string { return proto.CompactTextString(m) }
func (*GaugeRequest) ProtoMessage()    {}
func (*GaugeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_028251bc41da09ab, []int{1}
}

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

var xxx_messageInfo_GaugeRequest proto.InternalMessageInfo

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

type EmptyMessage struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EmptyMessage) Reset()         { *m = EmptyMessage{} }
func (m *EmptyMessage) String() string { return proto.CompactTextString(m) }
func (*EmptyMessage) ProtoMessage()    {}
func (*EmptyMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_028251bc41da09ab, []int{2}
}

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

var xxx_messageInfo_EmptyMessage proto.InternalMessageInfo

func init() {
	proto.RegisterType((*GaugeResponse)(nil), "grpc.testing.GaugeResponse")
	proto.RegisterType((*GaugeRequest)(nil), "grpc.testing.GaugeRequest")
	proto.RegisterType((*EmptyMessage)(nil), "grpc.testing.EmptyMessage")
}

func init() { proto.RegisterFile("stress/grpc_testing/metrics.proto", fileDescriptor_028251bc41da09ab) }

var fileDescriptor_028251bc41da09ab = []byte{
	// 288 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0x3f, 0x4f, 0xc3, 0x30,
	0x10, 0xc5, 0x6b, 0x5a, 0xfe, 0xf4, 0x08, 0x1d, 0x3c, 0x55, 0x65, 0x20, 0x84, 0x25, 0x42, 0xc8,
	0x41, 0xf0, 0x09, 0x28, 0x42, 0x29, 0x43, 0x97, 0x20, 0x31, 0xb0, 0x54, 0x69, 0x38, 0x59, 0x91,
	0x9c, 0x38, 0xf8, 0x9c, 0x4a, 0x7c, 0x12, 0x56, 0x3e, 0x2a, 0x8a, 0x13, 0x55, 0x29, 0xaa, 0xba,
	0x59, 0xbf, 0xf7, 0xfc, 0x7c, 0xe7, 0x07, 0xd7, 0x64, 0x0d, 0x12, 0x45, 0xd2, 0x54, 0xd9, 0xca,
	0x22, 0xd9, 0xbc, 0x94, 0x51, 0x81, 0xd6, 0xe4, 0x19, 0x89, 0xca, 0x68, 0xab, 0xb9, 0xd7, 0x68,
	0xa2, 0xd3, 0x82, 0x1f, 0x06, 0x17, 0x71, 0x5a, 0x4b, 0x4c, 0x90, 0x2a, 0x5d, 0x12, 0x72, 0x0e,
	0xa3, 0x32, 0x2d, 0x70, 0xca, 0x7c, 0x16, 0x8e, 0x13, 0x77, 0xe6, 0x57, 0x00, 0x4a, 0x97, 0x72,
	0xb5, 0x49, 0x55, 0x8d, 0xd3, 0x23, 0x9f, 0x85, 0xc3, 0xc5, 0x20, 0x19, 0x37, 0xec, 0xbd, 0x41,
	0xfc, 0x06, 0xbc, 0x4f, 0x5d, 0xaf, 0x15, 0x76, 0x96, 0xa1, 0xcf, 0x42, 0xb6, 0x18, 0x24, 0xe7,
	0x2d, 0xdd, 0x9a, 0xc8, 0x9a, 0x7c, 0x9b, 0x33, 0x6a, 0x5e, 0x68, 0x4c, 0x2d, 0x75, 0xa6, 0xf9,
	0x29, 0x1c, 0x3b, 0x35, 0x08, 0xc0, 0xeb, 0x06, 0xfb, 0xaa, 0x91, 0xec, 0xbe, 0xb9, 0x82, 0x09,
	0x78, 0x2f, 0x45, 0x65, 0xbf, 0x97, 0x48, 0x94, 0x4a, 0x7c, 0xf8, 0x65, 0x30, 0x59, 0xb6, 0xdb,
	0xbe, 0xa1, 0xd9, 0xe4, 0x19, 0xf2, 0x57, 0xf0, 0x62, 0xb4, 0x4f, 0x4a, 0xb9, 0x30, 0xe2, 0x33,
	0xd1, 0xdf, 0x5f, 0xf4, 0xaf, 0xcf, 0x2e, 0x77, 0xb5, 0x9d, 0x7f, 0xb9, 0x67, 0xfc, 0x19, 0xce,
	0x62, 0xb4, 0x8e, 0xfe, 0x8f, 0xe9, 0x4f, 0x7a, 0x30, 0x66, 0x7e, 0xf7, 0x71, 0x2b, 0xb5, 0x96,
	0x0a, 0x85, 0xd4, 0x2a, 0x2d, 0xa5, 0xd0, 0x46, 0xba, 0xba, 0xa2, 0x3d, 0xd5, 0xad, 0x4f, 0x5c,
	0x67, 0x8f, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x8c, 0x62, 0x73, 0xd8, 0x01, 0x00, 0x00,
}
