service.pb.go raw

   1  // Code generated by protoc-gen-go. DO NOT EDIT.
   2  // versions:
   3  // 	protoc-gen-go v1.36.11
   4  // 	protoc        (unknown)
   5  // source: orlysync/negentropy/v1/service.proto
   6  
   7  package negentropyv1
   8  
   9  import (
  10  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
  11  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
  12  	v1 "next.orly.dev/pkg/proto/orlysync/common/v1"
  13  	reflect "reflect"
  14  	sync "sync"
  15  	unsafe "unsafe"
  16  )
  17  
  18  const (
  19  	// Verify that this generated code is sufficiently up-to-date.
  20  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  21  	// Verify that runtime/protoimpl is sufficiently up-to-date.
  22  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  23  )
  24  
  25  // NegOpenRequest processes a NEG-OPEN from client
  26  // NEG-OPEN format: ["NEG-OPEN", subscription_id, filter, initial_message?]
  27  type NegOpenRequest struct {
  28  	state          protoimpl.MessageState `protogen:"open.v1"`
  29  	SubscriptionId string                 `protobuf:"bytes,1,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` // Client's subscription ID
  30  	Filter         *v1.Filter             `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`                                       // Nostr filter for reconciliation
  31  	InitialMessage []byte                 `protobuf:"bytes,3,opt,name=initial_message,json=initialMessage,proto3" json:"initial_message,omitempty"` // Optional initial negentropy message
  32  	ConnectionId   string                 `protobuf:"bytes,4,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`       // Connection ID for session tracking
  33  	unknownFields  protoimpl.UnknownFields
  34  	sizeCache      protoimpl.SizeCache
  35  }
  36  
  37  func (x *NegOpenRequest) Reset() {
  38  	*x = NegOpenRequest{}
  39  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[0]
  40  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  41  	ms.StoreMessageInfo(mi)
  42  }
  43  
  44  func (x *NegOpenRequest) String() string {
  45  	return protoimpl.X.MessageStringOf(x)
  46  }
  47  
  48  func (*NegOpenRequest) ProtoMessage() {}
  49  
  50  func (x *NegOpenRequest) ProtoReflect() protoreflect.Message {
  51  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[0]
  52  	if x != nil {
  53  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  54  		if ms.LoadMessageInfo() == nil {
  55  			ms.StoreMessageInfo(mi)
  56  		}
  57  		return ms
  58  	}
  59  	return mi.MessageOf(x)
  60  }
  61  
  62  // Deprecated: Use NegOpenRequest.ProtoReflect.Descriptor instead.
  63  func (*NegOpenRequest) Descriptor() ([]byte, []int) {
  64  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{0}
  65  }
  66  
  67  func (x *NegOpenRequest) GetSubscriptionId() string {
  68  	if x != nil {
  69  		return x.SubscriptionId
  70  	}
  71  	return ""
  72  }
  73  
  74  func (x *NegOpenRequest) GetFilter() *v1.Filter {
  75  	if x != nil {
  76  		return x.Filter
  77  	}
  78  	return nil
  79  }
  80  
  81  func (x *NegOpenRequest) GetInitialMessage() []byte {
  82  	if x != nil {
  83  		return x.InitialMessage
  84  	}
  85  	return nil
  86  }
  87  
  88  func (x *NegOpenRequest) GetConnectionId() string {
  89  	if x != nil {
  90  		return x.ConnectionId
  91  	}
  92  	return ""
  93  }
  94  
  95  // NegOpenResponse returns the initial negentropy response
  96  type NegOpenResponse struct {
  97  	state         protoimpl.MessageState `protogen:"open.v1"`
  98  	Message       []byte                 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`                // Negentropy protocol message to send back
  99  	HaveIds       [][]byte               `protobuf:"bytes,2,rep,name=have_ids,json=haveIds,proto3" json:"have_ids,omitempty"` // Event IDs we have that client needs (if initial reconciliation completes)
 100  	NeedIds       [][]byte               `protobuf:"bytes,3,rep,name=need_ids,json=needIds,proto3" json:"need_ids,omitempty"` // Event IDs we need from client (if initial reconciliation completes)
 101  	Complete      bool                   `protobuf:"varint,4,opt,name=complete,proto3" json:"complete,omitempty"`             // True if reconciliation completed in first round
 102  	Error         string                 `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"`                    // Error message if failed
 103  	unknownFields protoimpl.UnknownFields
 104  	sizeCache     protoimpl.SizeCache
 105  }
 106  
 107  func (x *NegOpenResponse) Reset() {
 108  	*x = NegOpenResponse{}
 109  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[1]
 110  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 111  	ms.StoreMessageInfo(mi)
 112  }
 113  
 114  func (x *NegOpenResponse) String() string {
 115  	return protoimpl.X.MessageStringOf(x)
 116  }
 117  
 118  func (*NegOpenResponse) ProtoMessage() {}
 119  
 120  func (x *NegOpenResponse) ProtoReflect() protoreflect.Message {
 121  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[1]
 122  	if x != nil {
 123  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 124  		if ms.LoadMessageInfo() == nil {
 125  			ms.StoreMessageInfo(mi)
 126  		}
 127  		return ms
 128  	}
 129  	return mi.MessageOf(x)
 130  }
 131  
 132  // Deprecated: Use NegOpenResponse.ProtoReflect.Descriptor instead.
 133  func (*NegOpenResponse) Descriptor() ([]byte, []int) {
 134  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{1}
 135  }
 136  
 137  func (x *NegOpenResponse) GetMessage() []byte {
 138  	if x != nil {
 139  		return x.Message
 140  	}
 141  	return nil
 142  }
 143  
 144  func (x *NegOpenResponse) GetHaveIds() [][]byte {
 145  	if x != nil {
 146  		return x.HaveIds
 147  	}
 148  	return nil
 149  }
 150  
 151  func (x *NegOpenResponse) GetNeedIds() [][]byte {
 152  	if x != nil {
 153  		return x.NeedIds
 154  	}
 155  	return nil
 156  }
 157  
 158  func (x *NegOpenResponse) GetComplete() bool {
 159  	if x != nil {
 160  		return x.Complete
 161  	}
 162  	return false
 163  }
 164  
 165  func (x *NegOpenResponse) GetError() string {
 166  	if x != nil {
 167  		return x.Error
 168  	}
 169  	return ""
 170  }
 171  
 172  // NegMsgRequest processes a NEG-MSG from client
 173  // NEG-MSG format: ["NEG-MSG", subscription_id, message]
 174  type NegMsgRequest struct {
 175  	state          protoimpl.MessageState `protogen:"open.v1"`
 176  	SubscriptionId string                 `protobuf:"bytes,1,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"`
 177  	Message        []byte                 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // Negentropy protocol message
 178  	ConnectionId   string                 `protobuf:"bytes,3,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`
 179  	unknownFields  protoimpl.UnknownFields
 180  	sizeCache      protoimpl.SizeCache
 181  }
 182  
 183  func (x *NegMsgRequest) Reset() {
 184  	*x = NegMsgRequest{}
 185  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[2]
 186  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 187  	ms.StoreMessageInfo(mi)
 188  }
 189  
 190  func (x *NegMsgRequest) String() string {
 191  	return protoimpl.X.MessageStringOf(x)
 192  }
 193  
 194  func (*NegMsgRequest) ProtoMessage() {}
 195  
 196  func (x *NegMsgRequest) ProtoReflect() protoreflect.Message {
 197  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[2]
 198  	if x != nil {
 199  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 200  		if ms.LoadMessageInfo() == nil {
 201  			ms.StoreMessageInfo(mi)
 202  		}
 203  		return ms
 204  	}
 205  	return mi.MessageOf(x)
 206  }
 207  
 208  // Deprecated: Use NegMsgRequest.ProtoReflect.Descriptor instead.
 209  func (*NegMsgRequest) Descriptor() ([]byte, []int) {
 210  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{2}
 211  }
 212  
 213  func (x *NegMsgRequest) GetSubscriptionId() string {
 214  	if x != nil {
 215  		return x.SubscriptionId
 216  	}
 217  	return ""
 218  }
 219  
 220  func (x *NegMsgRequest) GetMessage() []byte {
 221  	if x != nil {
 222  		return x.Message
 223  	}
 224  	return nil
 225  }
 226  
 227  func (x *NegMsgRequest) GetConnectionId() string {
 228  	if x != nil {
 229  		return x.ConnectionId
 230  	}
 231  	return ""
 232  }
 233  
 234  // NegMsgResponse returns reconciliation results
 235  type NegMsgResponse struct {
 236  	state         protoimpl.MessageState `protogen:"open.v1"`
 237  	Message       []byte                 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`                // Negentropy protocol message to send back
 238  	HaveIds       [][]byte               `protobuf:"bytes,2,rep,name=have_ids,json=haveIds,proto3" json:"have_ids,omitempty"` // Event IDs we have that client needs
 239  	NeedIds       [][]byte               `protobuf:"bytes,3,rep,name=need_ids,json=needIds,proto3" json:"need_ids,omitempty"` // Event IDs we need from client
 240  	Complete      bool                   `protobuf:"varint,4,opt,name=complete,proto3" json:"complete,omitempty"`             // True if reconciliation is complete
 241  	Error         string                 `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"`                    // Error message if failed
 242  	unknownFields protoimpl.UnknownFields
 243  	sizeCache     protoimpl.SizeCache
 244  }
 245  
 246  func (x *NegMsgResponse) Reset() {
 247  	*x = NegMsgResponse{}
 248  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[3]
 249  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 250  	ms.StoreMessageInfo(mi)
 251  }
 252  
 253  func (x *NegMsgResponse) String() string {
 254  	return protoimpl.X.MessageStringOf(x)
 255  }
 256  
 257  func (*NegMsgResponse) ProtoMessage() {}
 258  
 259  func (x *NegMsgResponse) ProtoReflect() protoreflect.Message {
 260  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[3]
 261  	if x != nil {
 262  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 263  		if ms.LoadMessageInfo() == nil {
 264  			ms.StoreMessageInfo(mi)
 265  		}
 266  		return ms
 267  	}
 268  	return mi.MessageOf(x)
 269  }
 270  
 271  // Deprecated: Use NegMsgResponse.ProtoReflect.Descriptor instead.
 272  func (*NegMsgResponse) Descriptor() ([]byte, []int) {
 273  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{3}
 274  }
 275  
 276  func (x *NegMsgResponse) GetMessage() []byte {
 277  	if x != nil {
 278  		return x.Message
 279  	}
 280  	return nil
 281  }
 282  
 283  func (x *NegMsgResponse) GetHaveIds() [][]byte {
 284  	if x != nil {
 285  		return x.HaveIds
 286  	}
 287  	return nil
 288  }
 289  
 290  func (x *NegMsgResponse) GetNeedIds() [][]byte {
 291  	if x != nil {
 292  		return x.NeedIds
 293  	}
 294  	return nil
 295  }
 296  
 297  func (x *NegMsgResponse) GetComplete() bool {
 298  	if x != nil {
 299  		return x.Complete
 300  	}
 301  	return false
 302  }
 303  
 304  func (x *NegMsgResponse) GetError() string {
 305  	if x != nil {
 306  		return x.Error
 307  	}
 308  	return ""
 309  }
 310  
 311  // NegCloseRequest processes a NEG-CLOSE from client
 312  // NEG-CLOSE format: ["NEG-CLOSE", subscription_id]
 313  type NegCloseRequest struct {
 314  	state          protoimpl.MessageState `protogen:"open.v1"`
 315  	SubscriptionId string                 `protobuf:"bytes,1,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"`
 316  	ConnectionId   string                 `protobuf:"bytes,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`
 317  	unknownFields  protoimpl.UnknownFields
 318  	sizeCache      protoimpl.SizeCache
 319  }
 320  
 321  func (x *NegCloseRequest) Reset() {
 322  	*x = NegCloseRequest{}
 323  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[4]
 324  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 325  	ms.StoreMessageInfo(mi)
 326  }
 327  
 328  func (x *NegCloseRequest) String() string {
 329  	return protoimpl.X.MessageStringOf(x)
 330  }
 331  
 332  func (*NegCloseRequest) ProtoMessage() {}
 333  
 334  func (x *NegCloseRequest) ProtoReflect() protoreflect.Message {
 335  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[4]
 336  	if x != nil {
 337  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 338  		if ms.LoadMessageInfo() == nil {
 339  			ms.StoreMessageInfo(mi)
 340  		}
 341  		return ms
 342  	}
 343  	return mi.MessageOf(x)
 344  }
 345  
 346  // Deprecated: Use NegCloseRequest.ProtoReflect.Descriptor instead.
 347  func (*NegCloseRequest) Descriptor() ([]byte, []int) {
 348  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{4}
 349  }
 350  
 351  func (x *NegCloseRequest) GetSubscriptionId() string {
 352  	if x != nil {
 353  		return x.SubscriptionId
 354  	}
 355  	return ""
 356  }
 357  
 358  func (x *NegCloseRequest) GetConnectionId() string {
 359  	if x != nil {
 360  		return x.ConnectionId
 361  	}
 362  	return ""
 363  }
 364  
 365  // SyncPeerRequest initiates sync with a peer
 366  type SyncPeerRequest struct {
 367  	state         protoimpl.MessageState `protogen:"open.v1"`
 368  	PeerUrl       string                 `protobuf:"bytes,1,opt,name=peer_url,json=peerUrl,proto3" json:"peer_url,omitempty"` // WebSocket URL of peer relay
 369  	Filter        *v1.Filter             `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`                  // Optional filter to limit sync scope
 370  	Since         int64                  `protobuf:"varint,3,opt,name=since,proto3" json:"since,omitempty"`                   // Optional: only sync events since timestamp
 371  	unknownFields protoimpl.UnknownFields
 372  	sizeCache     protoimpl.SizeCache
 373  }
 374  
 375  func (x *SyncPeerRequest) Reset() {
 376  	*x = SyncPeerRequest{}
 377  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[5]
 378  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 379  	ms.StoreMessageInfo(mi)
 380  }
 381  
 382  func (x *SyncPeerRequest) String() string {
 383  	return protoimpl.X.MessageStringOf(x)
 384  }
 385  
 386  func (*SyncPeerRequest) ProtoMessage() {}
 387  
 388  func (x *SyncPeerRequest) ProtoReflect() protoreflect.Message {
 389  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[5]
 390  	if x != nil {
 391  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 392  		if ms.LoadMessageInfo() == nil {
 393  			ms.StoreMessageInfo(mi)
 394  		}
 395  		return ms
 396  	}
 397  	return mi.MessageOf(x)
 398  }
 399  
 400  // Deprecated: Use SyncPeerRequest.ProtoReflect.Descriptor instead.
 401  func (*SyncPeerRequest) Descriptor() ([]byte, []int) {
 402  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{5}
 403  }
 404  
 405  func (x *SyncPeerRequest) GetPeerUrl() string {
 406  	if x != nil {
 407  		return x.PeerUrl
 408  	}
 409  	return ""
 410  }
 411  
 412  func (x *SyncPeerRequest) GetFilter() *v1.Filter {
 413  	if x != nil {
 414  		return x.Filter
 415  	}
 416  	return nil
 417  }
 418  
 419  func (x *SyncPeerRequest) GetSince() int64 {
 420  	if x != nil {
 421  		return x.Since
 422  	}
 423  	return 0
 424  }
 425  
 426  // SyncProgress streams sync progress updates
 427  type SyncProgress struct {
 428  	state         protoimpl.MessageState `protogen:"open.v1"`
 429  	PeerUrl       string                 `protobuf:"bytes,1,opt,name=peer_url,json=peerUrl,proto3" json:"peer_url,omitempty"`
 430  	Round         int32                  `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`                                   // Reconciliation round number
 431  	HaveCount     int64                  `protobuf:"varint,3,opt,name=have_count,json=haveCount,proto3" json:"have_count,omitempty"`          // Events we have that peer needs
 432  	NeedCount     int64                  `protobuf:"varint,4,opt,name=need_count,json=needCount,proto3" json:"need_count,omitempty"`          // Events we need from peer
 433  	FetchedCount  int64                  `protobuf:"varint,5,opt,name=fetched_count,json=fetchedCount,proto3" json:"fetched_count,omitempty"` // Events fetched so far
 434  	SentCount     int64                  `protobuf:"varint,6,opt,name=sent_count,json=sentCount,proto3" json:"sent_count,omitempty"`          // Events sent so far
 435  	Complete      bool                   `protobuf:"varint,7,opt,name=complete,proto3" json:"complete,omitempty"`                             // True when sync is complete
 436  	Error         string                 `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"`                                    // Error message if failed
 437  	unknownFields protoimpl.UnknownFields
 438  	sizeCache     protoimpl.SizeCache
 439  }
 440  
 441  func (x *SyncProgress) Reset() {
 442  	*x = SyncProgress{}
 443  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[6]
 444  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 445  	ms.StoreMessageInfo(mi)
 446  }
 447  
 448  func (x *SyncProgress) String() string {
 449  	return protoimpl.X.MessageStringOf(x)
 450  }
 451  
 452  func (*SyncProgress) ProtoMessage() {}
 453  
 454  func (x *SyncProgress) ProtoReflect() protoreflect.Message {
 455  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[6]
 456  	if x != nil {
 457  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 458  		if ms.LoadMessageInfo() == nil {
 459  			ms.StoreMessageInfo(mi)
 460  		}
 461  		return ms
 462  	}
 463  	return mi.MessageOf(x)
 464  }
 465  
 466  // Deprecated: Use SyncProgress.ProtoReflect.Descriptor instead.
 467  func (*SyncProgress) Descriptor() ([]byte, []int) {
 468  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{6}
 469  }
 470  
 471  func (x *SyncProgress) GetPeerUrl() string {
 472  	if x != nil {
 473  		return x.PeerUrl
 474  	}
 475  	return ""
 476  }
 477  
 478  func (x *SyncProgress) GetRound() int32 {
 479  	if x != nil {
 480  		return x.Round
 481  	}
 482  	return 0
 483  }
 484  
 485  func (x *SyncProgress) GetHaveCount() int64 {
 486  	if x != nil {
 487  		return x.HaveCount
 488  	}
 489  	return 0
 490  }
 491  
 492  func (x *SyncProgress) GetNeedCount() int64 {
 493  	if x != nil {
 494  		return x.NeedCount
 495  	}
 496  	return 0
 497  }
 498  
 499  func (x *SyncProgress) GetFetchedCount() int64 {
 500  	if x != nil {
 501  		return x.FetchedCount
 502  	}
 503  	return 0
 504  }
 505  
 506  func (x *SyncProgress) GetSentCount() int64 {
 507  	if x != nil {
 508  		return x.SentCount
 509  	}
 510  	return 0
 511  }
 512  
 513  func (x *SyncProgress) GetComplete() bool {
 514  	if x != nil {
 515  		return x.Complete
 516  	}
 517  	return false
 518  }
 519  
 520  func (x *SyncProgress) GetError() string {
 521  	if x != nil {
 522  		return x.Error
 523  	}
 524  	return ""
 525  }
 526  
 527  // SyncStatusResponse contains overall sync status
 528  type SyncStatusResponse struct {
 529  	state         protoimpl.MessageState `protogen:"open.v1"`
 530  	Active        bool                   `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"`                     // Whether background sync is running
 531  	LastSync      int64                  `protobuf:"varint,2,opt,name=last_sync,json=lastSync,proto3" json:"last_sync,omitempty"` // Timestamp of last sync
 532  	PeerCount     int32                  `protobuf:"varint,3,opt,name=peer_count,json=peerCount,proto3" json:"peer_count,omitempty"`
 533  	PeerStates    []*PeerSyncState       `protobuf:"bytes,4,rep,name=peer_states,json=peerStates,proto3" json:"peer_states,omitempty"`
 534  	unknownFields protoimpl.UnknownFields
 535  	sizeCache     protoimpl.SizeCache
 536  }
 537  
 538  func (x *SyncStatusResponse) Reset() {
 539  	*x = SyncStatusResponse{}
 540  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[7]
 541  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 542  	ms.StoreMessageInfo(mi)
 543  }
 544  
 545  func (x *SyncStatusResponse) String() string {
 546  	return protoimpl.X.MessageStringOf(x)
 547  }
 548  
 549  func (*SyncStatusResponse) ProtoMessage() {}
 550  
 551  func (x *SyncStatusResponse) ProtoReflect() protoreflect.Message {
 552  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[7]
 553  	if x != nil {
 554  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 555  		if ms.LoadMessageInfo() == nil {
 556  			ms.StoreMessageInfo(mi)
 557  		}
 558  		return ms
 559  	}
 560  	return mi.MessageOf(x)
 561  }
 562  
 563  // Deprecated: Use SyncStatusResponse.ProtoReflect.Descriptor instead.
 564  func (*SyncStatusResponse) Descriptor() ([]byte, []int) {
 565  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{7}
 566  }
 567  
 568  func (x *SyncStatusResponse) GetActive() bool {
 569  	if x != nil {
 570  		return x.Active
 571  	}
 572  	return false
 573  }
 574  
 575  func (x *SyncStatusResponse) GetLastSync() int64 {
 576  	if x != nil {
 577  		return x.LastSync
 578  	}
 579  	return 0
 580  }
 581  
 582  func (x *SyncStatusResponse) GetPeerCount() int32 {
 583  	if x != nil {
 584  		return x.PeerCount
 585  	}
 586  	return 0
 587  }
 588  
 589  func (x *SyncStatusResponse) GetPeerStates() []*PeerSyncState {
 590  	if x != nil {
 591  		return x.PeerStates
 592  	}
 593  	return nil
 594  }
 595  
 596  // PeersResponse contains the list of peers
 597  type PeersResponse struct {
 598  	state         protoimpl.MessageState `protogen:"open.v1"`
 599  	Peers         []string               `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` // List of peer WebSocket URLs
 600  	unknownFields protoimpl.UnknownFields
 601  	sizeCache     protoimpl.SizeCache
 602  }
 603  
 604  func (x *PeersResponse) Reset() {
 605  	*x = PeersResponse{}
 606  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[8]
 607  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 608  	ms.StoreMessageInfo(mi)
 609  }
 610  
 611  func (x *PeersResponse) String() string {
 612  	return protoimpl.X.MessageStringOf(x)
 613  }
 614  
 615  func (*PeersResponse) ProtoMessage() {}
 616  
 617  func (x *PeersResponse) ProtoReflect() protoreflect.Message {
 618  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[8]
 619  	if x != nil {
 620  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 621  		if ms.LoadMessageInfo() == nil {
 622  			ms.StoreMessageInfo(mi)
 623  		}
 624  		return ms
 625  	}
 626  	return mi.MessageOf(x)
 627  }
 628  
 629  // Deprecated: Use PeersResponse.ProtoReflect.Descriptor instead.
 630  func (*PeersResponse) Descriptor() ([]byte, []int) {
 631  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{8}
 632  }
 633  
 634  func (x *PeersResponse) GetPeers() []string {
 635  	if x != nil {
 636  		return x.Peers
 637  	}
 638  	return nil
 639  }
 640  
 641  // AddPeerRequest adds a peer
 642  type AddPeerRequest struct {
 643  	state         protoimpl.MessageState `protogen:"open.v1"`
 644  	PeerUrl       string                 `protobuf:"bytes,1,opt,name=peer_url,json=peerUrl,proto3" json:"peer_url,omitempty"`
 645  	unknownFields protoimpl.UnknownFields
 646  	sizeCache     protoimpl.SizeCache
 647  }
 648  
 649  func (x *AddPeerRequest) Reset() {
 650  	*x = AddPeerRequest{}
 651  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[9]
 652  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 653  	ms.StoreMessageInfo(mi)
 654  }
 655  
 656  func (x *AddPeerRequest) String() string {
 657  	return protoimpl.X.MessageStringOf(x)
 658  }
 659  
 660  func (*AddPeerRequest) ProtoMessage() {}
 661  
 662  func (x *AddPeerRequest) ProtoReflect() protoreflect.Message {
 663  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[9]
 664  	if x != nil {
 665  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 666  		if ms.LoadMessageInfo() == nil {
 667  			ms.StoreMessageInfo(mi)
 668  		}
 669  		return ms
 670  	}
 671  	return mi.MessageOf(x)
 672  }
 673  
 674  // Deprecated: Use AddPeerRequest.ProtoReflect.Descriptor instead.
 675  func (*AddPeerRequest) Descriptor() ([]byte, []int) {
 676  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{9}
 677  }
 678  
 679  func (x *AddPeerRequest) GetPeerUrl() string {
 680  	if x != nil {
 681  		return x.PeerUrl
 682  	}
 683  	return ""
 684  }
 685  
 686  // RemovePeerRequest removes a peer
 687  type RemovePeerRequest struct {
 688  	state         protoimpl.MessageState `protogen:"open.v1"`
 689  	PeerUrl       string                 `protobuf:"bytes,1,opt,name=peer_url,json=peerUrl,proto3" json:"peer_url,omitempty"`
 690  	unknownFields protoimpl.UnknownFields
 691  	sizeCache     protoimpl.SizeCache
 692  }
 693  
 694  func (x *RemovePeerRequest) Reset() {
 695  	*x = RemovePeerRequest{}
 696  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[10]
 697  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 698  	ms.StoreMessageInfo(mi)
 699  }
 700  
 701  func (x *RemovePeerRequest) String() string {
 702  	return protoimpl.X.MessageStringOf(x)
 703  }
 704  
 705  func (*RemovePeerRequest) ProtoMessage() {}
 706  
 707  func (x *RemovePeerRequest) ProtoReflect() protoreflect.Message {
 708  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[10]
 709  	if x != nil {
 710  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 711  		if ms.LoadMessageInfo() == nil {
 712  			ms.StoreMessageInfo(mi)
 713  		}
 714  		return ms
 715  	}
 716  	return mi.MessageOf(x)
 717  }
 718  
 719  // Deprecated: Use RemovePeerRequest.ProtoReflect.Descriptor instead.
 720  func (*RemovePeerRequest) Descriptor() ([]byte, []int) {
 721  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{10}
 722  }
 723  
 724  func (x *RemovePeerRequest) GetPeerUrl() string {
 725  	if x != nil {
 726  		return x.PeerUrl
 727  	}
 728  	return ""
 729  }
 730  
 731  // TriggerSyncRequest triggers manual sync
 732  type TriggerSyncRequest struct {
 733  	state         protoimpl.MessageState `protogen:"open.v1"`
 734  	PeerUrl       string                 `protobuf:"bytes,1,opt,name=peer_url,json=peerUrl,proto3" json:"peer_url,omitempty"` // Optional: specific peer (empty = all)
 735  	Filter        *v1.Filter             `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`                  // Optional: filter for sync scope
 736  	unknownFields protoimpl.UnknownFields
 737  	sizeCache     protoimpl.SizeCache
 738  }
 739  
 740  func (x *TriggerSyncRequest) Reset() {
 741  	*x = TriggerSyncRequest{}
 742  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[11]
 743  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 744  	ms.StoreMessageInfo(mi)
 745  }
 746  
 747  func (x *TriggerSyncRequest) String() string {
 748  	return protoimpl.X.MessageStringOf(x)
 749  }
 750  
 751  func (*TriggerSyncRequest) ProtoMessage() {}
 752  
 753  func (x *TriggerSyncRequest) ProtoReflect() protoreflect.Message {
 754  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[11]
 755  	if x != nil {
 756  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 757  		if ms.LoadMessageInfo() == nil {
 758  			ms.StoreMessageInfo(mi)
 759  		}
 760  		return ms
 761  	}
 762  	return mi.MessageOf(x)
 763  }
 764  
 765  // Deprecated: Use TriggerSyncRequest.ProtoReflect.Descriptor instead.
 766  func (*TriggerSyncRequest) Descriptor() ([]byte, []int) {
 767  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{11}
 768  }
 769  
 770  func (x *TriggerSyncRequest) GetPeerUrl() string {
 771  	if x != nil {
 772  		return x.PeerUrl
 773  	}
 774  	return ""
 775  }
 776  
 777  func (x *TriggerSyncRequest) GetFilter() *v1.Filter {
 778  	if x != nil {
 779  		return x.Filter
 780  	}
 781  	return nil
 782  }
 783  
 784  // PeerSyncStateRequest requests state for a peer
 785  type PeerSyncStateRequest struct {
 786  	state         protoimpl.MessageState `protogen:"open.v1"`
 787  	PeerUrl       string                 `protobuf:"bytes,1,opt,name=peer_url,json=peerUrl,proto3" json:"peer_url,omitempty"`
 788  	unknownFields protoimpl.UnknownFields
 789  	sizeCache     protoimpl.SizeCache
 790  }
 791  
 792  func (x *PeerSyncStateRequest) Reset() {
 793  	*x = PeerSyncStateRequest{}
 794  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[12]
 795  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 796  	ms.StoreMessageInfo(mi)
 797  }
 798  
 799  func (x *PeerSyncStateRequest) String() string {
 800  	return protoimpl.X.MessageStringOf(x)
 801  }
 802  
 803  func (*PeerSyncStateRequest) ProtoMessage() {}
 804  
 805  func (x *PeerSyncStateRequest) ProtoReflect() protoreflect.Message {
 806  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[12]
 807  	if x != nil {
 808  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 809  		if ms.LoadMessageInfo() == nil {
 810  			ms.StoreMessageInfo(mi)
 811  		}
 812  		return ms
 813  	}
 814  	return mi.MessageOf(x)
 815  }
 816  
 817  // Deprecated: Use PeerSyncStateRequest.ProtoReflect.Descriptor instead.
 818  func (*PeerSyncStateRequest) Descriptor() ([]byte, []int) {
 819  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{12}
 820  }
 821  
 822  func (x *PeerSyncStateRequest) GetPeerUrl() string {
 823  	if x != nil {
 824  		return x.PeerUrl
 825  	}
 826  	return ""
 827  }
 828  
 829  // PeerSyncStateResponse contains peer sync state
 830  type PeerSyncStateResponse struct {
 831  	state         protoimpl.MessageState `protogen:"open.v1"`
 832  	State         *PeerSyncState         `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
 833  	Found         bool                   `protobuf:"varint,2,opt,name=found,proto3" json:"found,omitempty"`
 834  	unknownFields protoimpl.UnknownFields
 835  	sizeCache     protoimpl.SizeCache
 836  }
 837  
 838  func (x *PeerSyncStateResponse) Reset() {
 839  	*x = PeerSyncStateResponse{}
 840  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[13]
 841  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 842  	ms.StoreMessageInfo(mi)
 843  }
 844  
 845  func (x *PeerSyncStateResponse) String() string {
 846  	return protoimpl.X.MessageStringOf(x)
 847  }
 848  
 849  func (*PeerSyncStateResponse) ProtoMessage() {}
 850  
 851  func (x *PeerSyncStateResponse) ProtoReflect() protoreflect.Message {
 852  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[13]
 853  	if x != nil {
 854  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 855  		if ms.LoadMessageInfo() == nil {
 856  			ms.StoreMessageInfo(mi)
 857  		}
 858  		return ms
 859  	}
 860  	return mi.MessageOf(x)
 861  }
 862  
 863  // Deprecated: Use PeerSyncStateResponse.ProtoReflect.Descriptor instead.
 864  func (*PeerSyncStateResponse) Descriptor() ([]byte, []int) {
 865  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{13}
 866  }
 867  
 868  func (x *PeerSyncStateResponse) GetState() *PeerSyncState {
 869  	if x != nil {
 870  		return x.State
 871  	}
 872  	return nil
 873  }
 874  
 875  func (x *PeerSyncStateResponse) GetFound() bool {
 876  	if x != nil {
 877  		return x.Found
 878  	}
 879  	return false
 880  }
 881  
 882  // PeerSyncState represents sync state for a peer
 883  type PeerSyncState struct {
 884  	state               protoimpl.MessageState `protogen:"open.v1"`
 885  	PeerUrl             string                 `protobuf:"bytes,1,opt,name=peer_url,json=peerUrl,proto3" json:"peer_url,omitempty"`
 886  	LastSync            int64                  `protobuf:"varint,2,opt,name=last_sync,json=lastSync,proto3" json:"last_sync,omitempty"`             // Timestamp of last successful sync
 887  	EventsSynced        int64                  `protobuf:"varint,3,opt,name=events_synced,json=eventsSynced,proto3" json:"events_synced,omitempty"` // Total events synced from this peer
 888  	Status              string                 `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`                                  // "idle", "syncing", "error"
 889  	LastError           string                 `protobuf:"bytes,5,opt,name=last_error,json=lastError,proto3" json:"last_error,omitempty"`           // Last error message
 890  	ConsecutiveFailures int32                  `protobuf:"varint,6,opt,name=consecutive_failures,json=consecutiveFailures,proto3" json:"consecutive_failures,omitempty"`
 891  	unknownFields       protoimpl.UnknownFields
 892  	sizeCache           protoimpl.SizeCache
 893  }
 894  
 895  func (x *PeerSyncState) Reset() {
 896  	*x = PeerSyncState{}
 897  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[14]
 898  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 899  	ms.StoreMessageInfo(mi)
 900  }
 901  
 902  func (x *PeerSyncState) String() string {
 903  	return protoimpl.X.MessageStringOf(x)
 904  }
 905  
 906  func (*PeerSyncState) ProtoMessage() {}
 907  
 908  func (x *PeerSyncState) ProtoReflect() protoreflect.Message {
 909  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[14]
 910  	if x != nil {
 911  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 912  		if ms.LoadMessageInfo() == nil {
 913  			ms.StoreMessageInfo(mi)
 914  		}
 915  		return ms
 916  	}
 917  	return mi.MessageOf(x)
 918  }
 919  
 920  // Deprecated: Use PeerSyncState.ProtoReflect.Descriptor instead.
 921  func (*PeerSyncState) Descriptor() ([]byte, []int) {
 922  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{14}
 923  }
 924  
 925  func (x *PeerSyncState) GetPeerUrl() string {
 926  	if x != nil {
 927  		return x.PeerUrl
 928  	}
 929  	return ""
 930  }
 931  
 932  func (x *PeerSyncState) GetLastSync() int64 {
 933  	if x != nil {
 934  		return x.LastSync
 935  	}
 936  	return 0
 937  }
 938  
 939  func (x *PeerSyncState) GetEventsSynced() int64 {
 940  	if x != nil {
 941  		return x.EventsSynced
 942  	}
 943  	return 0
 944  }
 945  
 946  func (x *PeerSyncState) GetStatus() string {
 947  	if x != nil {
 948  		return x.Status
 949  	}
 950  	return ""
 951  }
 952  
 953  func (x *PeerSyncState) GetLastError() string {
 954  	if x != nil {
 955  		return x.LastError
 956  	}
 957  	return ""
 958  }
 959  
 960  func (x *PeerSyncState) GetConsecutiveFailures() int32 {
 961  	if x != nil {
 962  		return x.ConsecutiveFailures
 963  	}
 964  	return 0
 965  }
 966  
 967  // ClientSession represents an active client negentropy session
 968  type ClientSession struct {
 969  	state          protoimpl.MessageState `protogen:"open.v1"`
 970  	SubscriptionId string                 `protobuf:"bytes,1,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"`
 971  	ConnectionId   string                 `protobuf:"bytes,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"`
 972  	CreatedAt      int64                  `protobuf:"varint,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
 973  	LastActivity   int64                  `protobuf:"varint,4,opt,name=last_activity,json=lastActivity,proto3" json:"last_activity,omitempty"`
 974  	RoundCount     int32                  `protobuf:"varint,5,opt,name=round_count,json=roundCount,proto3" json:"round_count,omitempty"` // Number of reconciliation rounds
 975  	unknownFields  protoimpl.UnknownFields
 976  	sizeCache      protoimpl.SizeCache
 977  }
 978  
 979  func (x *ClientSession) Reset() {
 980  	*x = ClientSession{}
 981  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[15]
 982  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 983  	ms.StoreMessageInfo(mi)
 984  }
 985  
 986  func (x *ClientSession) String() string {
 987  	return protoimpl.X.MessageStringOf(x)
 988  }
 989  
 990  func (*ClientSession) ProtoMessage() {}
 991  
 992  func (x *ClientSession) ProtoReflect() protoreflect.Message {
 993  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[15]
 994  	if x != nil {
 995  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 996  		if ms.LoadMessageInfo() == nil {
 997  			ms.StoreMessageInfo(mi)
 998  		}
 999  		return ms
1000  	}
1001  	return mi.MessageOf(x)
1002  }
1003  
1004  // Deprecated: Use ClientSession.ProtoReflect.Descriptor instead.
1005  func (*ClientSession) Descriptor() ([]byte, []int) {
1006  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{15}
1007  }
1008  
1009  func (x *ClientSession) GetSubscriptionId() string {
1010  	if x != nil {
1011  		return x.SubscriptionId
1012  	}
1013  	return ""
1014  }
1015  
1016  func (x *ClientSession) GetConnectionId() string {
1017  	if x != nil {
1018  		return x.ConnectionId
1019  	}
1020  	return ""
1021  }
1022  
1023  func (x *ClientSession) GetCreatedAt() int64 {
1024  	if x != nil {
1025  		return x.CreatedAt
1026  	}
1027  	return 0
1028  }
1029  
1030  func (x *ClientSession) GetLastActivity() int64 {
1031  	if x != nil {
1032  		return x.LastActivity
1033  	}
1034  	return 0
1035  }
1036  
1037  func (x *ClientSession) GetRoundCount() int32 {
1038  	if x != nil {
1039  		return x.RoundCount
1040  	}
1041  	return 0
1042  }
1043  
1044  // ListSessionsResponse contains active sessions
1045  type ListSessionsResponse struct {
1046  	state         protoimpl.MessageState `protogen:"open.v1"`
1047  	Sessions      []*ClientSession       `protobuf:"bytes,1,rep,name=sessions,proto3" json:"sessions,omitempty"`
1048  	unknownFields protoimpl.UnknownFields
1049  	sizeCache     protoimpl.SizeCache
1050  }
1051  
1052  func (x *ListSessionsResponse) Reset() {
1053  	*x = ListSessionsResponse{}
1054  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[16]
1055  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1056  	ms.StoreMessageInfo(mi)
1057  }
1058  
1059  func (x *ListSessionsResponse) String() string {
1060  	return protoimpl.X.MessageStringOf(x)
1061  }
1062  
1063  func (*ListSessionsResponse) ProtoMessage() {}
1064  
1065  func (x *ListSessionsResponse) ProtoReflect() protoreflect.Message {
1066  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[16]
1067  	if x != nil {
1068  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1069  		if ms.LoadMessageInfo() == nil {
1070  			ms.StoreMessageInfo(mi)
1071  		}
1072  		return ms
1073  	}
1074  	return mi.MessageOf(x)
1075  }
1076  
1077  // Deprecated: Use ListSessionsResponse.ProtoReflect.Descriptor instead.
1078  func (*ListSessionsResponse) Descriptor() ([]byte, []int) {
1079  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{16}
1080  }
1081  
1082  func (x *ListSessionsResponse) GetSessions() []*ClientSession {
1083  	if x != nil {
1084  		return x.Sessions
1085  	}
1086  	return nil
1087  }
1088  
1089  // CloseSessionRequest closes a session
1090  type CloseSessionRequest struct {
1091  	state          protoimpl.MessageState `protogen:"open.v1"`
1092  	SubscriptionId string                 `protobuf:"bytes,1,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"`
1093  	ConnectionId   string                 `protobuf:"bytes,2,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty"` // Optional: if empty, close all with this sub_id
1094  	unknownFields  protoimpl.UnknownFields
1095  	sizeCache      protoimpl.SizeCache
1096  }
1097  
1098  func (x *CloseSessionRequest) Reset() {
1099  	*x = CloseSessionRequest{}
1100  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[17]
1101  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1102  	ms.StoreMessageInfo(mi)
1103  }
1104  
1105  func (x *CloseSessionRequest) String() string {
1106  	return protoimpl.X.MessageStringOf(x)
1107  }
1108  
1109  func (*CloseSessionRequest) ProtoMessage() {}
1110  
1111  func (x *CloseSessionRequest) ProtoReflect() protoreflect.Message {
1112  	mi := &file_orlysync_negentropy_v1_service_proto_msgTypes[17]
1113  	if x != nil {
1114  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1115  		if ms.LoadMessageInfo() == nil {
1116  			ms.StoreMessageInfo(mi)
1117  		}
1118  		return ms
1119  	}
1120  	return mi.MessageOf(x)
1121  }
1122  
1123  // Deprecated: Use CloseSessionRequest.ProtoReflect.Descriptor instead.
1124  func (*CloseSessionRequest) Descriptor() ([]byte, []int) {
1125  	return file_orlysync_negentropy_v1_service_proto_rawDescGZIP(), []int{17}
1126  }
1127  
1128  func (x *CloseSessionRequest) GetSubscriptionId() string {
1129  	if x != nil {
1130  		return x.SubscriptionId
1131  	}
1132  	return ""
1133  }
1134  
1135  func (x *CloseSessionRequest) GetConnectionId() string {
1136  	if x != nil {
1137  		return x.ConnectionId
1138  	}
1139  	return ""
1140  }
1141  
1142  var File_orlysync_negentropy_v1_service_proto protoreflect.FileDescriptor
1143  
1144  const file_orlysync_negentropy_v1_service_proto_rawDesc = "" +
1145  	"\n" +
1146  	"$orlysync/negentropy/v1/service.proto\x12\x16orlysync.negentropy.v1\x1a\x1eorlysync/common/v1/types.proto\"\xbb\x01\n" +
1147  	"\x0eNegOpenRequest\x12'\n" +
1148  	"\x0fsubscription_id\x18\x01 \x01(\tR\x0esubscriptionId\x122\n" +
1149  	"\x06filter\x18\x02 \x01(\v2\x1a.orlysync.common.v1.FilterR\x06filter\x12'\n" +
1150  	"\x0finitial_message\x18\x03 \x01(\fR\x0einitialMessage\x12#\n" +
1151  	"\rconnection_id\x18\x04 \x01(\tR\fconnectionId\"\x93\x01\n" +
1152  	"\x0fNegOpenResponse\x12\x18\n" +
1153  	"\amessage\x18\x01 \x01(\fR\amessage\x12\x19\n" +
1154  	"\bhave_ids\x18\x02 \x03(\fR\ahaveIds\x12\x19\n" +
1155  	"\bneed_ids\x18\x03 \x03(\fR\aneedIds\x12\x1a\n" +
1156  	"\bcomplete\x18\x04 \x01(\bR\bcomplete\x12\x14\n" +
1157  	"\x05error\x18\x05 \x01(\tR\x05error\"w\n" +
1158  	"\rNegMsgRequest\x12'\n" +
1159  	"\x0fsubscription_id\x18\x01 \x01(\tR\x0esubscriptionId\x12\x18\n" +
1160  	"\amessage\x18\x02 \x01(\fR\amessage\x12#\n" +
1161  	"\rconnection_id\x18\x03 \x01(\tR\fconnectionId\"\x92\x01\n" +
1162  	"\x0eNegMsgResponse\x12\x18\n" +
1163  	"\amessage\x18\x01 \x01(\fR\amessage\x12\x19\n" +
1164  	"\bhave_ids\x18\x02 \x03(\fR\ahaveIds\x12\x19\n" +
1165  	"\bneed_ids\x18\x03 \x03(\fR\aneedIds\x12\x1a\n" +
1166  	"\bcomplete\x18\x04 \x01(\bR\bcomplete\x12\x14\n" +
1167  	"\x05error\x18\x05 \x01(\tR\x05error\"_\n" +
1168  	"\x0fNegCloseRequest\x12'\n" +
1169  	"\x0fsubscription_id\x18\x01 \x01(\tR\x0esubscriptionId\x12#\n" +
1170  	"\rconnection_id\x18\x02 \x01(\tR\fconnectionId\"v\n" +
1171  	"\x0fSyncPeerRequest\x12\x19\n" +
1172  	"\bpeer_url\x18\x01 \x01(\tR\apeerUrl\x122\n" +
1173  	"\x06filter\x18\x02 \x01(\v2\x1a.orlysync.common.v1.FilterR\x06filter\x12\x14\n" +
1174  	"\x05since\x18\x03 \x01(\x03R\x05since\"\xf3\x01\n" +
1175  	"\fSyncProgress\x12\x19\n" +
1176  	"\bpeer_url\x18\x01 \x01(\tR\apeerUrl\x12\x14\n" +
1177  	"\x05round\x18\x02 \x01(\x05R\x05round\x12\x1d\n" +
1178  	"\n" +
1179  	"have_count\x18\x03 \x01(\x03R\thaveCount\x12\x1d\n" +
1180  	"\n" +
1181  	"need_count\x18\x04 \x01(\x03R\tneedCount\x12#\n" +
1182  	"\rfetched_count\x18\x05 \x01(\x03R\ffetchedCount\x12\x1d\n" +
1183  	"\n" +
1184  	"sent_count\x18\x06 \x01(\x03R\tsentCount\x12\x1a\n" +
1185  	"\bcomplete\x18\a \x01(\bR\bcomplete\x12\x14\n" +
1186  	"\x05error\x18\b \x01(\tR\x05error\"\xb0\x01\n" +
1187  	"\x12SyncStatusResponse\x12\x16\n" +
1188  	"\x06active\x18\x01 \x01(\bR\x06active\x12\x1b\n" +
1189  	"\tlast_sync\x18\x02 \x01(\x03R\blastSync\x12\x1d\n" +
1190  	"\n" +
1191  	"peer_count\x18\x03 \x01(\x05R\tpeerCount\x12F\n" +
1192  	"\vpeer_states\x18\x04 \x03(\v2%.orlysync.negentropy.v1.PeerSyncStateR\n" +
1193  	"peerStates\"%\n" +
1194  	"\rPeersResponse\x12\x14\n" +
1195  	"\x05peers\x18\x01 \x03(\tR\x05peers\"+\n" +
1196  	"\x0eAddPeerRequest\x12\x19\n" +
1197  	"\bpeer_url\x18\x01 \x01(\tR\apeerUrl\".\n" +
1198  	"\x11RemovePeerRequest\x12\x19\n" +
1199  	"\bpeer_url\x18\x01 \x01(\tR\apeerUrl\"c\n" +
1200  	"\x12TriggerSyncRequest\x12\x19\n" +
1201  	"\bpeer_url\x18\x01 \x01(\tR\apeerUrl\x122\n" +
1202  	"\x06filter\x18\x02 \x01(\v2\x1a.orlysync.common.v1.FilterR\x06filter\"1\n" +
1203  	"\x14PeerSyncStateRequest\x12\x19\n" +
1204  	"\bpeer_url\x18\x01 \x01(\tR\apeerUrl\"j\n" +
1205  	"\x15PeerSyncStateResponse\x12;\n" +
1206  	"\x05state\x18\x01 \x01(\v2%.orlysync.negentropy.v1.PeerSyncStateR\x05state\x12\x14\n" +
1207  	"\x05found\x18\x02 \x01(\bR\x05found\"\xd6\x01\n" +
1208  	"\rPeerSyncState\x12\x19\n" +
1209  	"\bpeer_url\x18\x01 \x01(\tR\apeerUrl\x12\x1b\n" +
1210  	"\tlast_sync\x18\x02 \x01(\x03R\blastSync\x12#\n" +
1211  	"\revents_synced\x18\x03 \x01(\x03R\feventsSynced\x12\x16\n" +
1212  	"\x06status\x18\x04 \x01(\tR\x06status\x12\x1d\n" +
1213  	"\n" +
1214  	"last_error\x18\x05 \x01(\tR\tlastError\x121\n" +
1215  	"\x14consecutive_failures\x18\x06 \x01(\x05R\x13consecutiveFailures\"\xc2\x01\n" +
1216  	"\rClientSession\x12'\n" +
1217  	"\x0fsubscription_id\x18\x01 \x01(\tR\x0esubscriptionId\x12#\n" +
1218  	"\rconnection_id\x18\x02 \x01(\tR\fconnectionId\x12\x1d\n" +
1219  	"\n" +
1220  	"created_at\x18\x03 \x01(\x03R\tcreatedAt\x12#\n" +
1221  	"\rlast_activity\x18\x04 \x01(\x03R\flastActivity\x12\x1f\n" +
1222  	"\vround_count\x18\x05 \x01(\x05R\n" +
1223  	"roundCount\"Y\n" +
1224  	"\x14ListSessionsResponse\x12A\n" +
1225  	"\bsessions\x18\x01 \x03(\v2%.orlysync.negentropy.v1.ClientSessionR\bsessions\"c\n" +
1226  	"\x13CloseSessionRequest\x12'\n" +
1227  	"\x0fsubscription_id\x18\x01 \x01(\tR\x0esubscriptionId\x12#\n" +
1228  	"\rconnection_id\x18\x02 \x01(\tR\fconnectionId2\x8f\n" +
1229  	"\n" +
1230  	"\x11NegentropyService\x12E\n" +
1231  	"\x05Ready\x12\x19.orlysync.common.v1.Empty\x1a!.orlysync.common.v1.ReadyResponse\x12=\n" +
1232  	"\x05Start\x12\x19.orlysync.common.v1.Empty\x1a\x19.orlysync.common.v1.Empty\x12<\n" +
1233  	"\x04Stop\x12\x19.orlysync.common.v1.Empty\x1a\x19.orlysync.common.v1.Empty\x12`\n" +
1234  	"\rHandleNegOpen\x12&.orlysync.negentropy.v1.NegOpenRequest\x1a'.orlysync.negentropy.v1.NegOpenResponse\x12]\n" +
1235  	"\fHandleNegMsg\x12%.orlysync.negentropy.v1.NegMsgRequest\x1a&.orlysync.negentropy.v1.NegMsgResponse\x12T\n" +
1236  	"\x0eHandleNegClose\x12'.orlysync.negentropy.v1.NegCloseRequest\x1a\x19.orlysync.common.v1.Empty\x12_\n" +
1237  	"\fSyncWithPeer\x12'.orlysync.negentropy.v1.SyncPeerRequest\x1a$.orlysync.negentropy.v1.SyncProgress0\x01\x12V\n" +
1238  	"\rGetSyncStatus\x12\x19.orlysync.common.v1.Empty\x1a*.orlysync.negentropy.v1.SyncStatusResponse\x12L\n" +
1239  	"\bGetPeers\x12\x19.orlysync.common.v1.Empty\x1a%.orlysync.negentropy.v1.PeersResponse\x12L\n" +
1240  	"\aAddPeer\x12&.orlysync.negentropy.v1.AddPeerRequest\x1a\x19.orlysync.common.v1.Empty\x12R\n" +
1241  	"\n" +
1242  	"RemovePeer\x12).orlysync.negentropy.v1.RemovePeerRequest\x1a\x19.orlysync.common.v1.Empty\x12T\n" +
1243  	"\vTriggerSync\x12*.orlysync.negentropy.v1.TriggerSyncRequest\x1a\x19.orlysync.common.v1.Empty\x12o\n" +
1244  	"\x10GetPeerSyncState\x12,.orlysync.negentropy.v1.PeerSyncStateRequest\x1a-.orlysync.negentropy.v1.PeerSyncStateResponse\x12W\n" +
1245  	"\fListSessions\x12\x19.orlysync.common.v1.Empty\x1a,.orlysync.negentropy.v1.ListSessionsResponse\x12V\n" +
1246  	"\fCloseSession\x12+.orlysync.negentropy.v1.CloseSessionRequest\x1a\x19.orlysync.common.v1.EmptyB=Z;next.orly.dev/pkg/proto/orlysync/negentropy/v1;negentropyv1b\x06proto3"
1247  
1248  var (
1249  	file_orlysync_negentropy_v1_service_proto_rawDescOnce sync.Once
1250  	file_orlysync_negentropy_v1_service_proto_rawDescData []byte
1251  )
1252  
1253  func file_orlysync_negentropy_v1_service_proto_rawDescGZIP() []byte {
1254  	file_orlysync_negentropy_v1_service_proto_rawDescOnce.Do(func() {
1255  		file_orlysync_negentropy_v1_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orlysync_negentropy_v1_service_proto_rawDesc), len(file_orlysync_negentropy_v1_service_proto_rawDesc)))
1256  	})
1257  	return file_orlysync_negentropy_v1_service_proto_rawDescData
1258  }
1259  
1260  var file_orlysync_negentropy_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
1261  var file_orlysync_negentropy_v1_service_proto_goTypes = []any{
1262  	(*NegOpenRequest)(nil),        // 0: orlysync.negentropy.v1.NegOpenRequest
1263  	(*NegOpenResponse)(nil),       // 1: orlysync.negentropy.v1.NegOpenResponse
1264  	(*NegMsgRequest)(nil),         // 2: orlysync.negentropy.v1.NegMsgRequest
1265  	(*NegMsgResponse)(nil),        // 3: orlysync.negentropy.v1.NegMsgResponse
1266  	(*NegCloseRequest)(nil),       // 4: orlysync.negentropy.v1.NegCloseRequest
1267  	(*SyncPeerRequest)(nil),       // 5: orlysync.negentropy.v1.SyncPeerRequest
1268  	(*SyncProgress)(nil),          // 6: orlysync.negentropy.v1.SyncProgress
1269  	(*SyncStatusResponse)(nil),    // 7: orlysync.negentropy.v1.SyncStatusResponse
1270  	(*PeersResponse)(nil),         // 8: orlysync.negentropy.v1.PeersResponse
1271  	(*AddPeerRequest)(nil),        // 9: orlysync.negentropy.v1.AddPeerRequest
1272  	(*RemovePeerRequest)(nil),     // 10: orlysync.negentropy.v1.RemovePeerRequest
1273  	(*TriggerSyncRequest)(nil),    // 11: orlysync.negentropy.v1.TriggerSyncRequest
1274  	(*PeerSyncStateRequest)(nil),  // 12: orlysync.negentropy.v1.PeerSyncStateRequest
1275  	(*PeerSyncStateResponse)(nil), // 13: orlysync.negentropy.v1.PeerSyncStateResponse
1276  	(*PeerSyncState)(nil),         // 14: orlysync.negentropy.v1.PeerSyncState
1277  	(*ClientSession)(nil),         // 15: orlysync.negentropy.v1.ClientSession
1278  	(*ListSessionsResponse)(nil),  // 16: orlysync.negentropy.v1.ListSessionsResponse
1279  	(*CloseSessionRequest)(nil),   // 17: orlysync.negentropy.v1.CloseSessionRequest
1280  	(*v1.Filter)(nil),             // 18: orlysync.common.v1.Filter
1281  	(*v1.Empty)(nil),              // 19: orlysync.common.v1.Empty
1282  	(*v1.ReadyResponse)(nil),      // 20: orlysync.common.v1.ReadyResponse
1283  }
1284  var file_orlysync_negentropy_v1_service_proto_depIdxs = []int32{
1285  	18, // 0: orlysync.negentropy.v1.NegOpenRequest.filter:type_name -> orlysync.common.v1.Filter
1286  	18, // 1: orlysync.negentropy.v1.SyncPeerRequest.filter:type_name -> orlysync.common.v1.Filter
1287  	14, // 2: orlysync.negentropy.v1.SyncStatusResponse.peer_states:type_name -> orlysync.negentropy.v1.PeerSyncState
1288  	18, // 3: orlysync.negentropy.v1.TriggerSyncRequest.filter:type_name -> orlysync.common.v1.Filter
1289  	14, // 4: orlysync.negentropy.v1.PeerSyncStateResponse.state:type_name -> orlysync.negentropy.v1.PeerSyncState
1290  	15, // 5: orlysync.negentropy.v1.ListSessionsResponse.sessions:type_name -> orlysync.negentropy.v1.ClientSession
1291  	19, // 6: orlysync.negentropy.v1.NegentropyService.Ready:input_type -> orlysync.common.v1.Empty
1292  	19, // 7: orlysync.negentropy.v1.NegentropyService.Start:input_type -> orlysync.common.v1.Empty
1293  	19, // 8: orlysync.negentropy.v1.NegentropyService.Stop:input_type -> orlysync.common.v1.Empty
1294  	0,  // 9: orlysync.negentropy.v1.NegentropyService.HandleNegOpen:input_type -> orlysync.negentropy.v1.NegOpenRequest
1295  	2,  // 10: orlysync.negentropy.v1.NegentropyService.HandleNegMsg:input_type -> orlysync.negentropy.v1.NegMsgRequest
1296  	4,  // 11: orlysync.negentropy.v1.NegentropyService.HandleNegClose:input_type -> orlysync.negentropy.v1.NegCloseRequest
1297  	5,  // 12: orlysync.negentropy.v1.NegentropyService.SyncWithPeer:input_type -> orlysync.negentropy.v1.SyncPeerRequest
1298  	19, // 13: orlysync.negentropy.v1.NegentropyService.GetSyncStatus:input_type -> orlysync.common.v1.Empty
1299  	19, // 14: orlysync.negentropy.v1.NegentropyService.GetPeers:input_type -> orlysync.common.v1.Empty
1300  	9,  // 15: orlysync.negentropy.v1.NegentropyService.AddPeer:input_type -> orlysync.negentropy.v1.AddPeerRequest
1301  	10, // 16: orlysync.negentropy.v1.NegentropyService.RemovePeer:input_type -> orlysync.negentropy.v1.RemovePeerRequest
1302  	11, // 17: orlysync.negentropy.v1.NegentropyService.TriggerSync:input_type -> orlysync.negentropy.v1.TriggerSyncRequest
1303  	12, // 18: orlysync.negentropy.v1.NegentropyService.GetPeerSyncState:input_type -> orlysync.negentropy.v1.PeerSyncStateRequest
1304  	19, // 19: orlysync.negentropy.v1.NegentropyService.ListSessions:input_type -> orlysync.common.v1.Empty
1305  	17, // 20: orlysync.negentropy.v1.NegentropyService.CloseSession:input_type -> orlysync.negentropy.v1.CloseSessionRequest
1306  	20, // 21: orlysync.negentropy.v1.NegentropyService.Ready:output_type -> orlysync.common.v1.ReadyResponse
1307  	19, // 22: orlysync.negentropy.v1.NegentropyService.Start:output_type -> orlysync.common.v1.Empty
1308  	19, // 23: orlysync.negentropy.v1.NegentropyService.Stop:output_type -> orlysync.common.v1.Empty
1309  	1,  // 24: orlysync.negentropy.v1.NegentropyService.HandleNegOpen:output_type -> orlysync.negentropy.v1.NegOpenResponse
1310  	3,  // 25: orlysync.negentropy.v1.NegentropyService.HandleNegMsg:output_type -> orlysync.negentropy.v1.NegMsgResponse
1311  	19, // 26: orlysync.negentropy.v1.NegentropyService.HandleNegClose:output_type -> orlysync.common.v1.Empty
1312  	6,  // 27: orlysync.negentropy.v1.NegentropyService.SyncWithPeer:output_type -> orlysync.negentropy.v1.SyncProgress
1313  	7,  // 28: orlysync.negentropy.v1.NegentropyService.GetSyncStatus:output_type -> orlysync.negentropy.v1.SyncStatusResponse
1314  	8,  // 29: orlysync.negentropy.v1.NegentropyService.GetPeers:output_type -> orlysync.negentropy.v1.PeersResponse
1315  	19, // 30: orlysync.negentropy.v1.NegentropyService.AddPeer:output_type -> orlysync.common.v1.Empty
1316  	19, // 31: orlysync.negentropy.v1.NegentropyService.RemovePeer:output_type -> orlysync.common.v1.Empty
1317  	19, // 32: orlysync.negentropy.v1.NegentropyService.TriggerSync:output_type -> orlysync.common.v1.Empty
1318  	13, // 33: orlysync.negentropy.v1.NegentropyService.GetPeerSyncState:output_type -> orlysync.negentropy.v1.PeerSyncStateResponse
1319  	16, // 34: orlysync.negentropy.v1.NegentropyService.ListSessions:output_type -> orlysync.negentropy.v1.ListSessionsResponse
1320  	19, // 35: orlysync.negentropy.v1.NegentropyService.CloseSession:output_type -> orlysync.common.v1.Empty
1321  	21, // [21:36] is the sub-list for method output_type
1322  	6,  // [6:21] is the sub-list for method input_type
1323  	6,  // [6:6] is the sub-list for extension type_name
1324  	6,  // [6:6] is the sub-list for extension extendee
1325  	0,  // [0:6] is the sub-list for field type_name
1326  }
1327  
1328  func init() { file_orlysync_negentropy_v1_service_proto_init() }
1329  func file_orlysync_negentropy_v1_service_proto_init() {
1330  	if File_orlysync_negentropy_v1_service_proto != nil {
1331  		return
1332  	}
1333  	type x struct{}
1334  	out := protoimpl.TypeBuilder{
1335  		File: protoimpl.DescBuilder{
1336  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1337  			RawDescriptor: unsafe.Slice(unsafe.StringData(file_orlysync_negentropy_v1_service_proto_rawDesc), len(file_orlysync_negentropy_v1_service_proto_rawDesc)),
1338  			NumEnums:      0,
1339  			NumMessages:   18,
1340  			NumExtensions: 0,
1341  			NumServices:   1,
1342  		},
1343  		GoTypes:           file_orlysync_negentropy_v1_service_proto_goTypes,
1344  		DependencyIndexes: file_orlysync_negentropy_v1_service_proto_depIdxs,
1345  		MessageInfos:      file_orlysync_negentropy_v1_service_proto_msgTypes,
1346  	}.Build()
1347  	File_orlysync_negentropy_v1_service_proto = out.File
1348  	file_orlysync_negentropy_v1_service_proto_goTypes = nil
1349  	file_orlysync_negentropy_v1_service_proto_depIdxs = nil
1350  }
1351