// Code generated by protoc-gen-go. DO NOT EDIT.
// source: as/as.proto

package as

import (
	context "context"
	fmt "fmt"
	common "github.com/brocaar/chirpstack-api/go/v3/common"
	gw "github.com/brocaar/chirpstack-api/go/v3/gw"
	proto "github.com/golang/protobuf/proto"
	empty "github.com/golang/protobuf/ptypes/empty"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	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

type RXWindow int32

const (
	RXWindow_RX1 RXWindow = 0
	RXWindow_RX2 RXWindow = 1
)

var RXWindow_name = map[int32]string{
	0: "RX1",
	1: "RX2",
}

var RXWindow_value = map[string]int32{
	"RX1": 0,
	"RX2": 1,
}

func (x RXWindow) String() string {
	return proto.EnumName(RXWindow_name, int32(x))
}

func (RXWindow) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{0}
}

type ErrorType int32

const (
	// Generic error type.
	ErrorType_GENERIC ErrorType = 0
	// OTAA error.
	ErrorType_OTAA ErrorType = 1
	// Uplink frame-counter was reset.
	ErrorType_DATA_UP_FCNT_RESET ErrorType = 2
	// Uplink MIC error.
	ErrorType_DATA_UP_MIC ErrorType = 3
	// Downlink payload size error.
	ErrorType_DEVICE_QUEUE_ITEM_SIZE ErrorType = 4
	// Downlink frame-counter error.
	ErrorType_DEVICE_QUEUE_ITEM_FCNT ErrorType = 5
	// Uplink frame-counter retransmission.
	ErrorType_DATA_UP_FCNT_RETRANSMISSION ErrorType = 6
	// Downlink gateway error.
	ErrorType_DATA_DOWN_GATEWAY ErrorType = 7
)

var ErrorType_name = map[int32]string{
	0: "GENERIC",
	1: "OTAA",
	2: "DATA_UP_FCNT_RESET",
	3: "DATA_UP_MIC",
	4: "DEVICE_QUEUE_ITEM_SIZE",
	5: "DEVICE_QUEUE_ITEM_FCNT",
	6: "DATA_UP_FCNT_RETRANSMISSION",
	7: "DATA_DOWN_GATEWAY",
}

var ErrorType_value = map[string]int32{
	"GENERIC":                     0,
	"OTAA":                        1,
	"DATA_UP_FCNT_RESET":          2,
	"DATA_UP_MIC":                 3,
	"DEVICE_QUEUE_ITEM_SIZE":      4,
	"DEVICE_QUEUE_ITEM_FCNT":      5,
	"DATA_UP_FCNT_RETRANSMISSION": 6,
	"DATA_DOWN_GATEWAY":           7,
}

func (x ErrorType) String() string {
	return proto.EnumName(ErrorType_name, int32(x))
}

func (ErrorType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{1}
}

