Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
goSDN
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Terraform modules
Analyze
Contributor analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
danet
goSDN
Commits
c1242e9f
Commit
c1242e9f
authored
4 years ago
by
Malte Bauch
Browse files
Options
Downloads
Patches
Plain Diff
updated proto for devices
parent
1bfe01d6
No related branches found
No related tags found
3 merge requests
!97
Resolve "PND handling via CLI and database"
,
!91
"Overhaul Architecture"
,
!90
Develop
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
api/proto/gosdnCLI.pb.go
+589
-105
589 additions, 105 deletions
api/proto/gosdnCLI.pb.go
api/proto/gosdnCLI.proto
+37
-3
37 additions, 3 deletions
api/proto/gosdnCLI.proto
with
626 additions
and
108 deletions
api/proto/gosdnCLI.pb.go
+
589
−
105
View file @
c1242e9f
...
...
@@ -322,7 +322,7 @@ func (x *TAPIReply) GetMessage() string {
}
//
type
PNDRequest
struct
{
type
Create
PNDRequest
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
...
...
@@ -332,8 +332,8 @@ type PNDRequest struct {
Sbi
string
`protobuf:"bytes,3,opt,name=sbi,proto3" json:"sbi,omitempty"`
}
func
(
x
*
PNDRequest
)
Reset
()
{
*
x
=
PNDRequest
{}
func
(
x
*
Create
PNDRequest
)
Reset
()
{
*
x
=
Create
PNDRequest
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
6
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
...
...
@@ -341,13 +341,13 @@ func (x *PNDRequest) Reset() {
}
}
func
(
x
*
PNDRequest
)
String
()
string
{
func
(
x
*
Create
PNDRequest
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
PNDRequest
)
ProtoMessage
()
{}
func
(
*
Create
PNDRequest
)
ProtoMessage
()
{}
func
(
x
*
PNDRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
Create
PNDRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
6
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
...
...
@@ -359,26 +359,26 @@ func (x *PNDRequest) ProtoReflect() protoreflect.Message {
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use PNDRequest.ProtoReflect.Descriptor instead.
func
(
*
PNDRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
// Deprecated: Use
Create
PNDRequest.ProtoReflect.Descriptor instead.
func
(
*
Create
PNDRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_gosdnCLI_proto_rawDescGZIP
(),
[]
int
{
6
}
}
func
(
x
*
PNDRequest
)
GetName
()
string
{
func
(
x
*
Create
PNDRequest
)
GetName
()
string
{
if
x
!=
nil
{
return
x
.
Name
}
return
""
}
func
(
x
*
PNDRequest
)
GetDescription
()
string
{
func
(
x
*
Create
PNDRequest
)
GetDescription
()
string
{
if
x
!=
nil
{
return
x
.
Description
}
return
""
}
func
(
x
*
PNDRequest
)
GetSbi
()
string
{
func
(
x
*
Create
PNDRequest
)
GetSbi
()
string
{
if
x
!=
nil
{
return
x
.
Sbi
}
...
...
@@ -386,7 +386,7 @@ func (x *PNDRequest) GetSbi() string {
}
//
type
PNDReply
struct
{
type
Create
PNDReply
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
...
...
@@ -394,8 +394,8 @@ type PNDReply struct {
Message
string
`protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
}
func
(
x
*
PNDReply
)
Reset
()
{
*
x
=
PNDReply
{}
func
(
x
*
Create
PNDReply
)
Reset
()
{
*
x
=
Create
PNDReply
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
7
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
...
...
@@ -403,13 +403,13 @@ func (x *PNDReply) Reset() {
}
}
func
(
x
*
PNDReply
)
String
()
string
{
func
(
x
*
Create
PNDReply
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
PNDReply
)
ProtoMessage
()
{}
func
(
*
Create
PNDReply
)
ProtoMessage
()
{}
func
(
x
*
PNDReply
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
Create
PNDReply
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
7
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
...
...
@@ -421,12 +421,312 @@ func (x *PNDReply) ProtoReflect() protoreflect.Message {
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use PNDReply.ProtoReflect.Descriptor instead.
func
(
*
PNDReply
)
Descriptor
()
([]
byte
,
[]
int
)
{
// Deprecated: Use
Create
PNDReply.ProtoReflect.Descriptor instead.
func
(
*
Create
PNDReply
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_gosdnCLI_proto_rawDescGZIP
(),
[]
int
{
7
}
}
func
(
x
*
PNDReply
)
GetMessage
()
string
{
func
(
x
*
CreatePNDReply
)
GetMessage
()
string
{
if
x
!=
nil
{
return
x
.
Message
}
return
""
}
//
type
AllPNDsReply
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Pnds
[]
*
PND
`protobuf:"bytes,1,rep,name=pnds,proto3" json:"pnds,omitempty"`
}
func
(
x
*
AllPNDsReply
)
Reset
()
{
*
x
=
AllPNDsReply
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
8
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
AllPNDsReply
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
AllPNDsReply
)
ProtoMessage
()
{}
func
(
x
*
AllPNDsReply
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
8
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use AllPNDsReply.ProtoReflect.Descriptor instead.
func
(
*
AllPNDsReply
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_gosdnCLI_proto_rawDescGZIP
(),
[]
int
{
8
}
}
func
(
x
*
AllPNDsReply
)
GetPnds
()
[]
*
PND
{
if
x
!=
nil
{
return
x
.
Pnds
}
return
nil
}
type
PND
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Uuid
string
`protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
Name
string
`protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Description
string
`protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
Sbi
string
`protobuf:"bytes,4,opt,name=sbi,proto3" json:"sbi,omitempty"`
Devices
[]
*
Device
`protobuf:"bytes,5,rep,name=devices,proto3" json:"devices,omitempty"`
}
func
(
x
*
PND
)
Reset
()
{
*
x
=
PND
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
9
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
PND
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
PND
)
ProtoMessage
()
{}
func
(
x
*
PND
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
9
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use PND.ProtoReflect.Descriptor instead.
func
(
*
PND
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_gosdnCLI_proto_rawDescGZIP
(),
[]
int
{
9
}
}
func
(
x
*
PND
)
GetUuid
()
string
{
if
x
!=
nil
{
return
x
.
Uuid
}
return
""
}
func
(
x
*
PND
)
GetName
()
string
{
if
x
!=
nil
{
return
x
.
Name
}
return
""
}
func
(
x
*
PND
)
GetDescription
()
string
{
if
x
!=
nil
{
return
x
.
Description
}
return
""
}
func
(
x
*
PND
)
GetSbi
()
string
{
if
x
!=
nil
{
return
x
.
Sbi
}
return
""
}
func
(
x
*
PND
)
GetDevices
()
[]
*
Device
{
if
x
!=
nil
{
return
x
.
Devices
}
return
nil
}
type
Device
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Uuid
string
`protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
Address
string
`protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
Username
string
`protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
Password
string
`protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
}
func
(
x
*
Device
)
Reset
()
{
*
x
=
Device
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
10
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
Device
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
Device
)
ProtoMessage
()
{}
func
(
x
*
Device
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
10
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use Device.ProtoReflect.Descriptor instead.
func
(
*
Device
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_gosdnCLI_proto_rawDescGZIP
(),
[]
int
{
10
}
}
func
(
x
*
Device
)
GetUuid
()
string
{
if
x
!=
nil
{
return
x
.
Uuid
}
return
""
}
func
(
x
*
Device
)
GetAddress
()
string
{
if
x
!=
nil
{
return
x
.
Address
}
return
""
}
func
(
x
*
Device
)
GetUsername
()
string
{
if
x
!=
nil
{
return
x
.
Username
}
return
""
}
func
(
x
*
Device
)
GetPassword
()
string
{
if
x
!=
nil
{
return
x
.
Password
}
return
""
}
type
AddDeviceRequest
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
UuidPND
string
`protobuf:"bytes,1,opt,name=uuidPND,proto3" json:"uuidPND,omitempty"`
Device
*
Device
`protobuf:"bytes,2,opt,name=device,proto3" json:"device,omitempty"`
}
func
(
x
*
AddDeviceRequest
)
Reset
()
{
*
x
=
AddDeviceRequest
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
11
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
AddDeviceRequest
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
AddDeviceRequest
)
ProtoMessage
()
{}
func
(
x
*
AddDeviceRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
11
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use AddDeviceRequest.ProtoReflect.Descriptor instead.
func
(
*
AddDeviceRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_gosdnCLI_proto_rawDescGZIP
(),
[]
int
{
11
}
}
func
(
x
*
AddDeviceRequest
)
GetUuidPND
()
string
{
if
x
!=
nil
{
return
x
.
UuidPND
}
return
""
}
func
(
x
*
AddDeviceRequest
)
GetDevice
()
*
Device
{
if
x
!=
nil
{
return
x
.
Device
}
return
nil
}
type
AddDeviceReply
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Message
string
`protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
}
func
(
x
*
AddDeviceReply
)
Reset
()
{
*
x
=
AddDeviceReply
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
12
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
AddDeviceReply
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
AddDeviceReply
)
ProtoMessage
()
{}
func
(
x
*
AddDeviceReply
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
12
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use AddDeviceReply.ProtoReflect.Descriptor instead.
func
(
*
AddDeviceReply
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_gosdnCLI_proto_rawDescGZIP
(),
[]
int
{
12
}
}
func
(
x
*
AddDeviceReply
)
GetMessage
()
string
{
if
x
!=
nil
{
return
x
.
Message
}
...
...
@@ -445,7 +745,7 @@ type LogReply struct {
func
(
x
*
LogReply
)
Reset
()
{
*
x
=
LogReply
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
8
]
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
13
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -458,7 +758,7 @@ func (x *LogReply) String() string {
func
(
*
LogReply
)
ProtoMessage
()
{}
func
(
x
*
LogReply
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
8
]
mi
:=
&
file_gosdnCLI_proto_msgTypes
[
13
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -471,7 +771,7 @@ func (x *LogReply) ProtoReflect() protoreflect.Message {
// Deprecated: Use LogReply.ProtoReflect.Descriptor instead.
func
(
*
LogReply
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_gosdnCLI_proto_rawDescGZIP
(),
[]
int
{
8
}
return
file_gosdnCLI_proto_rawDescGZIP
(),
[]
int
{
13
}
}
func
(
x
*
LogReply
)
GetLog
()
string
{
...
...
@@ -503,48 +803,84 @@ var file_gosdnCLI_proto_rawDesc = []byte{
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x22
,
0x25
,
0x0a
,
0x09
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x6d
,
0x65
,
0x73
,
0x73
,
0x61
,
0x67
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x6d
,
0x65
,
0x73
,
0x73
,
0x61
,
0x67
,
0x65
,
0x22
,
0x54
,
0x0a
,
0x0a
,
0x50
,
0x4e
,
0x44
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x64
,
0x65
,
0x73
,
0x63
,
0x72
,
0x69
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0b
,
0x64
,
0x65
,
0x73
,
0x63
,
0x72
,
0x69
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x73
,
0x62
,
0x69
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x73
,
0x62
,
0x69
,
0x22
,
0x24
,
0x0a
,
0x08
,
0x50
,
0x4e
,
0x44
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x6d
,
0x65
,
0x73
,
0x73
,
0x61
,
0x67
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x6d
,
0x65
,
0x73
,
0x73
,
0x61
,
0x67
,
0x65
,
0x22
,
0x1c
,
0x0a
,
0x08
,
0x4c
,
0x6f
,
0x67
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x6c
,
0x6f
,
0x67
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x6c
,
0x6f
,
0x67
,
0x32
,
0x97
,
0x03
,
0x0a
,
0x07
,
0x47
,
0x72
,
0x70
,
0x63
,
0x43
,
0x6c
,
0x69
,
0x12
,
0x34
,
0x0a
,
0x08
,
0x53
,
0x61
,
0x79
,
0x48
,
0x65
,
0x6c
,
0x6c
,
0x6f
,
0x12
,
0x13
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x48
,
0x65
,
0x6c
,
0x6c
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x11
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x48
,
0x65
,
0x6c
,
0x6c
,
0x6f
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x3a
,
0x0a
,
0x08
,
0x53
,
0x68
,
0x75
,
0x74
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x12
,
0x16
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x53
,
0x68
,
0x75
,
0x74
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x14
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x53
,
0x68
,
0x75
,
0x74
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x3e
,
0x0a
,
0x0f
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4c
,
0x6f
,
0x67
,
0x53
,
0x74
,
0x72
,
0x65
,
0x61
,
0x6d
,
0x12
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x1a
,
0x0f
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x4c
,
0x6f
,
0x67
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x30
,
0x01
,
0x12
,
0x35
,
0x0a
,
0x0b
,
0x54
,
0x41
,
0x50
,
0x49
,
0x47
,
0x65
,
0x74
,
0x45
,
0x64
,
0x67
,
0x65
,
0x12
,
0x12
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x10
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x39
,
0x0a
,
0x0f
,
0x54
,
0x41
,
0x50
,
0x49
,
0x47
,
0x65
,
0x74
,
0x45
,
0x64
,
0x67
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x12
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x10
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x35
,
0x0a
,
0x0b
,
0x54
,
0x41
,
0x50
,
0x49
,
0x47
,
0x65
,
0x74
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x12
,
0x12
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x10
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x31
,
0x0a
,
0x09
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x50
,
0x4e
,
0x44
,
0x12
,
0x11
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x50
,
0x4e
,
0x44
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x0f
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x50
,
0x4e
,
0x44
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x42
,
0x50
,
0x0a
,
0x1e
,
0x64
,
0x65
,
0x2e
,
0x68
,
0x2d
,
0x64
,
0x61
,
0x2e
,
0x66
,
0x62
,
0x69
,
0x2e
,
0x67
,
0x6f
,
0x73
,
0x64
,
0x6e
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x49
,
0x6e
,
0x74
,
0x65
,
0x72
,
0x66
,
0x61
,
0x63
,
0x65
,
0x42
,
0x0c
,
0x63
,
0x6c
,
0x69
,
0x49
,
0x6e
,
0x74
,
0x65
,
0x72
,
0x66
,
0x61
,
0x63
,
0x65
,
0x50
,
0x01
,
0x5a
,
0x1e
,
0x67
,
0x69
,
0x74
,
0x6c
,
0x61
,
0x62
,
0x2e
,
0x66
,
0x62
,
0x69
,
0x2e
,
0x68
,
0x2d
,
0x64
,
0x61
,
0x2e
,
0x64
,
0x65
,
0x2f
,
0x63
,
0x6f
,
0x63
,
0x73
,
0x6e
,
0x2f
,
0x67
,
0x6f
,
0x73
,
0x64
,
0x6e
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
0x09
,
0x52
,
0x07
,
0x6d
,
0x65
,
0x73
,
0x73
,
0x61
,
0x67
,
0x65
,
0x22
,
0x5a
,
0x0a
,
0x10
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x50
,
0x4e
,
0x44
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x64
,
0x65
,
0x73
,
0x63
,
0x72
,
0x69
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0b
,
0x64
,
0x65
,
0x73
,
0x63
,
0x72
,
0x69
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x73
,
0x62
,
0x69
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x73
,
0x62
,
0x69
,
0x22
,
0x2a
,
0x0a
,
0x0e
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x50
,
0x4e
,
0x44
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x6d
,
0x65
,
0x73
,
0x73
,
0x61
,
0x67
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x6d
,
0x65
,
0x73
,
0x73
,
0x61
,
0x67
,
0x65
,
0x22
,
0x2e
,
0x0a
,
0x0c
,
0x41
,
0x6c
,
0x6c
,
0x50
,
0x4e
,
0x44
,
0x73
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x1e
,
0x0a
,
0x04
,
0x70
,
0x6e
,
0x64
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x50
,
0x4e
,
0x44
,
0x52
,
0x04
,
0x70
,
0x6e
,
0x64
,
0x73
,
0x22
,
0x8a
,
0x01
,
0x0a
,
0x03
,
0x50
,
0x4e
,
0x44
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x75
,
0x75
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x75
,
0x75
,
0x69
,
0x64
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x64
,
0x65
,
0x73
,
0x63
,
0x72
,
0x69
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0b
,
0x64
,
0x65
,
0x73
,
0x63
,
0x72
,
0x69
,
0x70
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x73
,
0x62
,
0x69
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x73
,
0x62
,
0x69
,
0x12
,
0x27
,
0x0a
,
0x07
,
0x64
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x73
,
0x18
,
0x05
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x0d
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x44
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x52
,
0x07
,
0x64
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x73
,
0x22
,
0x6e
,
0x0a
,
0x06
,
0x44
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x75
,
0x75
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x75
,
0x75
,
0x69
,
0x64
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x61
,
0x64
,
0x64
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x61
,
0x64
,
0x64
,
0x72
,
0x65
,
0x73
,
0x73
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x75
,
0x73
,
0x65
,
0x72
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x75
,
0x73
,
0x65
,
0x72
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x70
,
0x61
,
0x73
,
0x73
,
0x77
,
0x6f
,
0x72
,
0x64
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x70
,
0x61
,
0x73
,
0x73
,
0x77
,
0x6f
,
0x72
,
0x64
,
0x22
,
0x53
,
0x0a
,
0x10
,
0x41
,
0x64
,
0x64
,
0x44
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x75
,
0x75
,
0x69
,
0x64
,
0x50
,
0x4e
,
0x44
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x75
,
0x75
,
0x69
,
0x64
,
0x50
,
0x4e
,
0x44
,
0x12
,
0x25
,
0x0a
,
0x06
,
0x64
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0d
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x44
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x52
,
0x06
,
0x64
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x22
,
0x2a
,
0x0a
,
0x0e
,
0x41
,
0x64
,
0x64
,
0x44
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x6d
,
0x65
,
0x73
,
0x73
,
0x61
,
0x67
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x6d
,
0x65
,
0x73
,
0x73
,
0x61
,
0x67
,
0x65
,
0x22
,
0x1c
,
0x0a
,
0x08
,
0x4c
,
0x6f
,
0x67
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x6c
,
0x6f
,
0x67
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x6c
,
0x6f
,
0x67
,
0x32
,
0x9f
,
0x04
,
0x0a
,
0x07
,
0x47
,
0x72
,
0x70
,
0x63
,
0x43
,
0x6c
,
0x69
,
0x12
,
0x34
,
0x0a
,
0x08
,
0x53
,
0x61
,
0x79
,
0x48
,
0x65
,
0x6c
,
0x6c
,
0x6f
,
0x12
,
0x13
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x48
,
0x65
,
0x6c
,
0x6c
,
0x6f
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x11
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x48
,
0x65
,
0x6c
,
0x6c
,
0x6f
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x3a
,
0x0a
,
0x08
,
0x53
,
0x68
,
0x75
,
0x74
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x12
,
0x16
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x53
,
0x68
,
0x75
,
0x74
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x14
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x53
,
0x68
,
0x75
,
0x74
,
0x64
,
0x6f
,
0x77
,
0x6e
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x3e
,
0x0a
,
0x0f
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x4c
,
0x6f
,
0x67
,
0x53
,
0x74
,
0x72
,
0x65
,
0x61
,
0x6d
,
0x12
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x1a
,
0x0f
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x4c
,
0x6f
,
0x67
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x30
,
0x01
,
0x12
,
0x35
,
0x0a
,
0x0b
,
0x54
,
0x41
,
0x50
,
0x49
,
0x47
,
0x65
,
0x74
,
0x45
,
0x64
,
0x67
,
0x65
,
0x12
,
0x12
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x10
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x39
,
0x0a
,
0x0f
,
0x54
,
0x41
,
0x50
,
0x49
,
0x47
,
0x65
,
0x74
,
0x45
,
0x64
,
0x67
,
0x65
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x12
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x10
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x35
,
0x0a
,
0x0b
,
0x54
,
0x41
,
0x50
,
0x49
,
0x47
,
0x65
,
0x74
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x12
,
0x12
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x10
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x54
,
0x41
,
0x50
,
0x49
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x3d
,
0x0a
,
0x09
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x50
,
0x4e
,
0x44
,
0x12
,
0x17
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x50
,
0x4e
,
0x44
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x15
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x43
,
0x72
,
0x65
,
0x61
,
0x74
,
0x65
,
0x50
,
0x4e
,
0x44
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x3b
,
0x0a
,
0x0a
,
0x47
,
0x65
,
0x74
,
0x41
,
0x6c
,
0x6c
,
0x50
,
0x4e
,
0x44
,
0x73
,
0x12
,
0x16
,
0x2e
,
0x67
,
0x6f
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x62
,
0x75
,
0x66
,
0x2e
,
0x45
,
0x6d
,
0x70
,
0x74
,
0x79
,
0x1a
,
0x13
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x41
,
0x6c
,
0x6c
,
0x50
,
0x4e
,
0x44
,
0x73
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x12
,
0x3d
,
0x0a
,
0x09
,
0x41
,
0x64
,
0x64
,
0x44
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x12
,
0x17
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x41
,
0x64
,
0x64
,
0x44
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x52
,
0x65
,
0x71
,
0x75
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x15
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x2e
,
0x41
,
0x64
,
0x64
,
0x44
,
0x65
,
0x76
,
0x69
,
0x63
,
0x65
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x22
,
0x00
,
0x42
,
0x50
,
0x0a
,
0x1e
,
0x64
,
0x65
,
0x2e
,
0x68
,
0x2d
,
0x64
,
0x61
,
0x2e
,
0x66
,
0x62
,
0x69
,
0x2e
,
0x67
,
0x6f
,
0x73
,
0x64
,
0x6e
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x49
,
0x6e
,
0x74
,
0x65
,
0x72
,
0x66
,
0x61
,
0x63
,
0x65
,
0x42
,
0x0c
,
0x63
,
0x6c
,
0x69
,
0x49
,
0x6e
,
0x74
,
0x65
,
0x72
,
0x66
,
0x61
,
0x63
,
0x65
,
0x50
,
0x01
,
0x5a
,
0x1e
,
0x67
,
0x69
,
0x74
,
0x6c
,
0x61
,
0x62
,
0x2e
,
0x66
,
0x62
,
0x69
,
0x2e
,
0x68
,
0x2d
,
0x64
,
0x61
,
0x2e
,
0x64
,
0x65
,
0x2f
,
0x63
,
0x6f
,
0x63
,
0x73
,
0x6e
,
0x2f
,
0x67
,
0x6f
,
0x73
,
0x64
,
0x6e
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
...
...
@@ -559,39 +895,51 @@ func file_gosdnCLI_proto_rawDescGZIP() []byte {
return
file_gosdnCLI_proto_rawDescData
}
var
file_gosdnCLI_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
9
)
var
file_gosdnCLI_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
14
)
var
file_gosdnCLI_proto_goTypes
=
[]
interface
{}{
(
*
HelloRequest
)(
nil
),
// 0: proto.HelloRequest
(
*
HelloReply
)(
nil
),
// 1: proto.HelloReply
(
*
ShutdownRequest
)(
nil
),
// 2: proto.ShutdownRequest
(
*
ShutdownReply
)(
nil
),
// 3: proto.ShutdownReply
(
*
TAPIRequest
)(
nil
),
// 4: proto.TAPIRequest
(
*
TAPIReply
)(
nil
),
// 5: proto.TAPIReply
(
*
PNDRequest
)(
nil
),
// 6: proto.PNDRequest
(
*
PNDReply
)(
nil
),
// 7: proto.PNDReply
(
*
LogReply
)(
nil
),
// 8: proto.LogReply
(
*
emptypb
.
Empty
)(
nil
),
// 9: google.protobuf.Empty
(
*
HelloRequest
)(
nil
),
// 0: proto.HelloRequest
(
*
HelloReply
)(
nil
),
// 1: proto.HelloReply
(
*
ShutdownRequest
)(
nil
),
// 2: proto.ShutdownRequest
(
*
ShutdownReply
)(
nil
),
// 3: proto.ShutdownReply
(
*
TAPIRequest
)(
nil
),
// 4: proto.TAPIRequest
(
*
TAPIReply
)(
nil
),
// 5: proto.TAPIReply
(
*
CreatePNDRequest
)(
nil
),
// 6: proto.CreatePNDRequest
(
*
CreatePNDReply
)(
nil
),
// 7: proto.CreatePNDReply
(
*
AllPNDsReply
)(
nil
),
// 8: proto.AllPNDsReply
(
*
PND
)(
nil
),
// 9: proto.PND
(
*
Device
)(
nil
),
// 10: proto.Device
(
*
AddDeviceRequest
)(
nil
),
// 11: proto.AddDeviceRequest
(
*
AddDeviceReply
)(
nil
),
// 12: proto.AddDeviceReply
(
*
LogReply
)(
nil
),
// 13: proto.LogReply
(
*
emptypb
.
Empty
)(
nil
),
// 14: google.protobuf.Empty
}
var
file_gosdnCLI_proto_depIdxs
=
[]
int32
{
0
,
// 0: proto.GrpcCli.SayHello:input_type -> proto.HelloRequest
2
,
// 1: proto.GrpcCli.Shutdown:input_type -> proto.ShutdownRequest
9
,
// 2: proto.GrpcCli.CreateLogStream:input_type -> google.protobuf.Empty
4
,
// 3: proto.GrpcCli.TAPIGetEdge:input_type -> proto.TAPIRequest
4
,
// 4: proto.GrpcCli.TAPIGetEdgeNode:input_type -> proto.TAPIRequest
4
,
// 5: proto.GrpcCli.TAPIGetLink:input_type -> proto.TAPIRequest
6
,
// 6: proto.GrpcCli.CreatePND:input_type -> proto.PNDRequest
1
,
// 7: proto.GrpcCli.SayHello:output_type -> proto.HelloReply
3
,
// 8: proto.GrpcCli.Shutdown:output_type -> proto.ShutdownReply
8
,
// 9: proto.GrpcCli.CreateLogStream:output_type -> proto.LogReply
5
,
// 10: proto.GrpcCli.TAPIGetEdge:output_type -> proto.TAPIReply
5
,
// 11: proto.GrpcCli.TAPIGetEdgeNode:output_type -> proto.TAPIReply
5
,
// 12: proto.GrpcCli.TAPIGetLink:output_type -> proto.TAPIReply
7
,
// 13: proto.GrpcCli.CreatePND:output_type -> proto.PNDReply
7
,
// [7:14] is the sub-list for method output_type
0
,
// [0:7] is the sub-list for method input_type
0
,
// [0:0] is the sub-list for extension type_name
0
,
// [0:0] is the sub-list for extension extendee
0
,
// [0:0] is the sub-list for field type_name
9
,
// 0: proto.AllPNDsReply.pnds:type_name -> proto.PND
10
,
// 1: proto.PND.devices:type_name -> proto.Device
10
,
// 2: proto.AddDeviceRequest.device:type_name -> proto.Device
0
,
// 3: proto.GrpcCli.SayHello:input_type -> proto.HelloRequest
2
,
// 4: proto.GrpcCli.Shutdown:input_type -> proto.ShutdownRequest
14
,
// 5: proto.GrpcCli.CreateLogStream:input_type -> google.protobuf.Empty
4
,
// 6: proto.GrpcCli.TAPIGetEdge:input_type -> proto.TAPIRequest
4
,
// 7: proto.GrpcCli.TAPIGetEdgeNode:input_type -> proto.TAPIRequest
4
,
// 8: proto.GrpcCli.TAPIGetLink:input_type -> proto.TAPIRequest
6
,
// 9: proto.GrpcCli.CreatePND:input_type -> proto.CreatePNDRequest
14
,
// 10: proto.GrpcCli.GetAllPNDs:input_type -> google.protobuf.Empty
11
,
// 11: proto.GrpcCli.AddDevice:input_type -> proto.AddDeviceRequest
1
,
// 12: proto.GrpcCli.SayHello:output_type -> proto.HelloReply
3
,
// 13: proto.GrpcCli.Shutdown:output_type -> proto.ShutdownReply
13
,
// 14: proto.GrpcCli.CreateLogStream:output_type -> proto.LogReply
5
,
// 15: proto.GrpcCli.TAPIGetEdge:output_type -> proto.TAPIReply
5
,
// 16: proto.GrpcCli.TAPIGetEdgeNode:output_type -> proto.TAPIReply
5
,
// 17: proto.GrpcCli.TAPIGetLink:output_type -> proto.TAPIReply
7
,
// 18: proto.GrpcCli.CreatePND:output_type -> proto.CreatePNDReply
8
,
// 19: proto.GrpcCli.GetAllPNDs:output_type -> proto.AllPNDsReply
12
,
// 20: proto.GrpcCli.AddDevice:output_type -> proto.AddDeviceReply
12
,
// [12:21] is the sub-list for method output_type
3
,
// [3:12] is the sub-list for method input_type
3
,
// [3:3] is the sub-list for extension type_name
3
,
// [3:3] is the sub-list for extension extendee
0
,
// [0:3] is the sub-list for field type_name
}
func
init
()
{
file_gosdnCLI_proto_init
()
}
...
...
@@ -673,7 +1021,7 @@ func file_gosdnCLI_proto_init() {
}
}
file_gosdnCLI_proto_msgTypes
[
6
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
PNDRequest
);
i
{
switch
v
:=
v
.
(
*
Create
PNDRequest
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -685,7 +1033,7 @@ func file_gosdnCLI_proto_init() {
}
}
file_gosdnCLI_proto_msgTypes
[
7
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
PNDReply
);
i
{
switch
v
:=
v
.
(
*
Create
PNDReply
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -697,6 +1045,66 @@ func file_gosdnCLI_proto_init() {
}
}
file_gosdnCLI_proto_msgTypes
[
8
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
AllPNDsReply
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_gosdnCLI_proto_msgTypes
[
9
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
PND
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_gosdnCLI_proto_msgTypes
[
10
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Device
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_gosdnCLI_proto_msgTypes
[
11
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
AddDeviceRequest
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_gosdnCLI_proto_msgTypes
[
12
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
AddDeviceReply
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_gosdnCLI_proto_msgTypes
[
13
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
LogReply
);
i
{
case
0
:
return
&
v
.
state
...
...
@@ -715,7 +1123,7 @@ func file_gosdnCLI_proto_init() {
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
RawDescriptor
:
file_gosdnCLI_proto_rawDesc
,
NumEnums
:
0
,
NumMessages
:
9
,
NumMessages
:
14
,
NumExtensions
:
0
,
NumServices
:
1
,
},
...
...
@@ -755,7 +1163,11 @@ type GrpcCliClient interface {
// TAPIGetLink
TAPIGetLink
(
ctx
context
.
Context
,
in
*
TAPIRequest
,
opts
...
grpc
.
CallOption
)
(
*
TAPIReply
,
error
)
// CreatePND
CreatePND
(
ctx
context
.
Context
,
in
*
PNDRequest
,
opts
...
grpc
.
CallOption
)
(
*
PNDReply
,
error
)
CreatePND
(
ctx
context
.
Context
,
in
*
CreatePNDRequest
,
opts
...
grpc
.
CallOption
)
(
*
CreatePNDReply
,
error
)
// GetAllPNDs
GetAllPNDs
(
ctx
context
.
Context
,
in
*
emptypb
.
Empty
,
opts
...
grpc
.
CallOption
)
(
*
AllPNDsReply
,
error
)
// AddDevice
AddDevice
(
ctx
context
.
Context
,
in
*
AddDeviceRequest
,
opts
...
grpc
.
CallOption
)
(
*
AddDeviceReply
,
error
)
}
type
grpcCliClient
struct
{
...
...
@@ -843,8 +1255,8 @@ func (c *grpcCliClient) TAPIGetLink(ctx context.Context, in *TAPIRequest, opts .
return
out
,
nil
}
func
(
c
*
grpcCliClient
)
CreatePND
(
ctx
context
.
Context
,
in
*
PNDRequest
,
opts
...
grpc
.
CallOption
)
(
*
PNDReply
,
error
)
{
out
:=
new
(
PNDReply
)
func
(
c
*
grpcCliClient
)
CreatePND
(
ctx
context
.
Context
,
in
*
Create
PNDRequest
,
opts
...
grpc
.
CallOption
)
(
*
Create
PNDReply
,
error
)
{
out
:=
new
(
Create
PNDReply
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
"/proto.GrpcCli/CreatePND"
,
in
,
out
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -852,6 +1264,24 @@ func (c *grpcCliClient) CreatePND(ctx context.Context, in *PNDRequest, opts ...g
return
out
,
nil
}
func
(
c
*
grpcCliClient
)
GetAllPNDs
(
ctx
context
.
Context
,
in
*
emptypb
.
Empty
,
opts
...
grpc
.
CallOption
)
(
*
AllPNDsReply
,
error
)
{
out
:=
new
(
AllPNDsReply
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
"/proto.GrpcCli/GetAllPNDs"
,
in
,
out
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
func
(
c
*
grpcCliClient
)
AddDevice
(
ctx
context
.
Context
,
in
*
AddDeviceRequest
,
opts
...
grpc
.
CallOption
)
(
*
AddDeviceReply
,
error
)
{
out
:=
new
(
AddDeviceReply
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
"/proto.GrpcCli/AddDevice"
,
in
,
out
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
// GrpcCliServer is the server API for GrpcCli service.
type
GrpcCliServer
interface
{
// Sends a greeting
...
...
@@ -868,7 +1298,11 @@ type GrpcCliServer interface {
// TAPIGetLink
TAPIGetLink
(
context
.
Context
,
*
TAPIRequest
)
(
*
TAPIReply
,
error
)
// CreatePND
CreatePND
(
context
.
Context
,
*
PNDRequest
)
(
*
PNDReply
,
error
)
CreatePND
(
context
.
Context
,
*
CreatePNDRequest
)
(
*
CreatePNDReply
,
error
)
// GetAllPNDs
GetAllPNDs
(
context
.
Context
,
*
emptypb
.
Empty
)
(
*
AllPNDsReply
,
error
)
// AddDevice
AddDevice
(
context
.
Context
,
*
AddDeviceRequest
)
(
*
AddDeviceReply
,
error
)
}
// UnimplementedGrpcCliServer can be embedded to have forward compatible implementations.
...
...
@@ -893,9 +1327,15 @@ func (*UnimplementedGrpcCliServer) TAPIGetEdgeNode(context.Context, *TAPIRequest
func
(
*
UnimplementedGrpcCliServer
)
TAPIGetLink
(
context
.
Context
,
*
TAPIRequest
)
(
*
TAPIReply
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method TAPIGetLink not implemented"
)
}
func
(
*
UnimplementedGrpcCliServer
)
CreatePND
(
context
.
Context
,
*
PNDRequest
)
(
*
PNDReply
,
error
)
{
func
(
*
UnimplementedGrpcCliServer
)
CreatePND
(
context
.
Context
,
*
Create
PNDRequest
)
(
*
Create
PNDReply
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method CreatePND not implemented"
)
}
func
(
*
UnimplementedGrpcCliServer
)
GetAllPNDs
(
context
.
Context
,
*
emptypb
.
Empty
)
(
*
AllPNDsReply
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method GetAllPNDs not implemented"
)
}
func
(
*
UnimplementedGrpcCliServer
)
AddDevice
(
context
.
Context
,
*
AddDeviceRequest
)
(
*
AddDeviceReply
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method AddDevice not implemented"
)
}
func
RegisterGrpcCliServer
(
s
*
grpc
.
Server
,
srv
GrpcCliServer
)
{
s
.
RegisterService
(
&
_GrpcCli_serviceDesc
,
srv
)
...
...
@@ -1013,7 +1453,7 @@ func _GrpcCli_TAPIGetLink_Handler(srv interface{}, ctx context.Context, dec func
}
func
_GrpcCli_CreatePND_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
PNDRequest
)
in
:=
new
(
Create
PNDRequest
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
...
...
@@ -1025,7 +1465,43 @@ func _GrpcCli_CreatePND_Handler(srv interface{}, ctx context.Context, dec func(i
FullMethod
:
"/proto.GrpcCli/CreatePND"
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
GrpcCliServer
)
.
CreatePND
(
ctx
,
req
.
(
*
PNDRequest
))
return
srv
.
(
GrpcCliServer
)
.
CreatePND
(
ctx
,
req
.
(
*
CreatePNDRequest
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_GrpcCli_GetAllPNDs_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
emptypb
.
Empty
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
GrpcCliServer
)
.
GetAllPNDs
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
"/proto.GrpcCli/GetAllPNDs"
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
GrpcCliServer
)
.
GetAllPNDs
(
ctx
,
req
.
(
*
emptypb
.
Empty
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_GrpcCli_AddDevice_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
AddDeviceRequest
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
GrpcCliServer
)
.
AddDevice
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
"/proto.GrpcCli/AddDevice"
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
GrpcCliServer
)
.
AddDevice
(
ctx
,
req
.
(
*
AddDeviceRequest
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
...
...
@@ -1058,6 +1534,14 @@ var _GrpcCli_serviceDesc = grpc.ServiceDesc{
MethodName
:
"CreatePND"
,
Handler
:
_GrpcCli_CreatePND_Handler
,
},
{
MethodName
:
"GetAllPNDs"
,
Handler
:
_GrpcCli_GetAllPNDs_Handler
,
},
{
MethodName
:
"AddDevice"
,
Handler
:
_GrpcCli_AddDevice_Handler
,
},
},
Streams
:
[]
grpc
.
StreamDesc
{
{
...
...
This diff is collapsed.
Click to expand it.
api/proto/gosdnCLI.proto
+
37
−
3
View file @
c1242e9f
...
...
@@ -2,6 +2,7 @@ syntax = "proto3";
import
"google/protobuf/empty.proto"
;
option
go_package
=
"gitlab.fbi.h-da.de/cocsn/gosdn"
;
//TODO: purpose?
option
java_multiple_files
=
true
;
option
java_package
=
"de.h-da.fbi.gosdn.cliInterface"
;
option
java_outer_classname
=
"cliInterface"
;
...
...
@@ -26,7 +27,11 @@ service GrpcCli {
// TAPIGetLink
rpc
TAPIGetLink
(
TAPIRequest
)
returns
(
TAPIReply
)
{}
// CreatePND
rpc
CreatePND
(
PNDRequest
)
returns
(
PNDReply
)
{}
rpc
CreatePND
(
CreatePNDRequest
)
returns
(
CreatePNDReply
)
{}
// GetAllPNDs
rpc
GetAllPNDs
(
google.protobuf.Empty
)
returns
(
AllPNDsReply
)
{}
// AddDevice
rpc
AddDevice
(
AddDeviceRequest
)
returns
(
AddDeviceReply
)
{}
}
// The request message containing the user's name.
...
...
@@ -61,17 +66,46 @@ message TAPIReply {
}
//
message
PNDRequest
{
message
Create
PNDRequest
{
string
name
=
1
;
string
description
=
2
;
string
sbi
=
3
;
}
//
message
PNDReply
{
message
Create
PNDReply
{
string
message
=
1
;
}
//
message
AllPNDsReply
{
repeated
PND
pnds
=
1
;
}
message
PND
{
string
uuid
=
1
;
string
name
=
2
;
string
description
=
3
;
string
sbi
=
4
;
repeated
Device
devices
=
5
;
}
message
Device
{
string
uuid
=
1
;
string
address
=
2
;
string
username
=
3
;
string
password
=
4
;
}
message
AddDeviceRequest
{
string
uuidPND
=
1
;
Device
device
=
2
;
}
message
AddDeviceReply
{
string
message
=
1
;
}
// The response message containing a string with a goSDN log
message
LogReply
{
string
log
=
1
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment