mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-01-19 05:45:21 +01:00
lnrpc/wtclientrpc: correctly merge tower client info
Prior to this commit, the wtclient would request tower info from both the legacy client and the anchors client and would then merge the results returned. This is incorrect since the two clients will have different session info and different "active" statuses for the same tower. This commit thus ensures that we dont lose this info.
This commit is contained in:
parent
c1be420696
commit
b635629e3c
@ -1,10 +1,13 @@
|
||||
package wtclientrpc
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"sort"
|
||||
"strconv"
|
||||
|
||||
"github.com/btcsuite/btcd/btcec/v2"
|
||||
@ -274,30 +277,46 @@ func (c *WatchtowerClient) ListTowers(ctx context.Context,
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Collect all the anchor client towers.
|
||||
rpcTowers := make(map[wtdb.TowerID]*Tower)
|
||||
for _, tower := range anchorTowers {
|
||||
rpcTower := marshallTower(
|
||||
tower, PolicyType_ANCHOR, req.IncludeSessions,
|
||||
ackCounts, committedUpdateCounts,
|
||||
)
|
||||
|
||||
rpcTowers[tower.ID] = rpcTower
|
||||
}
|
||||
|
||||
legacyTowers, err := c.cfg.Client.RegisteredTowers(opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Filter duplicates.
|
||||
towers := make(map[wtdb.TowerID]*wtclient.RegisteredTower)
|
||||
for _, tower := range anchorTowers {
|
||||
towers[tower.Tower.ID] = tower
|
||||
}
|
||||
// Collect all the legacy client towers. If it has any of the same
|
||||
// towers that the anchors client has, then just add the session info
|
||||
// for the legacy client to the existing tower.
|
||||
for _, tower := range legacyTowers {
|
||||
towers[tower.Tower.ID] = tower
|
||||
}
|
||||
|
||||
rpcTowers := make([]*Tower, 0, len(towers))
|
||||
for _, tower := range towers {
|
||||
rpcTower := marshallTower(
|
||||
tower, req.IncludeSessions, ackCounts,
|
||||
committedUpdateCounts,
|
||||
tower, PolicyType_LEGACY, req.IncludeSessions,
|
||||
ackCounts, committedUpdateCounts,
|
||||
)
|
||||
rpcTowers = append(rpcTowers, rpcTower)
|
||||
|
||||
t, ok := rpcTowers[tower.ID]
|
||||
if !ok {
|
||||
rpcTowers[tower.ID] = rpcTower
|
||||
continue
|
||||
}
|
||||
|
||||
return &ListTowersResponse{Towers: rpcTowers}, nil
|
||||
t.SessionInfo = append(t.SessionInfo, rpcTower.SessionInfo...)
|
||||
}
|
||||
|
||||
towers := make([]*Tower, 0, len(rpcTowers))
|
||||
for _, tower := range rpcTowers {
|
||||
towers = append(towers, tower)
|
||||
}
|
||||
|
||||
return &ListTowersResponse{Towers: towers}, nil
|
||||
}
|
||||
|
||||
// GetTowerInfo retrieves information for a registered watchtower.
|
||||
@ -317,18 +336,37 @@ func (c *WatchtowerClient) GetTowerInfo(ctx context.Context,
|
||||
req.IncludeSessions,
|
||||
)
|
||||
|
||||
var tower *wtclient.RegisteredTower
|
||||
tower, err = c.cfg.Client.LookupTower(pubKey, opts...)
|
||||
if err == wtdb.ErrTowerNotFound {
|
||||
tower, err = c.cfg.AnchorClient.LookupTower(pubKey, opts...)
|
||||
// Get the tower and its sessions from anchors client.
|
||||
tower, err := c.cfg.AnchorClient.LookupTower(pubKey, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
rpcTower := marshallTower(
|
||||
tower, PolicyType_ANCHOR, req.IncludeSessions, ackCounts,
|
||||
committedUpdateCounts,
|
||||
)
|
||||
|
||||
// Get the tower and its sessions from legacy client.
|
||||
tower, err = c.cfg.Client.LookupTower(pubKey, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return marshallTower(
|
||||
tower, req.IncludeSessions, ackCounts, committedUpdateCounts,
|
||||
), nil
|
||||
rpcLegacyTower := marshallTower(
|
||||
tower, PolicyType_LEGACY, req.IncludeSessions, ackCounts,
|
||||
committedUpdateCounts,
|
||||
)
|
||||
|
||||
if !bytes.Equal(rpcTower.Pubkey, rpcLegacyTower.Pubkey) {
|
||||
return nil, fmt.Errorf("legacy and anchor clients returned " +
|
||||
"inconsistent results for the given tower")
|
||||
}
|
||||
|
||||
rpcTower.SessionInfo = append(
|
||||
rpcTower.SessionInfo, rpcLegacyTower.SessionInfo...,
|
||||
)
|
||||
|
||||
return rpcTower, nil
|
||||
}
|
||||
|
||||
// constructFunctionalOptions is a helper function that constructs a list of
|
||||
@ -437,8 +475,8 @@ func (c *WatchtowerClient) Policy(ctx context.Context,
|
||||
|
||||
// marshallTower converts a client registered watchtower into its corresponding
|
||||
// RPC type.
|
||||
func marshallTower(tower *wtclient.RegisteredTower, includeSessions bool,
|
||||
ackCounts map[wtdb.SessionID]uint16,
|
||||
func marshallTower(tower *wtclient.RegisteredTower, policyType PolicyType,
|
||||
includeSessions bool, ackCounts map[wtdb.SessionID]uint16,
|
||||
pendingCounts map[wtdb.SessionID]uint16) *Tower {
|
||||
|
||||
rpcAddrs := make([]string, 0, len(tower.Addresses))
|
||||
@ -448,8 +486,24 @@ func marshallTower(tower *wtclient.RegisteredTower, includeSessions bool,
|
||||
|
||||
var rpcSessions []*TowerSession
|
||||
if includeSessions {
|
||||
rpcSessions = make([]*TowerSession, 0, len(tower.Sessions))
|
||||
// To ensure that the output order is deterministic for a given
|
||||
// set of sessions, we put the sessions into a slice and order
|
||||
// them based on session ID.
|
||||
sessions := make([]*wtdb.ClientSession, 0, len(tower.Sessions))
|
||||
for _, session := range tower.Sessions {
|
||||
sessions = append(sessions, session)
|
||||
}
|
||||
|
||||
sort.Slice(sessions, func(i, j int) bool {
|
||||
id1 := sessions[i].ID
|
||||
id2 := sessions[j].ID
|
||||
|
||||
return binary.BigEndian.Uint64(id1[:]) <
|
||||
binary.BigEndian.Uint64(id2[:])
|
||||
})
|
||||
|
||||
rpcSessions = make([]*TowerSession, 0, len(tower.Sessions))
|
||||
for _, session := range sessions {
|
||||
satPerVByte := session.Policy.SweepFeeRate.FeePerKVByte() / 1000
|
||||
rpcSessions = append(rpcSessions, &TowerSession{
|
||||
NumBackups: uint32(ackCounts[session.ID]),
|
||||
@ -463,11 +517,22 @@ func marshallTower(tower *wtclient.RegisteredTower, includeSessions bool,
|
||||
}
|
||||
}
|
||||
|
||||
return &Tower{
|
||||
rpcTower := &Tower{
|
||||
Pubkey: tower.IdentityKey.SerializeCompressed(),
|
||||
Addresses: rpcAddrs,
|
||||
SessionInfo: []*TowerSessionInfo{{
|
||||
PolicyType: policyType,
|
||||
ActiveSessionCandidate: tower.ActiveSessionCandidate,
|
||||
NumSessions: uint32(len(tower.Sessions)),
|
||||
Sessions: rpcSessions,
|
||||
}},
|
||||
// The below fields are populated for backwards compatibility
|
||||
// but will be removed in a future commit when the proto fields
|
||||
// are removed.
|
||||
ActiveSessionCandidate: tower.ActiveSessionCandidate,
|
||||
NumSessions: uint32(len(tower.Sessions)),
|
||||
Sessions: rpcSessions,
|
||||
}
|
||||
|
||||
return rpcTower
|
||||
}
|
||||
|
@ -418,12 +418,26 @@ type Tower struct {
|
||||
Pubkey []byte `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
|
||||
// The list of addresses the watchtower is reachable over.
|
||||
Addresses []string `protobuf:"bytes,2,rep,name=addresses,proto3" json:"addresses,omitempty"`
|
||||
// Deprecated, use the active_session_candidate field under the
|
||||
// correct identifier in the client_type map.
|
||||
// Whether the watchtower is currently a candidate for new sessions.
|
||||
//
|
||||
// Deprecated: Do not use.
|
||||
ActiveSessionCandidate bool `protobuf:"varint,3,opt,name=active_session_candidate,json=activeSessionCandidate,proto3" json:"active_session_candidate,omitempty"`
|
||||
// Deprecated, use the num_sessions field under the correct identifier
|
||||
// in the client_type map.
|
||||
// The number of sessions that have been negotiated with the watchtower.
|
||||
//
|
||||
// Deprecated: Do not use.
|
||||
NumSessions uint32 `protobuf:"varint,4,opt,name=num_sessions,json=numSessions,proto3" json:"num_sessions,omitempty"`
|
||||
// Deprecated, use the sessions field under the correct identifier in the
|
||||
// client_type map.
|
||||
// The list of sessions that have been negotiated with the watchtower.
|
||||
//
|
||||
// Deprecated: Do not use.
|
||||
Sessions []*TowerSession `protobuf:"bytes,5,rep,name=sessions,proto3" json:"sessions,omitempty"`
|
||||
// A list sessions held with the tower.
|
||||
SessionInfo []*TowerSessionInfo `protobuf:"bytes,6,rep,name=session_info,json=sessionInfo,proto3" json:"session_info,omitempty"`
|
||||
}
|
||||
|
||||
func (x *Tower) Reset() {
|
||||
@ -472,6 +486,7 @@ func (x *Tower) GetAddresses() []string {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (x *Tower) GetActiveSessionCandidate() bool {
|
||||
if x != nil {
|
||||
return x.ActiveSessionCandidate
|
||||
@ -479,6 +494,7 @@ func (x *Tower) GetActiveSessionCandidate() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (x *Tower) GetNumSessions() uint32 {
|
||||
if x != nil {
|
||||
return x.NumSessions
|
||||
@ -486,6 +502,7 @@ func (x *Tower) GetNumSessions() uint32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
// Deprecated: Do not use.
|
||||
func (x *Tower) GetSessions() []*TowerSession {
|
||||
if x != nil {
|
||||
return x.Sessions
|
||||
@ -493,6 +510,88 @@ func (x *Tower) GetSessions() []*TowerSession {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Tower) GetSessionInfo() []*TowerSessionInfo {
|
||||
if x != nil {
|
||||
return x.SessionInfo
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type TowerSessionInfo struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// Whether the watchtower is currently a candidate for new sessions.
|
||||
ActiveSessionCandidate bool `protobuf:"varint,1,opt,name=active_session_candidate,json=activeSessionCandidate,proto3" json:"active_session_candidate,omitempty"`
|
||||
// The number of sessions that have been negotiated with the watchtower.
|
||||
NumSessions uint32 `protobuf:"varint,2,opt,name=num_sessions,json=numSessions,proto3" json:"num_sessions,omitempty"`
|
||||
// The list of sessions that have been negotiated with the watchtower.
|
||||
Sessions []*TowerSession `protobuf:"bytes,3,rep,name=sessions,proto3" json:"sessions,omitempty"`
|
||||
// The session's policy type.
|
||||
PolicyType PolicyType `protobuf:"varint,4,opt,name=policy_type,json=policyType,proto3,enum=wtclientrpc.PolicyType" json:"policy_type,omitempty"`
|
||||
}
|
||||
|
||||
func (x *TowerSessionInfo) Reset() {
|
||||
*x = TowerSessionInfo{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[7]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *TowerSessionInfo) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*TowerSessionInfo) ProtoMessage() {}
|
||||
|
||||
func (x *TowerSessionInfo) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[7]
|
||||
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 TowerSessionInfo.ProtoReflect.Descriptor instead.
|
||||
func (*TowerSessionInfo) Descriptor() ([]byte, []int) {
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{7}
|
||||
}
|
||||
|
||||
func (x *TowerSessionInfo) GetActiveSessionCandidate() bool {
|
||||
if x != nil {
|
||||
return x.ActiveSessionCandidate
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *TowerSessionInfo) GetNumSessions() uint32 {
|
||||
if x != nil {
|
||||
return x.NumSessions
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *TowerSessionInfo) GetSessions() []*TowerSession {
|
||||
if x != nil {
|
||||
return x.Sessions
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *TowerSessionInfo) GetPolicyType() PolicyType {
|
||||
if x != nil {
|
||||
return x.PolicyType
|
||||
}
|
||||
return PolicyType_LEGACY
|
||||
}
|
||||
|
||||
type ListTowersRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@ -505,7 +604,7 @@ type ListTowersRequest struct {
|
||||
func (x *ListTowersRequest) Reset() {
|
||||
*x = ListTowersRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[7]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[8]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@ -518,7 +617,7 @@ func (x *ListTowersRequest) String() string {
|
||||
func (*ListTowersRequest) ProtoMessage() {}
|
||||
|
||||
func (x *ListTowersRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[7]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[8]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@ -531,7 +630,7 @@ func (x *ListTowersRequest) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use ListTowersRequest.ProtoReflect.Descriptor instead.
|
||||
func (*ListTowersRequest) Descriptor() ([]byte, []int) {
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{7}
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{8}
|
||||
}
|
||||
|
||||
func (x *ListTowersRequest) GetIncludeSessions() bool {
|
||||
@ -553,7 +652,7 @@ type ListTowersResponse struct {
|
||||
func (x *ListTowersResponse) Reset() {
|
||||
*x = ListTowersResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[8]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[9]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@ -566,7 +665,7 @@ func (x *ListTowersResponse) String() string {
|
||||
func (*ListTowersResponse) ProtoMessage() {}
|
||||
|
||||
func (x *ListTowersResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[8]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[9]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@ -579,7 +678,7 @@ func (x *ListTowersResponse) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use ListTowersResponse.ProtoReflect.Descriptor instead.
|
||||
func (*ListTowersResponse) Descriptor() ([]byte, []int) {
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{8}
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{9}
|
||||
}
|
||||
|
||||
func (x *ListTowersResponse) GetTowers() []*Tower {
|
||||
@ -598,7 +697,7 @@ type StatsRequest struct {
|
||||
func (x *StatsRequest) Reset() {
|
||||
*x = StatsRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[9]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[10]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@ -611,7 +710,7 @@ func (x *StatsRequest) String() string {
|
||||
func (*StatsRequest) ProtoMessage() {}
|
||||
|
||||
func (x *StatsRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[9]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[10]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@ -624,7 +723,7 @@ func (x *StatsRequest) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use StatsRequest.ProtoReflect.Descriptor instead.
|
||||
func (*StatsRequest) Descriptor() ([]byte, []int) {
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{9}
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{10}
|
||||
}
|
||||
|
||||
type StatsResponse struct {
|
||||
@ -650,7 +749,7 @@ type StatsResponse struct {
|
||||
func (x *StatsResponse) Reset() {
|
||||
*x = StatsResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[10]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[11]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@ -663,7 +762,7 @@ func (x *StatsResponse) String() string {
|
||||
func (*StatsResponse) ProtoMessage() {}
|
||||
|
||||
func (x *StatsResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[10]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[11]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@ -676,7 +775,7 @@ func (x *StatsResponse) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use StatsResponse.ProtoReflect.Descriptor instead.
|
||||
func (*StatsResponse) Descriptor() ([]byte, []int) {
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{10}
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{11}
|
||||
}
|
||||
|
||||
func (x *StatsResponse) GetNumBackups() uint32 {
|
||||
@ -726,7 +825,7 @@ type PolicyRequest struct {
|
||||
func (x *PolicyRequest) Reset() {
|
||||
*x = PolicyRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[11]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[12]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@ -739,7 +838,7 @@ func (x *PolicyRequest) String() string {
|
||||
func (*PolicyRequest) ProtoMessage() {}
|
||||
|
||||
func (x *PolicyRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[11]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[12]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@ -752,7 +851,7 @@ func (x *PolicyRequest) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use PolicyRequest.ProtoReflect.Descriptor instead.
|
||||
func (*PolicyRequest) Descriptor() ([]byte, []int) {
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{11}
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{12}
|
||||
}
|
||||
|
||||
func (x *PolicyRequest) GetPolicyType() PolicyType {
|
||||
@ -784,7 +883,7 @@ type PolicyResponse struct {
|
||||
func (x *PolicyResponse) Reset() {
|
||||
*x = PolicyResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[12]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[13]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@ -797,7 +896,7 @@ func (x *PolicyResponse) String() string {
|
||||
func (*PolicyResponse) ProtoMessage() {}
|
||||
|
||||
func (x *PolicyResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[12]
|
||||
mi := &file_wtclientrpc_wtclient_proto_msgTypes[13]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@ -810,7 +909,7 @@ func (x *PolicyResponse) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use PolicyResponse.ProtoReflect.Descriptor instead.
|
||||
func (*PolicyResponse) Descriptor() ([]byte, []int) {
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{12}
|
||||
return file_wtclientrpc_wtclient_proto_rawDescGZIP(), []int{13}
|
||||
}
|
||||
|
||||
func (x *PolicyResponse) GetMaxUpdates() uint32 {
|
||||
@ -871,94 +970,113 @@ var file_wtclientrpc_wtclient_proto_rawDesc = []byte{
|
||||
0x73, 0x77, 0x65, 0x65, 0x70, 0x53, 0x61, 0x74, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x12,
|
||||
0x2d, 0x0a, 0x13, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, 0x72,
|
||||
0x5f, 0x76, 0x62, 0x79, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x77,
|
||||
0x65, 0x65, 0x70, 0x53, 0x61, 0x74, 0x50, 0x65, 0x72, 0x56, 0x62, 0x79, 0x74, 0x65, 0x22, 0xd1,
|
||||
0x01, 0x0a, 0x05, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b,
|
||||
0x65, 0x65, 0x70, 0x53, 0x61, 0x74, 0x50, 0x65, 0x72, 0x56, 0x62, 0x79, 0x74, 0x65, 0x22, 0x9f,
|
||||
0x02, 0x0a, 0x05, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b,
|
||||
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79,
|
||||
0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20,
|
||||
0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x38,
|
||||
0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x3c,
|
||||
0x0a, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
|
||||
0x52, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43,
|
||||
0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f,
|
||||
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
|
||||
0x6e, 0x75, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x73,
|
||||
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e,
|
||||
0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x77, 0x65,
|
||||
0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x22, 0x3e, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75,
|
||||
0x64, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x22, 0x40, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x74, 0x6f, 0x77, 0x65,
|
||||
0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69,
|
||||
0x65, 0x6e, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x06, 0x74, 0x6f,
|
||||
0x77, 0x65, 0x72, 0x73, 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x22, 0xf8, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x61,
|
||||
0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x75, 0x6d,
|
||||
0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x70,
|
||||
0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67,
|
||||
0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x66,
|
||||
0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x61,
|
||||
0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x73,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x61, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x73, 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x75, 0x6d,
|
||||
0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, 0x78, 0x68, 0x61, 0x75, 0x73,
|
||||
0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6e, 0x75, 0x6d, 0x53, 0x65,
|
||||
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64, 0x22,
|
||||
0x49, 0x0a, 0x0d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x38, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
|
||||
0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a,
|
||||
0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x0e, 0x50,
|
||||
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a,
|
||||
0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2f,
|
||||
0x0a, 0x12, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f,
|
||||
0x62, 0x79, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f,
|
||||
0x73, 0x77, 0x65, 0x65, 0x70, 0x53, 0x61, 0x74, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x12,
|
||||
0x2d, 0x0a, 0x13, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, 0x72,
|
||||
0x5f, 0x76, 0x62, 0x79, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x77,
|
||||
0x65, 0x65, 0x70, 0x53, 0x61, 0x74, 0x50, 0x65, 0x72, 0x56, 0x62, 0x79, 0x74, 0x65, 0x2a, 0x24,
|
||||
0x0a, 0x0a, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06,
|
||||
0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4e, 0x43, 0x48,
|
||||
0x4f, 0x52, 0x10, 0x01, 0x32, 0xc5, 0x03, 0x0a, 0x10, 0x57, 0x61, 0x74, 0x63, 0x68, 0x74, 0x6f,
|
||||
0x77, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x08, 0x41, 0x64, 0x64,
|
||||
0x54, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
|
||||
0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70,
|
||||
0x63, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x77, 0x65,
|
||||
0x72, 0x12, 0x1f, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63, 0x2e,
|
||||
0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x20, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63,
|
||||
0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x77, 0x65,
|
||||
0x72, 0x73, 0x12, 0x1e, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63,
|
||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63,
|
||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x12, 0x20, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70,
|
||||
0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
|
||||
0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x05, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 0x12, 0x19, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63,
|
||||
0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e,
|
||||
0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x50, 0x6f, 0x6c,
|
||||
0x69, 0x63, 0x79, 0x12, 0x1a, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70,
|
||||
0x63, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x1b, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f,
|
||||
0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x33, 0x5a, 0x31,
|
||||
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74,
|
||||
0x6e, 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6c, 0x6e, 0x64, 0x2f,
|
||||
0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2f, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70,
|
||||
0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x73, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0c,
|
||||
0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
||||
0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
|
||||
0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40,
|
||||
0x0a, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72,
|
||||
0x70, 0x63, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x22, 0xe0, 0x01, 0x0a, 0x10, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
|
||||
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74,
|
||||
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53,
|
||||
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12,
|
||||
0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72,
|
||||
0x70, 0x63, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52,
|
||||
0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x6f, 0x6c,
|
||||
0x69, 0x63, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17,
|
||||
0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x6c,
|
||||
0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54,
|
||||
0x79, 0x70, 0x65, 0x22, 0x3e, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c,
|
||||
0x75, 0x64, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69,
|
||||
0x6f, 0x6e, 0x73, 0x22, 0x40, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72,
|
||||
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x74, 0x6f, 0x77,
|
||||
0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x74, 0x63, 0x6c,
|
||||
0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x06, 0x74,
|
||||
0x6f, 0x77, 0x65, 0x72, 0x73, 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf8, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x62,
|
||||
0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x75,
|
||||
0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f,
|
||||
0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e,
|
||||
0x67, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f,
|
||||
0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42,
|
||||
0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65,
|
||||
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x61, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18,
|
||||
0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x73, 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x75,
|
||||
0x6d, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, 0x78, 0x68, 0x61, 0x75,
|
||||
0x73, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6e, 0x75, 0x6d, 0x53,
|
||||
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x78, 0x68, 0x61, 0x75, 0x73, 0x74, 0x65, 0x64,
|
||||
0x22, 0x49, 0x0a, 0x0d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e,
|
||||
0x74, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52,
|
||||
0x0a, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x0e,
|
||||
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f,
|
||||
0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12,
|
||||
0x2f, 0x0a, 0x12, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, 0x72,
|
||||
0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52,
|
||||
0x0f, 0x73, 0x77, 0x65, 0x65, 0x70, 0x53, 0x61, 0x74, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65,
|
||||
0x12, 0x2d, 0x0a, 0x13, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65,
|
||||
0x72, 0x5f, 0x76, 0x62, 0x79, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73,
|
||||
0x77, 0x65, 0x65, 0x70, 0x53, 0x61, 0x74, 0x50, 0x65, 0x72, 0x56, 0x62, 0x79, 0x74, 0x65, 0x2a,
|
||||
0x24, 0x0a, 0x0a, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a,
|
||||
0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4e, 0x43,
|
||||
0x48, 0x4f, 0x52, 0x10, 0x01, 0x32, 0xc5, 0x03, 0x0a, 0x10, 0x57, 0x61, 0x74, 0x63, 0x68, 0x74,
|
||||
0x6f, 0x77, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x08, 0x41, 0x64,
|
||||
0x64, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e,
|
||||
0x74, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72,
|
||||
0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x77,
|
||||
0x65, 0x72, 0x12, 0x1f, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63,
|
||||
0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70,
|
||||
0x63, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x77,
|
||||
0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70,
|
||||
0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70,
|
||||
0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72,
|
||||
0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e,
|
||||
0x74, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x05, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70,
|
||||
0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
|
||||
0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x50, 0x6f,
|
||||
0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72,
|
||||
0x70, 0x63, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x1b, 0x2e, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x50,
|
||||
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x33, 0x5a,
|
||||
0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x67, 0x68,
|
||||
0x74, 0x6e, 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6c, 0x6e, 0x64,
|
||||
0x2f, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2f, 0x77, 0x74, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72,
|
||||
0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -974,7 +1092,7 @@ func file_wtclientrpc_wtclient_proto_rawDescGZIP() []byte {
|
||||
}
|
||||
|
||||
var file_wtclientrpc_wtclient_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||
var file_wtclientrpc_wtclient_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
|
||||
var file_wtclientrpc_wtclient_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
|
||||
var file_wtclientrpc_wtclient_proto_goTypes = []interface{}{
|
||||
(PolicyType)(0), // 0: wtclientrpc.PolicyType
|
||||
(*AddTowerRequest)(nil), // 1: wtclientrpc.AddTowerRequest
|
||||
@ -984,34 +1102,38 @@ var file_wtclientrpc_wtclient_proto_goTypes = []interface{}{
|
||||
(*GetTowerInfoRequest)(nil), // 5: wtclientrpc.GetTowerInfoRequest
|
||||
(*TowerSession)(nil), // 6: wtclientrpc.TowerSession
|
||||
(*Tower)(nil), // 7: wtclientrpc.Tower
|
||||
(*ListTowersRequest)(nil), // 8: wtclientrpc.ListTowersRequest
|
||||
(*ListTowersResponse)(nil), // 9: wtclientrpc.ListTowersResponse
|
||||
(*StatsRequest)(nil), // 10: wtclientrpc.StatsRequest
|
||||
(*StatsResponse)(nil), // 11: wtclientrpc.StatsResponse
|
||||
(*PolicyRequest)(nil), // 12: wtclientrpc.PolicyRequest
|
||||
(*PolicyResponse)(nil), // 13: wtclientrpc.PolicyResponse
|
||||
(*TowerSessionInfo)(nil), // 8: wtclientrpc.TowerSessionInfo
|
||||
(*ListTowersRequest)(nil), // 9: wtclientrpc.ListTowersRequest
|
||||
(*ListTowersResponse)(nil), // 10: wtclientrpc.ListTowersResponse
|
||||
(*StatsRequest)(nil), // 11: wtclientrpc.StatsRequest
|
||||
(*StatsResponse)(nil), // 12: wtclientrpc.StatsResponse
|
||||
(*PolicyRequest)(nil), // 13: wtclientrpc.PolicyRequest
|
||||
(*PolicyResponse)(nil), // 14: wtclientrpc.PolicyResponse
|
||||
}
|
||||
var file_wtclientrpc_wtclient_proto_depIdxs = []int32{
|
||||
6, // 0: wtclientrpc.Tower.sessions:type_name -> wtclientrpc.TowerSession
|
||||
7, // 1: wtclientrpc.ListTowersResponse.towers:type_name -> wtclientrpc.Tower
|
||||
0, // 2: wtclientrpc.PolicyRequest.policy_type:type_name -> wtclientrpc.PolicyType
|
||||
1, // 3: wtclientrpc.WatchtowerClient.AddTower:input_type -> wtclientrpc.AddTowerRequest
|
||||
3, // 4: wtclientrpc.WatchtowerClient.RemoveTower:input_type -> wtclientrpc.RemoveTowerRequest
|
||||
8, // 5: wtclientrpc.WatchtowerClient.ListTowers:input_type -> wtclientrpc.ListTowersRequest
|
||||
5, // 6: wtclientrpc.WatchtowerClient.GetTowerInfo:input_type -> wtclientrpc.GetTowerInfoRequest
|
||||
10, // 7: wtclientrpc.WatchtowerClient.Stats:input_type -> wtclientrpc.StatsRequest
|
||||
12, // 8: wtclientrpc.WatchtowerClient.Policy:input_type -> wtclientrpc.PolicyRequest
|
||||
2, // 9: wtclientrpc.WatchtowerClient.AddTower:output_type -> wtclientrpc.AddTowerResponse
|
||||
4, // 10: wtclientrpc.WatchtowerClient.RemoveTower:output_type -> wtclientrpc.RemoveTowerResponse
|
||||
9, // 11: wtclientrpc.WatchtowerClient.ListTowers:output_type -> wtclientrpc.ListTowersResponse
|
||||
7, // 12: wtclientrpc.WatchtowerClient.GetTowerInfo:output_type -> wtclientrpc.Tower
|
||||
11, // 13: wtclientrpc.WatchtowerClient.Stats:output_type -> wtclientrpc.StatsResponse
|
||||
13, // 14: wtclientrpc.WatchtowerClient.Policy:output_type -> wtclientrpc.PolicyResponse
|
||||
9, // [9:15] is the sub-list for method output_type
|
||||
3, // [3:9] 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
|
||||
8, // 1: wtclientrpc.Tower.session_info:type_name -> wtclientrpc.TowerSessionInfo
|
||||
6, // 2: wtclientrpc.TowerSessionInfo.sessions:type_name -> wtclientrpc.TowerSession
|
||||
0, // 3: wtclientrpc.TowerSessionInfo.policy_type:type_name -> wtclientrpc.PolicyType
|
||||
7, // 4: wtclientrpc.ListTowersResponse.towers:type_name -> wtclientrpc.Tower
|
||||
0, // 5: wtclientrpc.PolicyRequest.policy_type:type_name -> wtclientrpc.PolicyType
|
||||
1, // 6: wtclientrpc.WatchtowerClient.AddTower:input_type -> wtclientrpc.AddTowerRequest
|
||||
3, // 7: wtclientrpc.WatchtowerClient.RemoveTower:input_type -> wtclientrpc.RemoveTowerRequest
|
||||
9, // 8: wtclientrpc.WatchtowerClient.ListTowers:input_type -> wtclientrpc.ListTowersRequest
|
||||
5, // 9: wtclientrpc.WatchtowerClient.GetTowerInfo:input_type -> wtclientrpc.GetTowerInfoRequest
|
||||
11, // 10: wtclientrpc.WatchtowerClient.Stats:input_type -> wtclientrpc.StatsRequest
|
||||
13, // 11: wtclientrpc.WatchtowerClient.Policy:input_type -> wtclientrpc.PolicyRequest
|
||||
2, // 12: wtclientrpc.WatchtowerClient.AddTower:output_type -> wtclientrpc.AddTowerResponse
|
||||
4, // 13: wtclientrpc.WatchtowerClient.RemoveTower:output_type -> wtclientrpc.RemoveTowerResponse
|
||||
10, // 14: wtclientrpc.WatchtowerClient.ListTowers:output_type -> wtclientrpc.ListTowersResponse
|
||||
7, // 15: wtclientrpc.WatchtowerClient.GetTowerInfo:output_type -> wtclientrpc.Tower
|
||||
12, // 16: wtclientrpc.WatchtowerClient.Stats:output_type -> wtclientrpc.StatsResponse
|
||||
14, // 17: wtclientrpc.WatchtowerClient.Policy:output_type -> wtclientrpc.PolicyResponse
|
||||
12, // [12:18] is the sub-list for method output_type
|
||||
6, // [6:12] is the sub-list for method input_type
|
||||
6, // [6:6] is the sub-list for extension type_name
|
||||
6, // [6:6] is the sub-list for extension extendee
|
||||
0, // [0:6] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_wtclientrpc_wtclient_proto_init() }
|
||||
@ -1105,7 +1227,7 @@ func file_wtclientrpc_wtclient_proto_init() {
|
||||
}
|
||||
}
|
||||
file_wtclientrpc_wtclient_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ListTowersRequest); i {
|
||||
switch v := v.(*TowerSessionInfo); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -1117,7 +1239,7 @@ func file_wtclientrpc_wtclient_proto_init() {
|
||||
}
|
||||
}
|
||||
file_wtclientrpc_wtclient_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ListTowersResponse); i {
|
||||
switch v := v.(*ListTowersRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -1129,7 +1251,7 @@ func file_wtclientrpc_wtclient_proto_init() {
|
||||
}
|
||||
}
|
||||
file_wtclientrpc_wtclient_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*StatsRequest); i {
|
||||
switch v := v.(*ListTowersResponse); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -1141,7 +1263,7 @@ func file_wtclientrpc_wtclient_proto_init() {
|
||||
}
|
||||
}
|
||||
file_wtclientrpc_wtclient_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*StatsResponse); i {
|
||||
switch v := v.(*StatsRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -1153,7 +1275,7 @@ func file_wtclientrpc_wtclient_proto_init() {
|
||||
}
|
||||
}
|
||||
file_wtclientrpc_wtclient_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*PolicyRequest); i {
|
||||
switch v := v.(*StatsResponse); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -1165,6 +1287,18 @@ func file_wtclientrpc_wtclient_proto_init() {
|
||||
}
|
||||
}
|
||||
file_wtclientrpc_wtclient_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*PolicyRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_wtclientrpc_wtclient_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*PolicyResponse); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@ -1183,7 +1317,7 @@ func file_wtclientrpc_wtclient_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_wtclientrpc_wtclient_proto_rawDesc,
|
||||
NumEnums: 1,
|
||||
NumMessages: 13,
|
||||
NumMessages: 14,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
@ -107,14 +107,37 @@ message Tower {
|
||||
// The list of addresses the watchtower is reachable over.
|
||||
repeated string addresses = 2;
|
||||
|
||||
// Deprecated, use the active_session_candidate field under the
|
||||
// correct identifier in the client_type map.
|
||||
// Whether the watchtower is currently a candidate for new sessions.
|
||||
bool active_session_candidate = 3;
|
||||
bool active_session_candidate = 3 [deprecated = true];
|
||||
|
||||
// Deprecated, use the num_sessions field under the correct identifier
|
||||
// in the client_type map.
|
||||
// The number of sessions that have been negotiated with the watchtower.
|
||||
uint32 num_sessions = 4 [deprecated = true];
|
||||
|
||||
// Deprecated, use the sessions field under the correct identifier in the
|
||||
// client_type map.
|
||||
// The list of sessions that have been negotiated with the watchtower.
|
||||
repeated TowerSession sessions = 5 [deprecated = true];
|
||||
|
||||
// A list sessions held with the tower.
|
||||
repeated TowerSessionInfo session_info = 6;
|
||||
}
|
||||
|
||||
message TowerSessionInfo {
|
||||
// Whether the watchtower is currently a candidate for new sessions.
|
||||
bool active_session_candidate = 1;
|
||||
|
||||
// The number of sessions that have been negotiated with the watchtower.
|
||||
uint32 num_sessions = 4;
|
||||
uint32 num_sessions = 2;
|
||||
|
||||
// The list of sessions that have been negotiated with the watchtower.
|
||||
repeated TowerSession sessions = 5;
|
||||
repeated TowerSession sessions = 3;
|
||||
|
||||
// The session's policy type.
|
||||
PolicyType policy_type = 4;
|
||||
}
|
||||
|
||||
message ListTowersRequest {
|
||||
|
@ -359,19 +359,26 @@
|
||||
},
|
||||
"active_session_candidate": {
|
||||
"type": "boolean",
|
||||
"description": "Whether the watchtower is currently a candidate for new sessions."
|
||||
"description": "Deprecated, use the active_session_candidate field under the\ncorrect identifier in the client_type map.\nWhether the watchtower is currently a candidate for new sessions."
|
||||
},
|
||||
"num_sessions": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"description": "The number of sessions that have been negotiated with the watchtower."
|
||||
"description": "Deprecated, use the num_sessions field under the correct identifier\nin the client_type map.\nThe number of sessions that have been negotiated with the watchtower."
|
||||
},
|
||||
"sessions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/wtclientrpcTowerSession"
|
||||
},
|
||||
"description": "The list of sessions that have been negotiated with the watchtower."
|
||||
"description": "Deprecated, use the sessions field under the correct identifier in the\nclient_type map.\nThe list of sessions that have been negotiated with the watchtower."
|
||||
},
|
||||
"session_info": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/wtclientrpcTowerSessionInfo"
|
||||
},
|
||||
"description": "A list sessions held with the tower."
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -404,6 +411,31 @@
|
||||
"description": "The fee rate, in satoshis per vbyte, that will be used by the watchtower for\nthe justice transaction in the event of a channel breach."
|
||||
}
|
||||
}
|
||||
},
|
||||
"wtclientrpcTowerSessionInfo": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"active_session_candidate": {
|
||||
"type": "boolean",
|
||||
"description": "Whether the watchtower is currently a candidate for new sessions."
|
||||
},
|
||||
"num_sessions": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"description": "The number of sessions that have been negotiated with the watchtower."
|
||||
},
|
||||
"sessions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/wtclientrpcTowerSession"
|
||||
},
|
||||
"description": "The list of sessions that have been negotiated with the watchtower."
|
||||
},
|
||||
"policy_type": {
|
||||
"$ref": "#/definitions/wtclientrpcPolicyType",
|
||||
"description": "The session's policy type."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user