type DeviceActivationContext struct {
	// Assigned Device Address.
	DevAddr []byte `protobuf:"bytes,1,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
	// Application session key (envelope).
	AppSKey              *common.KeyEnvelope `protobuf:"bytes,2,opt,name=app_s_key,json=appSKey,proto3" json:"app_s_key,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

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

var xxx_messageInfo_DeviceActivationContext proto.InternalMessageInfo

func (m *DeviceActivationContext) GetDevAddr() []byte {
	if m != nil {
		return m.DevAddr
	}
	return nil
}

func (m *DeviceActivationContext) GetAppSKey() *common.KeyEnvelope {
	if m != nil {
		return m.AppSKey
	}
	return nil
}

type HandleUplinkDataRequest struct {
	// DevEUI EUI (8 bytes).
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Join EUI used for OTAA activation (8 bytes).
	JoinEui []byte `protobuf:"bytes,2,opt,name=join_eui,json=joinEui,proto3" json:"join_eui,omitempty"`
	// Frame-counter.
	FCnt uint32 `protobuf:"varint,3,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
	// Frame port.
	FPort uint32 `protobuf:"varint,4,opt,name=f_port,json=fPort,proto3" json:"f_port,omitempty"`
	// ADR enabled.
	Adr bool `protobuf:"varint,5,opt,name=adr,proto3" json:"adr,omitempty"`
	// Data-rate.
	Dr uint32 `protobuf:"varint,6,opt,name=dr,proto3" json:"dr,omitempty"`
	// TX meta-data.
	TxInfo *gw.UplinkTXInfo `protobuf:"bytes,7,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"`
	// RX meta-data.
	RxInfo []*gw.UplinkRXInfo `protobuf:"bytes,8,rep,name=rx_info,json=rxInfo,proto3" json:"rx_info,omitempty"`
	// Received data (encrypted).
	Data []byte `protobuf:"bytes,9,opt,name=data,proto3" json:"data,omitempty"`
	// Device activation context.
	//
	// This field is only set on the first uplink frame when the security
	// context has changed (e.g. a new OTAA (re)activation).
	DeviceActivationContext *DeviceActivationContext `protobuf:"bytes,10,opt,name=device_activation_context,json=deviceActivationContext,proto3" json:"device_activation_context,omitempty"`
	// Uplink was of type confirmed.
	ConfirmedUplink      bool     `protobuf:"varint,11,opt,name=confirmed_uplink,json=confirmedUplink,proto3" json:"confirmed_uplink,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_HandleUplinkDataRequest proto.InternalMessageInfo

func (m *HandleUplinkDataRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *HandleUplinkDataRequest) GetJoinEui() []byte {
	if m != nil {
		return m.JoinEui
	}
	return nil
}

func (m *HandleUplinkDataRequest) GetFCnt() uint32 {
	if m != nil {
		return m.FCnt
	}
	return 0
}

func (m *HandleUplinkDataRequest) GetFPort() uint32 {
	if m != nil {
		return m.FPort
	}
	return 0
}

func (m *HandleUplinkDataRequest) GetAdr() bool {
	if m != nil {
		return m.Adr
	}
	return false
}

func (m *HandleUplinkDataRequest) GetDr() uint32 {
	if m != nil {
		return m.Dr
	}
	return 0
}

func (m *HandleUplinkDataRequest) GetTxInfo() *gw.UplinkTXInfo {
	if m != nil {
		return m.TxInfo
	}
	return nil
}

func (m *HandleUplinkDataRequest) GetRxInfo() []*gw.UplinkRXInfo {
	if m != nil {
		return m.RxInfo
	}
	return nil
}

func (m *HandleUplinkDataRequest) GetData() []byte {
	if m != nil {
		return m.Data
	}
	return nil
}

func (m *HandleUplinkDataRequest) GetDeviceActivationContext() *DeviceActivationContext {
	if m != nil {
		return m.DeviceActivationContext
	}
	return nil
}

func (m *HandleUplinkDataRequest) GetConfirmedUplink() bool {
	if m != nil {
		return m.ConfirmedUplink
	}
	return false
}

type HandleProprietaryUplinkRequest struct {
	// MACPayload of the proprietary LoRaWAN frame.
	MacPayload []byte `protobuf:"bytes,1,opt,name=mac_payload,json=macPayload,proto3" json:"mac_payload,omitempty"`
	// MIC of the proprietary LoRaWAN frame.
	Mic []byte `protobuf:"bytes,2,opt,name=mic,proto3" json:"mic,omitempty"`
	// TXInfo contains the TX related meta-data.
	TxInfo *gw.UplinkTXInfo `protobuf:"bytes,3,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"`
	// RXInfo contains the RX related meta-data.
	RxInfo               []*gw.UplinkRXInfo `protobuf:"bytes,4,rep,name=rx_info,json=rxInfo,proto3" json:"rx_info,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

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

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

var xxx_messageInfo_HandleProprietaryUplinkRequest proto.InternalMessageInfo

func (m *HandleProprietaryUplinkRequest) GetMacPayload() []byte {
	if m != nil {
		return m.MacPayload
	}
	return nil
}

func (m *HandleProprietaryUplinkRequest) GetMic() []byte {
	if m != nil {
		return m.Mic
	}
	return nil
}

func (m *HandleProprietaryUplinkRequest) GetTxInfo() *gw.UplinkTXInfo {
	if m != nil {
		return m.TxInfo
	}
	return nil
}

func (m *HandleProprietaryUplinkRequest) GetRxInfo() []*gw.UplinkRXInfo {
	if m != nil {
		return m.RxInfo
	}
	return nil
}

type HandleErrorRequest struct {
	// Device EUI (8 bytes).
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Type of the error.
	Type ErrorType `protobuf:"varint,3,opt,name=type,proto3,enum=as.ErrorType" json:"type,omitempty"`
	// Error string describing the error.
	Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
	// Frame-counter (if applicable) related to the error.
	FCnt                 uint32   `protobuf:"varint,5,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *HandleErrorRequest) Reset()         { *m = HandleErrorRequest{} }
func (m *HandleErrorRequest) String() string { return proto.CompactTextString(m) }
func (*HandleErrorRequest) ProtoMessage()    {}
func (*HandleErrorRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{3}
}

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

var xxx_messageInfo_HandleErrorRequest proto.InternalMessageInfo

func (m *HandleErrorRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *HandleErrorRequest) GetType() ErrorType {
	if m != nil {
		return m.Type
	}
	return ErrorType_GENERIC
}

func (m *HandleErrorRequest) GetError() string {
	if m != nil {
		return m.Error
	}
	return ""
}

func (m *HandleErrorRequest) GetFCnt() uint32 {
	if m != nil {
		return m.FCnt
	}
	return 0
}

type HandleDownlinkACKRequest struct {
	// Device EUI (8 bytes).
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Downlink frame-counter.
	FCnt uint32 `protobuf:"varint,2,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
	// Frame was acknowledged?
	Acknowledged         bool     `protobuf:"varint,3,opt,name=acknowledged,proto3" json:"acknowledged,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *HandleDownlinkACKRequest) Reset()         { *m = HandleDownlinkACKRequest{} }
func (m *HandleDownlinkACKRequest) String() string { return proto.CompactTextString(m) }
func (*HandleDownlinkACKRequest) ProtoMessage()    {}
func (*HandleDownlinkACKRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{4}
}

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

var xxx_messageInfo_HandleDownlinkACKRequest proto.InternalMessageInfo

func (m *HandleDownlinkACKRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *HandleDownlinkACKRequest) GetFCnt() uint32 {
	if m != nil {
		return m.FCnt
	}
	return 0
}

func (m *HandleDownlinkACKRequest) GetAcknowledged() bool {
	if m != nil {
		return m.Acknowledged
	}
	return false
}

type SetDeviceStatusRequest struct {
	// Device EUI (8 bytes).
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Battery level (deprecated, use battery_level).
	// 0:      The end-device is connected to an external power source
	// 1..254: The battery level, 1 being at minimum and 254 being at maximum
	// 255:    The end-device was not able to measure the battery level
	Battery uint32 `protobuf:"varint,2,opt,name=battery,proto3" json:"battery,omitempty"`
	// The device margin status
	// -32..32: The demodulation SNR ration in dB
	Margin int32 `protobuf:"varint,3,opt,name=margin,proto3" json:"margin,omitempty"`
	// Device is connected to an external power source.
	ExternalPowerSource bool `protobuf:"varint,4,opt,name=external_power_source,json=externalPowerSource,proto3" json:"external_power_source,omitempty"`
	// Device battery status is not available.
	BatteryLevelUnavailable bool `protobuf:"varint,5,opt,name=battery_level_unavailable,json=batteryLevelUnavailable,proto3" json:"battery_level_unavailable,omitempty"`
	// Battery level as a percentage.
	BatteryLevel         float32  `protobuf:"fixed32,6,opt,name=battery_level,json=batteryLevel,proto3" json:"battery_level,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SetDeviceStatusRequest) Reset()         { *m = SetDeviceStatusRequest{} }
func (m *SetDeviceStatusRequest) String() string { return proto.CompactTextString(m) }
func (*SetDeviceStatusRequest) ProtoMessage()    {}
func (*SetDeviceStatusRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{5}
}

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

var xxx_messageInfo_SetDeviceStatusRequest proto.InternalMessageInfo

func (m *SetDeviceStatusRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *SetDeviceStatusRequest) GetBattery() uint32 {
	if m != nil {
		return m.Battery
	}
	return 0
}

func (m *SetDeviceStatusRequest) GetMargin() int32 {
	if m != nil {
		return m.Margin
	}
	return 0
}

func (m *SetDeviceStatusRequest) GetExternalPowerSource() bool {
	if m != nil {
		return m.ExternalPowerSource
	}
	return false
}

func (m *SetDeviceStatusRequest) GetBatteryLevelUnavailable() bool {
	if m != nil {
		return m.BatteryLevelUnavailable
	}
	return false
}

func (m *SetDeviceStatusRequest) GetBatteryLevel() float32 {
	if m != nil {
		return m.BatteryLevel
	}
	return 0
}

type SetDeviceLocationRequest struct {
	// Device EUI (8 bytes).
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// The location of the device.
	Location *common.Location `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"`
	// Uplink IDs used for geolocation.
	UplinkIds            [][]byte `protobuf:"bytes,3,rep,name=uplink_ids,json=uplinkIds,proto3" json:"uplink_ids,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SetDeviceLocationRequest) Reset()         { *m = SetDeviceLocationRequest{} }
func (m *SetDeviceLocationRequest) String() string { return proto.CompactTextString(m) }
func (*SetDeviceLocationRequest) ProtoMessage()    {}
func (*SetDeviceLocationRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{6}
}

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

var xxx_messageInfo_SetDeviceLocationRequest proto.InternalMessageInfo

func (m *SetDeviceLocationRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *SetDeviceLocationRequest) GetLocation() *common.Location {
	if m != nil {
		return m.Location
	}
	return nil
}

func (m *SetDeviceLocationRequest) GetUplinkIds() [][]byte {
	if m != nil {
		return m.UplinkIds
	}
	return nil
}

type HandleGatewayStatsRequest struct {
	// Gateway ID (8 bytes).
	GatewayId []byte `protobuf:"bytes,1,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
	// Stats ID (UUID).
	StatsId []byte `protobuf:"bytes,2,opt,name=stats_id,json=statsId,proto3" json:"stats_id,omitempty"`
	// Timestamp.
	Time *timestamp.Timestamp `protobuf:"bytes,3,opt,name=time,proto3" json:"time,omitempty"`
	// Gateway location.
	Location *common.Location `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
	// Uplink frames received.
	RxPacketsReceived uint32 `protobuf:"varint,5,opt,name=rx_packets_received,json=rxPacketsReceived,proto3" json:"rx_packets_received,omitempty"`
	// Uplink frames received OK.
	RxPacketsReceivedOk uint32 `protobuf:"varint,6,opt,name=rx_packets_received_ok,json=rxPacketsReceivedOk,proto3" json:"rx_packets_received_ok,omitempty"`
	// Downlink transmissions requested.
	TxPacketsReceived uint32 `protobuf:"varint,7,opt,name=tx_packets_received,json=txPacketsReceived,proto3" json:"tx_packets_received,omitempty"`
	// Downlink emitted.
	TxPacketsEmitted uint32 `protobuf:"varint,8,opt,name=tx_packets_emitted,json=txPacketsEmitted,proto3" json:"tx_packets_emitted,omitempty"`
	// Gateway metadata.
	Metadata map[string]string `protobuf:"bytes,9,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Tx packets per frequency.
	TxPacketsPerFrequency map[uint32]uint32 `protobuf:"bytes,10,rep,name=tx_packets_per_frequency,json=txPacketsPerFrequency,proto3" json:"tx_packets_per_frequency,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
	// Rx packets per frequency.
	RxPacketsPerFrequency map[uint32]uint32 `protobuf:"bytes,11,rep,name=rx_packets_per_frequency,json=rxPacketsPerFrequency,proto3" json:"rx_packets_per_frequency,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
	// Tx packets per DR.
	TxPacketsPerDr map[uint32]uint32 `protobuf:"bytes,12,rep,name=tx_packets_per_dr,json=txPacketsPerDr,proto3" json:"tx_packets_per_dr,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
	// Rx packets per DR.
	RxPacketsPerDr map[uint32]uint32 `protobuf:"bytes,13,rep,name=rx_packets_per_dr,json=rxPacketsPerDr,proto3" json:"rx_packets_per_dr,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
	// Tx packets per status.
	TxPacketsPerStatus   map[string]uint32 `protobuf:"bytes,14,rep,name=tx_packets_per_status,json=txPacketsPerStatus,proto3" json:"tx_packets_per_status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *HandleGatewayStatsRequest) Reset()         { *m = HandleGatewayStatsRequest{} }
func (m *HandleGatewayStatsRequest) String() string { return proto.CompactTextString(m) }
func (*HandleGatewayStatsRequest) ProtoMessage()    {}
func (*HandleGatewayStatsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{7}
}

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

var xxx_messageInfo_HandleGatewayStatsRequest proto.InternalMessageInfo

func (m *HandleGatewayStatsRequest) GetGatewayId() []byte {
	if m != nil {
		return m.GatewayId
	}
	return nil
}

func (m *HandleGatewayStatsRequest) GetStatsId() []byte {
	if m != nil {
		return m.StatsId
	}
	return nil
}

func (m *HandleGatewayStatsRequest) GetTime() *timestamp.Timestamp {
	if m != nil {
		return m.Time
	}
	return nil
}

func (m *HandleGatewayStatsRequest) GetLocation() *common.Location {
	if m != nil {
		return m.Location
	}
	return nil
}

func (m *HandleGatewayStatsRequest) GetRxPacketsReceived() uint32 {
	if m != nil {
		return m.RxPacketsReceived
	}
	return 0
}

func (m *HandleGatewayStatsRequest) GetRxPacketsReceivedOk() uint32 {
	if m != nil {
		return m.RxPacketsReceivedOk
	}
	return 0
}

func (m *HandleGatewayStatsRequest) GetTxPacketsReceived() uint32 {
	if m != nil {
		return m.TxPacketsReceived
	}
	return 0
}

func (m *HandleGatewayStatsRequest) GetTxPacketsEmitted() uint32 {
	if m != nil {
		return m.TxPacketsEmitted
	}
	return 0
}

func (m *HandleGatewayStatsRequest) GetMetadata() map[string]string {
	if m != nil {
		return m.Metadata
	}
	return nil
}

func (m *HandleGatewayStatsRequest) GetTxPacketsPerFrequency() map[uint32]uint32 {
	if m != nil {
		return m.TxPacketsPerFrequency
	}
	return nil
}

func (m *HandleGatewayStatsRequest) GetRxPacketsPerFrequency() map[uint32]uint32 {
	if m != nil {
		return m.RxPacketsPerFrequency
	}
	return nil
}

func (m *HandleGatewayStatsRequest) GetTxPacketsPerDr() map[uint32]uint32 {
	if m != nil {
		return m.TxPacketsPerDr
	}
	return nil
}

func (m *HandleGatewayStatsRequest) GetRxPacketsPerDr() map[uint32]uint32 {
	if m != nil {
		return m.RxPacketsPerDr
	}
	return nil
}

func (m *HandleGatewayStatsRequest) GetTxPacketsPerStatus() map[string]uint32 {
	if m != nil {
		return m.TxPacketsPerStatus
	}
	return nil
}

type HandleTxAckRequest struct {
	// Device EUI (8 bytes).
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Downlink frame-counter.
	FCnt uint32 `protobuf:"varint,2,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
	// Gateway ID.
	GatewayId []byte `protobuf:"bytes,3,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
	// TXInfo contains the TX related meta-data.
	TxInfo               *gw.DownlinkTXInfo `protobuf:"bytes,4,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *HandleTxAckRequest) Reset()         { *m = HandleTxAckRequest{} }
func (m *HandleTxAckRequest) String() string { return proto.CompactTextString(m) }
func (*HandleTxAckRequest) ProtoMessage()    {}
func (*HandleTxAckRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{8}
}

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

var xxx_messageInfo_HandleTxAckRequest proto.InternalMessageInfo

func (m *HandleTxAckRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *HandleTxAckRequest) GetFCnt() uint32 {
	if m != nil {
		return m.FCnt
	}
	return 0
}

func (m *HandleTxAckRequest) GetGatewayId() []byte {
	if m != nil {
		return m.GatewayId
	}
	return nil
}

func (m *HandleTxAckRequest) GetTxInfo() *gw.DownlinkTXInfo {
	if m != nil {
		return m.TxInfo
	}
	return nil
}

type ReEncryptDeviceQueueItemsRequest struct {
	// DevEUI of the device.
	DevEui []byte `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
	// Device addres.
	// This is the device address which was used to encrypt the given
	// payloads.
	DevAddr []byte `protobuf:"bytes,2,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
	// Downlink frame-counter to start with.
	// The application-server must use this value when encrypting the first
	// item, and increment it for each successive item.
	FCntStart uint32 `protobuf:"varint,3,opt,name=f_cnt_start,json=fCntStart,proto3" json:"f_cnt_start,omitempty"`
	// Items to re-encrypt.
	Items                []*ReEncryptDeviceQueueItem `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

func (m *ReEncryptDeviceQueueItemsRequest) Reset()         { *m = ReEncryptDeviceQueueItemsRequest{} }
func (m *ReEncryptDeviceQueueItemsRequest) String() string { return proto.CompactTextString(m) }
func (*ReEncryptDeviceQueueItemsRequest) ProtoMessage()    {}
func (*ReEncryptDeviceQueueItemsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{9}
}

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

var xxx_messageInfo_ReEncryptDeviceQueueItemsRequest proto.InternalMessageInfo

func (m *ReEncryptDeviceQueueItemsRequest) GetDevEui() []byte {
	if m != nil {
		return m.DevEui
	}
	return nil
}

func (m *ReEncryptDeviceQueueItemsRequest) GetDevAddr() []byte {
	if m != nil {
		return m.DevAddr
	}
	return nil
}

func (m *ReEncryptDeviceQueueItemsRequest) GetFCntStart() uint32 {
	if m != nil {
		return m.FCntStart
	}
	return 0
}

func (m *ReEncryptDeviceQueueItemsRequest) GetItems() []*ReEncryptDeviceQueueItem {
	if m != nil {
		return m.Items
	}
	return nil
}

type ReEncryptDeviceQueueItemsResponse struct {
	Items                []*ReEncryptedDeviceQueueItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

func (m *ReEncryptDeviceQueueItemsResponse) Reset()         { *m = ReEncryptDeviceQueueItemsResponse{} }
func (m *ReEncryptDeviceQueueItemsResponse) String() string { return proto.CompactTextString(m) }
func (*ReEncryptDeviceQueueItemsResponse) ProtoMessage()    {}
func (*ReEncryptDeviceQueueItemsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{10}
}

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

var xxx_messageInfo_ReEncryptDeviceQueueItemsResponse proto.InternalMessageInfo

func (m *ReEncryptDeviceQueueItemsResponse) GetItems() []*ReEncryptedDeviceQueueItem {
	if m != nil {
		return m.Items
	}
	return nil
}

type ReEncryptDeviceQueueItem struct {
	// The encrypted FRMPayload bytes.
	FrmPayload []byte `protobuf:"bytes,1,opt,name=frm_payload,json=frmPayload,proto3" json:"frm_payload,omitempty"`
	// The original FCnt of the payload.
	FCnt uint32 `protobuf:"varint,2,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
	// The FPort of the payload.
	FPort uint32 `protobuf:"varint,3,opt,name=f_port,json=fPort,proto3" json:"f_port,omitempty"`
	// Payload is of type confirmed.
	Confirmed            bool     `protobuf:"varint,4,opt,name=confirmed,proto3" json:"confirmed,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReEncryptDeviceQueueItem) Reset()         { *m = ReEncryptDeviceQueueItem{} }
func (m *ReEncryptDeviceQueueItem) String() string { return proto.CompactTextString(m) }
func (*ReEncryptDeviceQueueItem) ProtoMessage()    {}
func (*ReEncryptDeviceQueueItem) Descriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{11}
}

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

var xxx_messageInfo_ReEncryptDeviceQueueItem proto.InternalMessageInfo

func (m *ReEncryptDeviceQueueItem) GetFrmPayload() []byte {
	if m != nil {
		return m.FrmPayload
	}
	return nil
}

func (m *ReEncryptDeviceQueueItem) GetFCnt() uint32 {
	if m != nil {
		return m.FCnt
	}
	return 0
}

func (m *ReEncryptDeviceQueueItem) GetFPort() uint32 {
	if m != nil {
		return m.FPort
	}
	return 0
}

func (m *ReEncryptDeviceQueueItem) GetConfirmed() bool {
	if m != nil {
		return m.Confirmed
	}
	return false
}

type ReEncryptedDeviceQueueItem struct {
	// The re-encrypted FRMPayload bytes.
	FrmPayload []byte `protobuf:"bytes,1,opt,name=frm_payload,json=frmPayload,proto3" json:"frm_payload,omitempty"`
	// The new FCnt of the payload.
	FCnt uint32 `protobuf:"varint,2,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
	// The FPort of the payload.
	FPort uint32 `protobuf:"varint,3,opt,name=f_port,json=fPort,proto3" json:"f_port,omitempty"`
	// Payload is of type confirmed.
	Confirmed            bool     `protobuf:"varint,4,opt,name=confirmed,proto3" json:"confirmed,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReEncryptedDeviceQueueItem) Reset()         { *m = ReEncryptedDeviceQueueItem{} }
func (m *ReEncryptedDeviceQueueItem) String() string { return proto.CompactTextString(m) }
func (*ReEncryptedDeviceQueueItem) ProtoMessage()    {}
func (*ReEncryptedDeviceQueueItem) Descriptor() ([]byte, []int) {
	return fileDescriptor_1d6d0f577a60e27d, []int{12}
}

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

var xxx_messageInfo_ReEncryptedDeviceQueueItem proto.InternalMessageInfo

func (m *ReEncryptedDeviceQueueItem) GetFrmPayload() []byte {
	if m != nil {
		return m.FrmPayload
	}
	return nil
}

func (m *ReEncryptedDeviceQueueItem) GetFCnt() uint32 {
	if m != nil {
		return m.FCnt
	}
	return 0
}

func (m *ReEncryptedDeviceQueueItem) GetFPort() uint32 {
	if m != nil {
		return m.FPort
	}
	return 0
}

func (m *ReEncryptedDeviceQueueItem) GetConfirmed() bool {
	if m != nil {
		return m.Confirmed
	}
	return false
}

func init() {
	proto.RegisterEnum("as.RXWindow", RXWindow_name, RXWindow_value)
	proto.RegisterEnum("as.ErrorType", ErrorType_name, ErrorType_value)
	proto.RegisterType((*DeviceActivationContext)(nil), "as.DeviceActivationContext")
	proto.RegisterType((*HandleUplinkDataRequest)(nil), "as.HandleUplinkDataRequest")
	proto.RegisterType((*HandleProprietaryUplinkRequest)(nil), "as.HandleProprietaryUplinkRequest")
	proto.RegisterType((*HandleErrorRequest)(nil), "as.HandleErrorRequest")
	proto.RegisterType((*HandleDownlinkACKRequest)(nil), "as.HandleDownlinkACKRequest")
	proto.RegisterType((*SetDeviceStatusRequest)(nil), "as.SetDeviceStatusRequest")
	proto.RegisterType((*SetDeviceLocationRequest)(nil), "as.SetDeviceLocationRequest")
	proto.RegisterType((*HandleGatewayStatsRequest)(nil), "as.HandleGatewayStatsRequest")
	proto.RegisterMapType((map[string]string)(nil), "as.HandleGatewayStatsRequest.MetadataEntry")
	proto.RegisterMapType((map[uint32]uint32)(nil), "as.HandleGatewayStatsRequest.RxPacketsPerDrEntry")
	proto.RegisterMapType((map[uint32]uint32)(nil), "as.HandleGatewayStatsRequest.RxPacketsPerFrequencyEntry")
	proto.RegisterMapType((map[uint32]uint32)(nil), "as.HandleGatewayStatsRequest.TxPacketsPerDrEntry")
	proto.RegisterMapType((map[uint32]uint32)(nil), "as.HandleGatewayStatsRequest.TxPacketsPerFrequencyEntry")
	proto.RegisterMapType((map[string]uint32)(nil), "as.HandleGatewayStatsRequest.TxPacketsPerStatusEntry")
	proto.RegisterType((*HandleTxAckRequest)(nil), "as.HandleTxAckRequest")
	proto.RegisterType((*ReEncryptDeviceQueueItemsRequest)(nil), "as.ReEncryptDeviceQueueItemsRequest")
	proto.RegisterType((*ReEncryptDeviceQueueItemsResponse)(nil), "as.ReEncryptDeviceQueueItemsResponse")
	proto.RegisterType((*ReEncryptDeviceQueueItem)(nil), "as.ReEncryptDeviceQueueItem")
	proto.RegisterType((*ReEncryptedDeviceQueueItem)(nil), "as.ReEncryptedDeviceQueueItem")
}

func init() {
	proto.RegisterFile("as/as.proto", fileDescriptor_1d6d0f577a60e27d)
}

var fileDescriptor_1d6d0f577a60e27d = []byte{
	// 1603 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x5f, 0x6f, 0xdb, 0xc8,
	0x11, 0x37, 0xf5, 0xc7, 0x92, 0x46, 0xb6, 0x43, 0xaf, 0xcf, 0x32, 0x2d, 0x3b, 0x89, 0x8f, 0x6d,
	0x01, 0x5f, 0xee, 0x2a, 0xe1, 0x9c, 0x16, 0x38, 0x5c, 0x1f, 0x0a, 0x9d, 0xcd, 0x73, 0x04, 0xc7,
	0xb6, 0x42, 0xc9, 0x75, 0x12, 0x04, 0x20, 0xd6, 0xe4, 0x4a, 0x61, 0x24, 0x91, 0xcc, 0x72, 0x25,
	0x59, 0xe8, 0x4b, 0x5f, 0x8a, 0xa2, 0x2f, 0xfd, 0x1e, 0xed, 0x57, 0xe8, 0x77, 0xe9, 0x7b, 0xbf,
	0x41, 0x1f, 0x8b, 0xdd, 0x25, 0xf5, 0x5f, 0xb2, 0xfb, 0x07, 0xf7, 0x22, 0x71, 0x67, 0x66, 0x7f,
	0x33, 0x3b, 0xb3, 0x3b, 0xfb, 0x5b, 0xc8, 0xe3, 0xb0, 0x8c, 0xc3, 0x52, 0x40, 0x7d, 0xe6, 0xa3,
	0x04, 0x0e, 0x8b, 0x07, 0x2d, 0xdf, 0x6f, 0x75, 0x48, 0x59, 0x48, 0xee, 0x7a, 0xcd, 0x32, 0xe9,
	0x06, 0x6c, 0x28, 0x0d, 0x8a, 0xcf, 0x67, 0x95, 0xcc, 0xed, 0x92, 0x90, 0xe1, 0x6e, 0x10, 0x19,
	0xec, 0xd8, 0x7e, 0xb7, 0xeb, 0x7b, 0x65, 0xf9, 0x17, 0x09, 0xf3, 0xad, 0x41, 0xb9, 0x35, 0x90,
	0x03, 0x9d, 0xc0, 0xde, 0x19, 0xe9, 0xbb, 0x36, 0xa9, 0xd8, 0xcc, 0xed, 0x63, 0xe6, 0xfa, 0xde,
	0xa9, 0xef, 0x31, 0x72, 0xcf, 0xd0, 0x3e, 0x64, 0x1d, 0xd2, 0xb7, 0xb0, 0xe3, 0x50, 0x4d, 0x39,
	0x52, 0x8e, 0x37, 0xcc, 0x8c, 0x43, 0xfa, 0x15, 0xc7, 0xa1, 0xa8, 0x0c, 0x39, 0x1c, 0x04, 0x56,
	0x68, 0xb5, 0xc9, 0x50, 0x4b, 0x1c, 0x29, 0xc7, 0xf9, 0x93, 0x9d, 0x52, 0xe4, 0xe4, 0x82, 0x0c,
	0x0d, 0xaf, 0x4f, 0x3a, 0x7e, 0x40, 0xcc, 0x0c, 0x0e, 0x82, 0xfa, 0x05, 0x19, 0xea, 0x7f, 0x4e,
	0xc2, 0xde, 0x2b, 0xec, 0x39, 0x1d, 0x72, 0x13, 0x74, 0x5c, 0xaf, 0x7d, 0x86, 0x19, 0x36, 0xc9,
	0xe7, 0x1e, 0x09, 0x19, 0xda, 0x03, 0x8e, 0x6b, 0x91, 0x9e, 0x1b, 0xb9, 0x59, 0x77, 0x48, 0xdf,
	0xe8, 0xb9, 0x3c, 0x80, 0x4f, 0xbe, 0xeb, 0x09, 0x4d, 0x42, 0x06, 0xc0, 0xc7, 0x5c, 0xb5, 0x03,
	0xe9, 0xa6, 0x65, 0x7b, 0x4c, 0x4b, 0x1e, 0x29, 0xc7, 0x9b, 0x66, 0xaa, 0x79, 0xea, 0x31, 0xb4,
	0x0b, 0xeb, 0x4d, 0x2b, 0xf0, 0x29, 0xd3, 0x52, 0x42, 0x9a, 0x6e, 0xd6, 0x7c, 0xca, 0x90, 0x0a,
	0x49, 0xec, 0x50, 0x2d, 0x7d, 0xa4, 0x1c, 0x67, 0x4d, 0xfe, 0x89, 0xb6, 0x20, 0xe1, 0x50, 0x6d,
	0x5d, 0x18, 0x25, 0x1c, 0x8a, 0xbe, 0x82, 0x0c, 0xbb, 0xb7, 0x5c, 0xaf, 0xe9, 0x6b, 0x19, 0xb1,
	0x18, 0xb5, 0xd4, 0x1a, 0x94, 0x64, 0xa4, 0x8d, 0xb7, 0x55, 0xaf, 0xe9, 0x9b, 0xeb, 0xec, 0x9e,
	0xff, 0x73, 0x53, 0x1a, 0x99, 0x66, 0x8f, 0x92, 0xd3, 0xa6, 0x66, 0x64, 0x4a, 0xa5, 0x29, 0x82,
	0x94, 0x83, 0x19, 0xd6, 0x72, 0x22, 0x74, 0xf1, 0x8d, 0x6e, 0x61, 0xdf, 0x11, 0xe9, 0xb6, 0xf0,
	0x28, 0xdf, 0x96, 0x2d, 0x13, 0xae, 0x81, 0xf0, 0x7d, 0x50, 0xc2, 0x61, 0x69, 0x49, 0x4d, 0xcc,
	0x3d, 0x67, 0x49, 0xb1, 0xbe, 0x02, 0xd5, 0xf6, 0xbd, 0xa6, 0x4b, 0xbb, 0xc4, 0xb1, 0x7a, 0x22,
	0x1c, 0x2d, 0x2f, 0x56, 0xfc, 0x64, 0x24, 0x97, 0x51, 0xea, 0x7f, 0x55, 0xe0, 0x99, 0xac, 0x45,
	0x8d, 0xfa, 0x01, 0x75, 0x09, 0xc3, 0x74, 0x18, 0xad, 0x20, 0x2a, 0xc9, 0x73, 0xc8, 0x77, 0xb1,
	0x6d, 0x05, 0x78, 0xd8, 0xf1, 0xb1, 0x13, 0x95, 0x05, 0xba, 0xd8, 0xae, 0x49, 0x09, 0xcf, 0x69,
	0xd7, 0xb5, 0xa3, 0xaa, 0xf0, 0xcf, 0xc9, 0x1c, 0x26, 0x1f, 0x9f, 0xc3, 0xd4, 0xea, 0x1c, 0xea,
	0xbf, 0x07, 0x24, 0x43, 0x35, 0x28, 0xf5, 0xe9, 0x83, 0x3b, 0xe6, 0x4b, 0x48, 0xb1, 0x61, 0x40,
	0x44, 0x04, 0x5b, 0x27, 0x9b, 0x3c, 0x93, 0x62, 0x62, 0x63, 0x18, 0x10, 0x53, 0xa8, 0xd0, 0x17,
	0x90, 0x26, 0x5c, 0x24, 0xf6, 0x48, 0xce, 0x94, 0x83, 0xf1, 0x7e, 0x4a, 0x8f, 0xf7, 0x93, 0xde,
	0x01, 0x4d, 0x3a, 0x3f, 0xf3, 0x07, 0x1e, 0x0f, 0xae, 0x72, 0x7a, 0xf1, 0x60, 0x08, 0x23, 0xa4,
	0xc4, 0xc4, 0xce, 0xd4, 0x61, 0x03, 0xdb, 0x6d, 0xcf, 0x1f, 0x74, 0x88, 0xd3, 0x22, 0x8e, 0x88,
	0x2f, 0x6b, 0x4e, 0xc9, 0xf4, 0x7f, 0x29, 0x50, 0xa8, 0x13, 0x26, 0x2b, 0x5f, 0x67, 0x98, 0xf5,
	0xc2, 0x07, 0x9d, 0x69, 0x90, 0xb9, 0xc3, 0x8c, 0x11, 0x3a, 0x8c, 0xdc, 0xc5, 0x43, 0x54, 0x80,
	0xf5, 0x2e, 0xa6, 0x2d, 0xd7, 0x13, 0xbe, 0xd2, 0x66, 0x34, 0x42, 0x27, 0xb0, 0x4b, 0xee, 0x19,
	0xa1, 0x1e, 0xee, 0x58, 0x81, 0x3f, 0x20, 0xd4, 0x0a, 0xfd, 0x1e, 0xb5, 0x89, 0x48, 0x47, 0xd6,
	0xdc, 0x89, 0x95, 0x35, 0xae, 0xab, 0x0b, 0x15, 0xfa, 0x1e, 0xf6, 0x23, 0x58, 0xab, 0x43, 0xfa,
	0xa4, 0x63, 0xf5, 0x3c, 0xdc, 0xc7, 0x6e, 0x07, 0xdf, 0x75, 0x48, 0x74, 0xac, 0xf6, 0x22, 0x83,
	0xd7, 0x5c, 0x7f, 0x33, 0x56, 0xa3, 0x9f, 0xc1, 0xe6, 0xd4, 0x5c, 0x71, 0xea, 0x12, 0xe6, 0xc6,
	0xa4, 0xbd, 0xfe, 0x07, 0x05, 0xb4, 0xd1, 0xd2, 0x5f, 0xfb, 0xb6, 0xd8, 0xd9, 0x0f, 0x2e, 0xfe,
	0x1b, 0xc8, 0x76, 0x22, 0xdb, 0xa8, 0x07, 0xa9, 0x71, 0x0f, 0x1a, 0x61, 0x8c, 0x2c, 0xd0, 0x53,
	0x00, 0x79, 0x2c, 0x2c, 0xd7, 0x09, 0xb5, 0xe4, 0x51, 0xf2, 0x78, 0xc3, 0xcc, 0x49, 0x49, 0xd5,
	0x09, 0xf5, 0x7f, 0x02, 0xec, 0xcb, 0x62, 0x9f, 0x63, 0x46, 0x06, 0x78, 0xc8, 0x2b, 0x30, 0x2a,
	0xc0, 0x53, 0x80, 0x96, 0x14, 0x5b, 0x6e, 0x7c, 0x1c, 0x72, 0x91, 0xa4, 0xea, 0xf0, 0x46, 0x15,
	0x72, 0x73, 0xae, 0x8c, 0x1a, 0x95, 0x18, 0x57, 0x1d, 0x54, 0x82, 0x14, 0x6f, 0xca, 0xd1, 0x99,
	0x28, 0x96, 0x64, 0xc7, 0x2e, 0xc5, 0x1d, 0xbb, 0xd4, 0x88, 0x3b, 0xb6, 0x29, 0xec, 0xa6, 0x16,
	0x95, 0x7a, 0x70, 0x51, 0x25, 0xd8, 0xa1, 0xf7, 0x56, 0x80, 0xed, 0x36, 0x61, 0xa1, 0x45, 0x89,
	0x4d, 0xdc, 0x3e, 0x71, 0xa2, 0x4d, 0xbc, 0x4d, 0xef, 0x6b, 0x52, 0x63, 0x46, 0x0a, 0xf4, 0x12,
	0x0a, 0x0b, 0xec, 0x2d, 0xbf, 0x1d, 0x35, 0xc3, 0x9d, 0xb9, 0x29, 0xd7, 0x6d, 0xee, 0x84, 0x2d,
	0x70, 0x92, 0x91, 0x4e, 0xd8, 0x9c, 0x93, 0x6f, 0x00, 0x4d, 0xd8, 0x93, 0xae, 0xcb, 0x18, 0x71,
	0xb4, 0xac, 0x30, 0x57, 0x47, 0xe6, 0x86, 0x94, 0xa3, 0x73, 0xc8, 0x76, 0x09, 0xc3, 0x51, 0xa7,
	0xe4, 0xdd, 0xe0, 0x6b, 0x7e, 0x6c, 0x97, 0xd6, 0xa2, 0x74, 0x19, 0x59, 0x1b, 0x1e, 0xa3, 0x43,
	0x73, 0x34, 0x19, 0x7d, 0x06, 0x6d, 0xc2, 0x6d, 0x40, 0xa8, 0xd5, 0xa4, 0x7c, 0x8a, 0x67, 0x0f,
	0x35, 0x10, 0xc0, 0xdf, 0xad, 0x06, 0x6e, 0xc4, 0xa1, 0xd5, 0x08, 0xfd, 0x31, 0x9e, 0x2a, 0xbd,
	0xec, 0xb2, 0x45, 0x3a, 0xee, 0x92, 0x2e, 0x73, 0x99, 0x7f, 0x8c, 0x4b, 0x73, 0x85, 0x4b, 0xba,
	0xd0, 0xe5, 0x07, 0xd8, 0x9e, 0x59, 0xa5, 0x43, 0xb5, 0x0d, 0xe1, 0xeb, 0xdb, 0xc7, 0x2f, 0xef,
	0x8c, 0x4a, 0x27, 0x5b, 0x6c, 0x4a, 0xc8, 0xd1, 0xe9, 0x1c, 0xfa, 0xe6, 0x63, 0xd0, 0xcd, 0x45,
	0xe8, 0x74, 0x1a, 0xfd, 0x23, 0xec, 0xce, 0xc4, 0x1e, 0x8a, 0x36, 0xa7, 0x6d, 0x09, 0x0f, 0xbf,
	0x7e, 0x7c, 0xfc, 0xb2, 0x3d, 0x4a, 0x2f, 0x88, 0xcd, 0x29, 0x8a, 0xbf, 0x81, 0xcd, 0xa9, 0x6d,
	0xc2, 0xef, 0x2b, 0x4e, 0x55, 0x14, 0xd1, 0xf3, 0xf9, 0x27, 0xbf, 0x07, 0xfa, 0xb8, 0xd3, 0x23,
	0xe2, 0xc0, 0xe6, 0x4c, 0x39, 0xf8, 0x3e, 0xf1, 0x9d, 0x52, 0x7c, 0x05, 0xc5, 0xe5, 0x5b, 0x61,
	0x12, 0x69, 0x73, 0x01, 0xd2, 0xe6, 0x0c, 0x92, 0xf9, 0xff, 0x41, 0xaa, 0xc0, 0xce, 0x82, 0xfa,
	0xfd, 0xa7, 0x10, 0xe6, 0xff, 0x08, 0x61, 0xc0, 0xde, 0x92, 0x2a, 0x3c, 0x94, 0xe0, 0x49, 0x18,
	0xfd, 0x2f, 0x4a, 0x7c, 0xab, 0x37, 0xee, 0x2b, 0x76, 0xfb, 0xbf, 0xbb, 0x52, 0xa7, 0x5b, 0x72,
	0x72, 0xb6, 0x25, 0x7f, 0x3d, 0xa6, 0x23, 0xb2, 0x8d, 0x22, 0xce, 0x31, 0xe2, 0x8b, 0x7c, 0x9a,
	0x90, 0xe8, 0x7f, 0x53, 0xe0, 0xc8, 0x24, 0x86, 0x67, 0xd3, 0x61, 0x10, 0xdd, 0x42, 0x6f, 0x7a,
	0xa4, 0x47, 0xaa, 0x8c, 0x74, 0xc3, 0xc7, 0xd0, 0xd4, 0x11, 0x4f, 0x4e, 0x4c, 0xf3, 0xe4, 0x67,
	0x90, 0x17, 0x91, 0xf3, 0x8d, 0x4e, 0x63, 0xb2, 0x9a, 0xe3, 0xf1, 0xd7, 0xb9, 0x00, 0x9d, 0x40,
	0xda, 0xe5, 0x3e, 0x22, 0x1e, 0x74, 0xc8, 0x4f, 0xc0, 0xb2, 0x40, 0x4c, 0x69, 0xaa, 0xbf, 0x83,
	0x2f, 0x57, 0xc4, 0x1a, 0x06, 0xbe, 0x17, 0x12, 0xf4, 0xab, 0x18, 0x58, 0x11, 0xc0, 0xcf, 0xa6,
	0x80, 0x89, 0xb3, 0x04, 0xfa, 0x8f, 0x0a, 0x68, 0xcb, 0xb0, 0x39, 0x27, 0x6c, 0xd2, 0xee, 0x2c,
	0x27, 0x6c, 0xd2, 0x6e, 0xcc, 0x09, 0x17, 0x96, 0x69, 0xcc, 0xc9, 0x93, 0x93, 0x9c, 0xfc, 0x10,
	0x72, 0x23, 0x5a, 0x1a, 0x51, 0x8f, 0xb1, 0x40, 0xff, 0x93, 0x02, 0xc5, 0xe5, 0xd1, 0xfe, 0x84,
	0x91, 0xbc, 0x38, 0x84, 0xac, 0xf9, 0xf6, 0xd6, 0xf5, 0x1c, 0x7f, 0x80, 0x32, 0x90, 0x34, 0xdf,
	0x7e, 0xab, 0xae, 0xc9, 0x8f, 0x13, 0x55, 0x79, 0xf1, 0x77, 0x05, 0x72, 0x23, 0x7e, 0x89, 0xf2,
	0x90, 0x39, 0x37, 0xae, 0x0c, 0xb3, 0x7a, 0xaa, 0xae, 0xa1, 0x2c, 0xa4, 0xae, 0x1b, 0x95, 0x8a,
	0xaa, 0xa0, 0x02, 0xa0, 0xb3, 0x4a, 0xa3, 0x62, 0xdd, 0xd4, 0xac, 0x1f, 0x4f, 0xaf, 0x1a, 0x96,
	0x69, 0xd4, 0x8d, 0x86, 0x9a, 0x40, 0x4f, 0x20, 0x1f, 0xcb, 0x2f, 0xab, 0xa7, 0x6a, 0x12, 0x15,
	0xa1, 0x70, 0x66, 0xfc, 0xae, 0x7a, 0x6a, 0x58, 0x6f, 0x6e, 0x8c, 0x1b, 0xc3, 0xaa, 0x36, 0x8c,
	0x4b, 0xab, 0x5e, 0x7d, 0x6f, 0xa8, 0xa9, 0xc5, 0x3a, 0x0e, 0xa7, 0xa6, 0xd1, 0x73, 0x38, 0x98,
	0x71, 0xd0, 0x30, 0x2b, 0x57, 0xf5, 0xcb, 0x6a, 0xbd, 0x5e, 0xbd, 0xbe, 0x52, 0xd7, 0xd1, 0x2e,
	0x6c, 0x0b, 0x83, 0xb3, 0xeb, 0xdb, 0x2b, 0xeb, 0xbc, 0xd2, 0x30, 0x6e, 0x2b, 0xef, 0xd4, 0xcc,
	0xc9, 0x3f, 0xd2, 0xa0, 0x55, 0x82, 0xa0, 0xe3, 0x4a, 0x32, 0x51, 0x27, 0xb4, 0x4f, 0x28, 0xff,
	0x75, 0x6d, 0x82, 0xaa, 0xa0, 0xce, 0xbe, 0xd7, 0xd0, 0xc1, 0xb8, 0x41, 0xcf, 0xbd, 0xe2, 0x8a,
	0x85, 0x39, 0x6a, 0x63, 0xf0, 0x97, 0xaa, 0xbe, 0x86, 0x6e, 0xe3, 0xa7, 0xdf, 0xdc, 0x73, 0x03,
	0xe9, 0x63, 0xc4, 0x65, 0x6f, 0x91, 0x15, 0xc0, 0xbf, 0x85, 0xfc, 0xc4, 0xe3, 0x00, 0x15, 0xc6,
	0x60, 0x93, 0xaf, 0x85, 0x15, 0x00, 0x17, 0xb0, 0x3d, 0x47, 0xf0, 0xd1, 0xe1, 0x18, 0x66, 0x9e,
	0xf7, 0xaf, 0x00, 0xbb, 0x8c, 0x9b, 0xda, 0xe4, 0xe5, 0x85, 0x9e, 0xae, 0xbc, 0xd4, 0x1e, 0xb3,
	0x38, 0xd1, 0x23, 0x27, 0x17, 0x37, 0xd9, 0x34, 0x57, 0x00, 0x9c, 0xc3, 0x93, 0x99, 0xe7, 0x04,
	0x2a, 0x72, 0x90, 0xc5, 0x6f, 0x8c, 0xd5, 0x59, 0x9a, 0x23, 0xe7, 0x32, 0x4b, 0xcb, 0x38, 0xfb,
	0x0a, 0xb0, 0x4f, 0xb0, 0xbf, 0xb4, 0x7b, 0xa1, 0x9f, 0xaf, 0xea, 0x7f, 0xa3, 0x48, 0x7f, 0xf1,
	0x80, 0x95, 0x6c, 0x81, 0xfa, 0xda, 0x0f, 0x1f, 0xe0, 0x0b, 0xd7, 0x2f, 0xd9, 0x1f, 0x5d, 0x1a,
	0x84, 0x0c, 0xdb, 0xed, 0x12, 0x0e, 0xdc, 0x12, 0x0e, 0x7f, 0x28, 0xcc, 0xed, 0xfa, 0x1a, 0x0f,
	0xb3, 0xa6, 0xbc, 0x7f, 0xd1, 0x72, 0xd9, 0xc7, 0xde, 0x1d, 0x67, 0xdc, 0xe5, 0x3b, 0xea, 0xdb,
	0x18, 0xd3, 0xf2, 0x78, 0xfe, 0x2f, 0x71, 0xe0, 0x96, 0x5b, 0x7e, 0xb9, 0xff, 0xb2, 0x8c, 0xc3,
	0xbb, 0x75, 0xb1, 0xb6, 0x97, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x7e, 0x0f, 0xd4, 0x72, 0xb3,
	0x11, 0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// ApplicationServerServiceClient is the client API for ApplicationServerService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ApplicationServerServiceClient interface {
	// HandleUplinkData handles uplink data received from an end-device.
	HandleUplinkData(ctx context.Context, in *HandleUplinkDataRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// HandleProprietaryUplink handles proprietary uplink payloads.
	HandleProprietaryUplink(ctx context.Context, in *HandleProprietaryUplinkRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// HandleError handles an error message.
	HandleError(ctx context.Context, in *HandleErrorRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// HandleDownlinkACK handles a downlink ACK or nACK response.
	HandleDownlinkACK(ctx context.Context, in *HandleDownlinkACKRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// HandleGatewayStats handles the given gateway stats.
	HandleGatewayStats(ctx context.Context, in *HandleGatewayStatsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// HandleTXACK handles the TX acknowledgement.
	HandleTxAck(ctx context.Context, in *HandleTxAckRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// SetDeviceStatus updates the device-status for a device.
	SetDeviceStatus(ctx context.Context, in *SetDeviceStatusRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// SetDeviceLocation updates the device-location for a device.
	SetDeviceLocation(ctx context.Context, in *SetDeviceLocationRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// ReEncryptDeviceQueueItems requests the application-server to re-encrypt
	// the given payload items using the new parameters. This request is
	// for example triggered when the associated frame-counter of a downlink
	// payload will be used by a mac-layer only payload, e.g. when the NS has
	// mac-commands (or ACKs) to send to the device and combining this with
	// an application-layer payload would exceed the max. payload size.
	// Note there is no requirement that the number of returned items must be
	// equal to the number of requested items.
	ReEncryptDeviceQueueItems(ctx context.Context, in *ReEncryptDeviceQueueItemsRequest, opts ...grpc.CallOption) (*ReEncryptDeviceQueueItemsResponse, error)
}

type applicationServerServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewApplicationServerServiceClient(cc grpc.ClientConnInterface) ApplicationServerServiceClient {
	return &applicationServerServiceClient{cc}
}

func (c *applicationServerServiceClient) HandleUplinkData(ctx context.Context, in *HandleUplinkDataRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/as.ApplicationServerService/HandleUplinkData", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationServerServiceClient) HandleProprietaryUplink(ctx context.Context, in *HandleProprietaryUplinkRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/as.ApplicationServerService/HandleProprietaryUplink", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationServerServiceClient) HandleError(ctx context.Context, in *HandleErrorRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/as.ApplicationServerService/HandleError", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationServerServiceClient) HandleDownlinkACK(ctx context.Context, in *HandleDownlinkACKRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/as.ApplicationServerService/HandleDownlinkACK", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationServerServiceClient) HandleGatewayStats(ctx context.Context, in *HandleGatewayStatsRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/as.ApplicationServerService/HandleGatewayStats", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationServerServiceClient) HandleTxAck(ctx context.Context, in *HandleTxAckRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/as.ApplicationServerService/HandleTxAck", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationServerServiceClient) SetDeviceStatus(ctx context.Context, in *SetDeviceStatusRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/as.ApplicationServerService/SetDeviceStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationServerServiceClient) SetDeviceLocation(ctx context.Context, in *SetDeviceLocationRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/as.ApplicationServerService/SetDeviceLocation", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationServerServiceClient) ReEncryptDeviceQueueItems(ctx context.Context, in *ReEncryptDeviceQueueItemsRequest, opts ...grpc.CallOption) (*ReEncryptDeviceQueueItemsResponse, error) {
	out := new(ReEncryptDeviceQueueItemsResponse)
	err := c.cc.Invoke(ctx, "/as.ApplicationServerService/ReEncryptDeviceQueueItems", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ApplicationServerServiceServer is the server API for ApplicationServerService service.
type ApplicationServerServiceServer interface {
	// HandleUplinkData handles uplink data received from an end-device.
	HandleUplinkData(context.Context, *HandleUplinkDataRequest) (*empty.Empty, error)
	// HandleProprietaryUplink handles proprietary uplink payloads.
	HandleProprietaryUplink(context.Context, *HandleProprietaryUplinkRequest) (*empty.Empty, error)
	// HandleError handles an error message.
	HandleError(context.Context, *HandleErrorRequest) (*empty.Empty, error)
	// HandleDownlinkACK handles a downlink ACK or nACK response.
	HandleDownlinkACK(context.Context, *HandleDownlinkACKRequest) (*empty.Empty, error)
	// HandleGatewayStats handles the given gateway stats.
	HandleGatewayStats(context.Context, *HandleGatewayStatsRequest) (*empty.Empty, error)
	// HandleTXACK handles the TX acknowledgement.
	HandleTxAck(context.Context, *HandleTxAckRequest) (*empty.Empty, error)
	// SetDeviceStatus updates the device-status for a device.
	SetDeviceStatus(context.Context, *SetDeviceStatusRequest) (*empty.Empty, error)
	// SetDeviceLocation updates the device-location for a device.
	SetDeviceLocation(context.Context, *SetDeviceLocationRequest) (*empty.Empty, error)
	// ReEncryptDeviceQueueItems requests the application-server to re-encrypt
	// the given payload items using the new parameters. This request is
	// for example triggered when the associated frame-counter of a downlink
	// payload will be used by a mac-layer only payload, e.g. when the NS has
	// mac-commands (or ACKs) to send to the device and combining this with
	// an application-layer payload would exceed the max. payload size.
	// Note there is no requirement that the number of returned items must be
	// equal to the number of requested items.
	ReEncryptDeviceQueueItems(context.Context, *ReEncryptDeviceQueueItemsRequest) (*ReEncryptDeviceQueueItemsResponse, error)
}

// UnimplementedApplicationServerServiceServer can be embedded to have forward compatible implementations.
type UnimplementedApplicationServerServiceServer struct {
}

func (*UnimplementedApplicationServerServiceServer) HandleUplinkData(ctx context.Context, req *HandleUplinkDataRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method HandleUplinkData not implemented")
}
func (*UnimplementedApplicationServerServiceServer) HandleProprietaryUplink(ctx context.Context, req *HandleProprietaryUplinkRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method HandleProprietaryUplink not implemented")
}
func (*UnimplementedApplicationServerServiceServer) HandleError(ctx context.Context, req *HandleErrorRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method HandleError not implemented")
}
func (*UnimplementedApplicationServerServiceServer) HandleDownlinkACK(ctx context.Context, req *HandleDownlinkACKRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method HandleDownlinkACK not implemented")
}
func (*UnimplementedApplicationServerServiceServer) HandleGatewayStats(ctx context.Context, req *HandleGatewayStatsRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method HandleGatewayStats not implemented")
}
func (*UnimplementedApplicationServerServiceServer) HandleTxAck(ctx context.Context, req *HandleTxAckRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method HandleTxAck not implemented")
}
func (*UnimplementedApplicationServerServiceServer) SetDeviceStatus(ctx context.Context, req *SetDeviceStatusRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetDeviceStatus not implemented")
}
func (*UnimplementedApplicationServerServiceServer) SetDeviceLocation(ctx context.Context, req *SetDeviceLocationRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetDeviceLocation not implemented")
}
func (*UnimplementedApplicationServerServiceServer) ReEncryptDeviceQueueItems(ctx context.Context, req *ReEncryptDeviceQueueItemsRequest) (*ReEncryptDeviceQueueItemsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ReEncryptDeviceQueueItems not implemented")
}

func RegisterApplicationServerServiceServer(s *grpc.Server, srv ApplicationServerServiceServer) {
	s.RegisterService(&_ApplicationServerService_serviceDesc, srv)
}

func _ApplicationServerService_HandleUplinkData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(HandleUplinkDataRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationServerServiceServer).HandleUplinkData(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/as.ApplicationServerService/HandleUplinkData",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationServerServiceServer).HandleUplinkData(ctx, req.(*HandleUplinkDataRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationServerService_HandleProprietaryUplink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(HandleProprietaryUplinkRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationServerServiceServer).HandleProprietaryUplink(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/as.ApplicationServerService/HandleProprietaryUplink",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationServerServiceServer).HandleProprietaryUplink(ctx, req.(*HandleProprietaryUplinkRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationServerService_HandleError_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(HandleErrorRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationServerServiceServer).HandleError(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/as.ApplicationServerService/HandleError",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationServerServiceServer).HandleError(ctx, req.(*HandleErrorRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationServerService_HandleDownlinkACK_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(HandleDownlinkACKRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationServerServiceServer).HandleDownlinkACK(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/as.ApplicationServerService/HandleDownlinkACK",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationServerServiceServer).HandleDownlinkACK(ctx, req.(*HandleDownlinkACKRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationServerService_HandleGatewayStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(HandleGatewayStatsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationServerServiceServer).HandleGatewayStats(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/as.ApplicationServerService/HandleGatewayStats",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationServerServiceServer).HandleGatewayStats(ctx, req.(*HandleGatewayStatsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationServerService_HandleTxAck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(HandleTxAckRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationServerServiceServer).HandleTxAck(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/as.ApplicationServerService/HandleTxAck",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationServerServiceServer).HandleTxAck(ctx, req.(*HandleTxAckRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationServerService_SetDeviceStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetDeviceStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationServerServiceServer).SetDeviceStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/as.ApplicationServerService/SetDeviceStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationServerServiceServer).SetDeviceStatus(ctx, req.(*SetDeviceStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationServerService_SetDeviceLocation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetDeviceLocationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationServerServiceServer).SetDeviceLocation(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/as.ApplicationServerService/SetDeviceLocation",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationServerServiceServer).SetDeviceLocation(ctx, req.(*SetDeviceLocationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationServerService_ReEncryptDeviceQueueItems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReEncryptDeviceQueueItemsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationServerServiceServer).ReEncryptDeviceQueueItems(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/as.ApplicationServerService/ReEncryptDeviceQueueItems",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationServerServiceServer).ReEncryptDeviceQueueItems(ctx, req.(*ReEncryptDeviceQueueItemsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _ApplicationServerService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "as.ApplicationServerService",
	HandlerType: (*ApplicationServerServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "HandleUplinkData",
			Handler:    _ApplicationServerService_HandleUplinkData_Handler,
		},
		{
			MethodName: "HandleProprietaryUplink",
			Handler:    _ApplicationServerService_HandleProprietaryUplink_Handler,
		},
		{
			MethodName: "HandleError",
			Handler:    _ApplicationServerService_HandleError_Handler,
		},
		{
			MethodName: "HandleDownlinkACK",
			Handler:    _ApplicationServerService_HandleDownlinkACK_Handler,
		},
		{
			MethodName: "HandleGatewayStats",
			Handler:    _ApplicationServerService_HandleGatewayStats_Handler,
		},
		{
			MethodName: "HandleTxAck",
			Handler:    _ApplicationServerService_HandleTxAck_Handler,
		},
		{
			MethodName: "SetDeviceStatus",
			Handler:    _ApplicationServerService_SetDeviceStatus_Handler,
		},
		{
			MethodName: "SetDeviceLocation",
			Handler:    _ApplicationServerService_SetDeviceLocation_Handler,
		},
		{
			MethodName: "ReEncryptDeviceQueueItems",
			Handler:    _ApplicationServerService_ReEncryptDeviceQueueItems_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "as/as.proto",
}
