Files
EasyTier/easytier-go/proto/common/common.pb.go
T
KKRainbow f26c2aa147 feat(wasi): run EasyTier core on Cloudflare Workers and browsers (#2548)
* fix(core): normalize secure keys for TOML instances

* feat(wasi): run core behind Cloudflare WebSockets

Introduce the Cloudflare Worker WASI host that runs the EasyTier core
behind host-upgraded WebSockets.

- Worker package scaffold (wrangler Durable Object, build-wasm script,
  vitest config) and core-runtime/websocket-host/data-plane runtime.
- WASI host WebSocket tunnel ABI (imports, adapter, runtime exports)
  with bounded receive memory and bounded admission queue.
- Route host sockets through the portable listener plan
  (HostListenerRegistration, listener queue, admission handler split).
- Build the WASM guest with the aes-gcm feature so secure peer
  sessions have their cipher available.

* feat(wasi): add outbound browser client runtime

Add the outbound-only WASI runtime and browser connector host so
browser pages can dial EasyTier peers through WebSocket relays.

- CoreConnectivityMode::{OutboundOnly, InboundOnly} gating for
  listeners, discovery, and direct connectivity modules.
- ExternalTunnelConnector plumbing through composite/connector_host/
  manual for browser WebSocket dials.
- Browser/Node smoke entries with shared helpers
  (smoke-shared.ts).

* feat(wasi): extend browser data plane with TCP half-close

Add the data-plane pieces the browser runtime needs for full-duplex
TCP streams behind host WebSockets:

- Guest TCP shutdown_write operation with submit/take ABI pair
  (DATA_PLANE_ABI_VERSION 3 -> 4) and smoltcp half-close support.
- Worker data-plane TCP listener/stream plumbing and core-runtime
  listener registration.
- Unit coverage for the new session ops and listener wiring.

* refactor(wasi): make host tunnel ABI transport-neutral

Replace WebSocket-specific core and WASI boundaries with a
message-oriented Host Tunnel interface. Keep WebSocket framing and text
rejection in the Cloudflare host while preserving payload boundaries,
ownership, cancellation, backpressure, and EOF behavior.

Rename feature flags and guest imports and exports to the Host Tunnel
ABI. Update both Worker profiles, tests, and architecture documentation.

* feat(web): split WASI hosts into publishable npm packages

Extract the shared JSPI, WASI, Host Tunnel, and data-plane runtime
into @easytier/runtime. Keep ABI handles, guest memory, TOML, and
operation broker details behind its adapter entry point.

Add typed, auto-starting @easytier/browser and factory-based
@easytier/cloudflare packages. Ship a matching Wasm profile with
each platform package and validate its capabilities before packing.

Persist Cloudflare instance identity in Durable Object storage,
centralize WebSocket admission ownership, and add package-level
coverage for the public interfaces.

* fix(web): make public packages portable

Embed the browser Wasm artifact in the published JavaScript entry
point. This lets esbuild consumers bundle the package without an asset
loader or a copied file.

Return Cloudflare's nominal Durable Object base type and document the
named subclass export required by generated Wrangler bindings.

* docs(web): add public package walkthrough

Expand both package READMEs with installation, configuration, local
validation, health checks, and deployment instructions.

Add a standalone Vite and Wrangler example that imports only the
public Browser and Cloudflare entries. Generate Worker bindings from
configuration and keep local secrets outside version control.

* chore(go): import EasyTier Go host

Add the standalone Go host runtime as a monorepo subtree without
carrying its development branch ancestry.

Preserve its API, tests, examples, generated protobuf bindings, and
embedded WASI artifacts.

* refactor(hosts): colocate Go and JavaScript runtimes

Move the browser, Cloudflare, shared runtime, and web example into
the easytier-js subtree. Update workspace metadata, build paths, and
documentation for the new layout.

Adopt github.com/EasyTier/EasyTier/easytier-go as the Go module path.
Resolve artifact and protobuf generation from the enclosing monorepo.

* build(web): isolate JavaScript host workspace

Keep public browser and Cloudflare packages outside the legacy frontend
workspace so root installs and cross-platform builds do not pull workerd.

Make each package build generate its required WASI artifact from a clean
checkout. Add a dedicated workflow that runs the same install and check
commands documented for contributors.

Move JavaScript dependencies into a scoped lockfile and restore the root
workspace lockfile to its pre-host state.
2026-09-06 13:35:02 +08:00

2533 lines
74 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v7.35.1
// source: common.proto
package common
import (
error1 "github.com/EasyTier/EasyTier/easytier-go/proto/error"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type CompressionAlgoPb int32
const (
CompressionAlgoPb_Invalid CompressionAlgoPb = 0
CompressionAlgoPb_None CompressionAlgoPb = 1
CompressionAlgoPb_Zstd CompressionAlgoPb = 2
)
// Enum value maps for CompressionAlgoPb.
var (
CompressionAlgoPb_name = map[int32]string{
0: "Invalid",
1: "None",
2: "Zstd",
}
CompressionAlgoPb_value = map[string]int32{
"Invalid": 0,
"None": 1,
"Zstd": 2,
}
)
func (x CompressionAlgoPb) Enum() *CompressionAlgoPb {
p := new(CompressionAlgoPb)
*p = x
return p
}
func (x CompressionAlgoPb) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CompressionAlgoPb) Descriptor() protoreflect.EnumDescriptor {
return file_common_proto_enumTypes[0].Descriptor()
}
func (CompressionAlgoPb) Type() protoreflect.EnumType {
return &file_common_proto_enumTypes[0]
}
func (x CompressionAlgoPb) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CompressionAlgoPb.Descriptor instead.
func (CompressionAlgoPb) EnumDescriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{0}
}
type NatType int32
const (
// has NAT; but own a single public IP, port is not changed
NatType_Unknown NatType = 0
NatType_OpenInternet NatType = 1
NatType_NoPAT NatType = 2
NatType_FullCone NatType = 3
NatType_Restricted NatType = 4
NatType_PortRestricted NatType = 5
NatType_Symmetric NatType = 6
NatType_SymUdpFirewall NatType = 7
NatType_SymmetricEasyInc NatType = 8
NatType_SymmetricEasyDec NatType = 9
)
// Enum value maps for NatType.
var (
NatType_name = map[int32]string{
0: "Unknown",
1: "OpenInternet",
2: "NoPAT",
3: "FullCone",
4: "Restricted",
5: "PortRestricted",
6: "Symmetric",
7: "SymUdpFirewall",
8: "SymmetricEasyInc",
9: "SymmetricEasyDec",
}
NatType_value = map[string]int32{
"Unknown": 0,
"OpenInternet": 1,
"NoPAT": 2,
"FullCone": 3,
"Restricted": 4,
"PortRestricted": 5,
"Symmetric": 6,
"SymUdpFirewall": 7,
"SymmetricEasyInc": 8,
"SymmetricEasyDec": 9,
}
)
func (x NatType) Enum() *NatType {
p := new(NatType)
*p = x
return p
}
func (x NatType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (NatType) Descriptor() protoreflect.EnumDescriptor {
return file_common_proto_enumTypes[1].Descriptor()
}
func (NatType) Type() protoreflect.EnumType {
return &file_common_proto_enumTypes[1]
}
func (x NatType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use NatType.Descriptor instead.
func (NatType) EnumDescriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{1}
}
type SocketType int32
const (
SocketType_TCP SocketType = 0
SocketType_UDP SocketType = 1
)
// Enum value maps for SocketType.
var (
SocketType_name = map[int32]string{
0: "TCP",
1: "UDP",
}
SocketType_value = map[string]int32{
"TCP": 0,
"UDP": 1,
}
)
func (x SocketType) Enum() *SocketType {
p := new(SocketType)
*p = x
return p
}
func (x SocketType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SocketType) Descriptor() protoreflect.EnumDescriptor {
return file_common_proto_enumTypes[2].Descriptor()
}
func (SocketType) Type() protoreflect.EnumType {
return &file_common_proto_enumTypes[2]
}
func (x SocketType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SocketType.Descriptor instead.
func (SocketType) EnumDescriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{2}
}
type FlagsInConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
DefaultProtocol string `protobuf:"bytes,1,opt,name=default_protocol,json=defaultProtocol,proto3" json:"default_protocol,omitempty"`
DevName string `protobuf:"bytes,2,opt,name=dev_name,json=devName,proto3" json:"dev_name,omitempty"`
EnableEncryption bool `protobuf:"varint,3,opt,name=enable_encryption,json=enableEncryption,proto3" json:"enable_encryption,omitempty"`
EnableIpv6 bool `protobuf:"varint,4,opt,name=enable_ipv6,json=enableIpv6,proto3" json:"enable_ipv6,omitempty"`
Mtu uint32 `protobuf:"varint,5,opt,name=mtu,proto3" json:"mtu,omitempty"`
LatencyFirst bool `protobuf:"varint,6,opt,name=latency_first,json=latencyFirst,proto3" json:"latency_first,omitempty"`
EnableExitNode bool `protobuf:"varint,7,opt,name=enable_exit_node,json=enableExitNode,proto3" json:"enable_exit_node,omitempty"`
NoTun bool `protobuf:"varint,8,opt,name=no_tun,json=noTun,proto3" json:"no_tun,omitempty"`
UseSmoltcp bool `protobuf:"varint,9,opt,name=use_smoltcp,json=useSmoltcp,proto3" json:"use_smoltcp,omitempty"`
RelayNetworkWhitelist string `protobuf:"bytes,10,opt,name=relay_network_whitelist,json=relayNetworkWhitelist,proto3" json:"relay_network_whitelist,omitempty"`
DisableP2P bool `protobuf:"varint,11,opt,name=disable_p2p,json=disableP2p,proto3" json:"disable_p2p,omitempty"`
RelayAllPeerRpc bool `protobuf:"varint,12,opt,name=relay_all_peer_rpc,json=relayAllPeerRpc,proto3" json:"relay_all_peer_rpc,omitempty"`
DisableUdpHolePunching bool `protobuf:"varint,13,opt,name=disable_udp_hole_punching,json=disableUdpHolePunching,proto3" json:"disable_udp_hole_punching,omitempty"`
// string ipv6_listener = 14; [deprecated = true]; use -l udp://[::]:12345
// instead
MultiThread bool `protobuf:"varint,15,opt,name=multi_thread,json=multiThread,proto3" json:"multi_thread,omitempty"`
DataCompressAlgo CompressionAlgoPb `protobuf:"varint,16,opt,name=data_compress_algo,json=dataCompressAlgo,proto3,enum=common.CompressionAlgoPb" json:"data_compress_algo,omitempty"`
BindDevice bool `protobuf:"varint,17,opt,name=bind_device,json=bindDevice,proto3" json:"bind_device,omitempty"`
// should we convert all tcp streams into kcp streams
EnableKcpProxy bool `protobuf:"varint,18,opt,name=enable_kcp_proxy,json=enableKcpProxy,proto3" json:"enable_kcp_proxy,omitempty"`
// does this peer allow kcp input
DisableKcpInput bool `protobuf:"varint,19,opt,name=disable_kcp_input,json=disableKcpInput,proto3" json:"disable_kcp_input,omitempty"`
// disable relay local network kcp packets
DisableRelayKcp bool `protobuf:"varint,20,opt,name=disable_relay_kcp,json=disableRelayKcp,proto3" json:"disable_relay_kcp,omitempty"`
ProxyForwardBySystem bool `protobuf:"varint,21,opt,name=proxy_forward_by_system,json=proxyForwardBySystem,proto3" json:"proxy_forward_by_system,omitempty"`
// enable magic dns or not
AcceptDns bool `protobuf:"varint,22,opt,name=accept_dns,json=acceptDns,proto3" json:"accept_dns,omitempty"`
// enable private mode
PrivateMode bool `protobuf:"varint,23,opt,name=private_mode,json=privateMode,proto3" json:"private_mode,omitempty"`
// should we convert all tcp streams into quic streams
EnableQuicProxy bool `protobuf:"varint,24,opt,name=enable_quic_proxy,json=enableQuicProxy,proto3" json:"enable_quic_proxy,omitempty"`
// does this peer allow quic input
DisableQuicInput bool `protobuf:"varint,25,opt,name=disable_quic_input,json=disableQuicInput,proto3" json:"disable_quic_input,omitempty"`
// disable relay local network quic packets
DisableRelayQuic bool `protobuf:"varint,35,opt,name=disable_relay_quic,json=disableRelayQuic,proto3" json:"disable_relay_quic,omitempty"`
// quic listen port
//
// Deprecated: Marked as deprecated in common.proto.
QuicListenPort uint32 `protobuf:"varint,33,opt,name=quic_listen_port,json=quicListenPort,proto3" json:"quic_listen_port,omitempty"`
// a global relay limit, only work for foreign network
ForeignRelayBpsLimit uint64 `protobuf:"varint,26,opt,name=foreign_relay_bps_limit,json=foreignRelayBpsLimit,proto3" json:"foreign_relay_bps_limit,omitempty"`
MultiThreadCount uint32 `protobuf:"varint,27,opt,name=multi_thread_count,json=multiThreadCount,proto3" json:"multi_thread_count,omitempty"`
// enable relay foreign network kcp packets
EnableRelayForeignNetworkKcp bool `protobuf:"varint,28,opt,name=enable_relay_foreign_network_kcp,json=enableRelayForeignNetworkKcp,proto3" json:"enable_relay_foreign_network_kcp,omitempty"`
// enable relay foreign network quic packets
EnableRelayForeignNetworkQuic bool `protobuf:"varint,36,opt,name=enable_relay_foreign_network_quic,json=enableRelayForeignNetworkQuic,proto3" json:"enable_relay_foreign_network_quic,omitempty"`
// encryption algorithm to use, empty string means default (aes-gcm)
EncryptionAlgorithm string `protobuf:"bytes,29,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3" json:"encryption_algorithm,omitempty"`
// disable symmetric nat hole punching, treat symmetric as cone when enabled
DisableSymHolePunching bool `protobuf:"varint,30,opt,name=disable_sym_hole_punching,json=disableSymHolePunching,proto3" json:"disable_sym_hole_punching,omitempty"`
// tld dns zone for magic dns
TldDnsZone string `protobuf:"bytes,31,opt,name=tld_dns_zone,json=tldDnsZone,proto3" json:"tld_dns_zone,omitempty"`
P2POnly bool `protobuf:"varint,32,opt,name=p2p_only,json=p2pOnly,proto3" json:"p2p_only,omitempty"`
DisableTcpHolePunching bool `protobuf:"varint,34,opt,name=disable_tcp_hole_punching,json=disableTcpHolePunching,proto3" json:"disable_tcp_hole_punching,omitempty"`
LazyP2P bool `protobuf:"varint,37,opt,name=lazy_p2p,json=lazyP2p,proto3" json:"lazy_p2p,omitempty"`
NeedP2P bool `protobuf:"varint,38,opt,name=need_p2p,json=needP2p,proto3" json:"need_p2p,omitempty"`
InstanceRecvBpsLimit uint64 `protobuf:"varint,39,opt,name=instance_recv_bps_limit,json=instanceRecvBpsLimit,proto3" json:"instance_recv_bps_limit,omitempty"`
DisableUpnp bool `protobuf:"varint,40,opt,name=disable_upnp,json=disableUpnp,proto3" json:"disable_upnp,omitempty"`
DisableRelayData bool `protobuf:"varint,41,opt,name=disable_relay_data,json=disableRelayData,proto3" json:"disable_relay_data,omitempty"`
EnableUdpBroadcastRelay bool `protobuf:"varint,42,opt,name=enable_udp_broadcast_relay,json=enableUdpBroadcastRelay,proto3" json:"enable_udp_broadcast_relay,omitempty"`
// Linux-only: SO_MARK (fwmark) value applied to every outbound underlay
// socket (TCP/UDP/QUIC/WS/WG connectors and listeners). Unset = leave
// SO_MARK untouched (kernel default 0). Any set value (including 0) is
// applied via setsockopt. Requires CAP_NET_ADMIN; silently ignored on
// non-Linux platforms.
SocketMark *uint32 `protobuf:"varint,43,opt,name=socket_mark,json=socketMark,proto3,oneof" json:"socket_mark,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FlagsInConfig) Reset() {
*x = FlagsInConfig{}
mi := &file_common_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FlagsInConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FlagsInConfig) ProtoMessage() {}
func (x *FlagsInConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FlagsInConfig.ProtoReflect.Descriptor instead.
func (*FlagsInConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{0}
}
func (x *FlagsInConfig) GetDefaultProtocol() string {
if x != nil {
return x.DefaultProtocol
}
return ""
}
func (x *FlagsInConfig) GetDevName() string {
if x != nil {
return x.DevName
}
return ""
}
func (x *FlagsInConfig) GetEnableEncryption() bool {
if x != nil {
return x.EnableEncryption
}
return false
}
func (x *FlagsInConfig) GetEnableIpv6() bool {
if x != nil {
return x.EnableIpv6
}
return false
}
func (x *FlagsInConfig) GetMtu() uint32 {
if x != nil {
return x.Mtu
}
return 0
}
func (x *FlagsInConfig) GetLatencyFirst() bool {
if x != nil {
return x.LatencyFirst
}
return false
}
func (x *FlagsInConfig) GetEnableExitNode() bool {
if x != nil {
return x.EnableExitNode
}
return false
}
func (x *FlagsInConfig) GetNoTun() bool {
if x != nil {
return x.NoTun
}
return false
}
func (x *FlagsInConfig) GetUseSmoltcp() bool {
if x != nil {
return x.UseSmoltcp
}
return false
}
func (x *FlagsInConfig) GetRelayNetworkWhitelist() string {
if x != nil {
return x.RelayNetworkWhitelist
}
return ""
}
func (x *FlagsInConfig) GetDisableP2P() bool {
if x != nil {
return x.DisableP2P
}
return false
}
func (x *FlagsInConfig) GetRelayAllPeerRpc() bool {
if x != nil {
return x.RelayAllPeerRpc
}
return false
}
func (x *FlagsInConfig) GetDisableUdpHolePunching() bool {
if x != nil {
return x.DisableUdpHolePunching
}
return false
}
func (x *FlagsInConfig) GetMultiThread() bool {
if x != nil {
return x.MultiThread
}
return false
}
func (x *FlagsInConfig) GetDataCompressAlgo() CompressionAlgoPb {
if x != nil {
return x.DataCompressAlgo
}
return CompressionAlgoPb_Invalid
}
func (x *FlagsInConfig) GetBindDevice() bool {
if x != nil {
return x.BindDevice
}
return false
}
func (x *FlagsInConfig) GetEnableKcpProxy() bool {
if x != nil {
return x.EnableKcpProxy
}
return false
}
func (x *FlagsInConfig) GetDisableKcpInput() bool {
if x != nil {
return x.DisableKcpInput
}
return false
}
func (x *FlagsInConfig) GetDisableRelayKcp() bool {
if x != nil {
return x.DisableRelayKcp
}
return false
}
func (x *FlagsInConfig) GetProxyForwardBySystem() bool {
if x != nil {
return x.ProxyForwardBySystem
}
return false
}
func (x *FlagsInConfig) GetAcceptDns() bool {
if x != nil {
return x.AcceptDns
}
return false
}
func (x *FlagsInConfig) GetPrivateMode() bool {
if x != nil {
return x.PrivateMode
}
return false
}
func (x *FlagsInConfig) GetEnableQuicProxy() bool {
if x != nil {
return x.EnableQuicProxy
}
return false
}
func (x *FlagsInConfig) GetDisableQuicInput() bool {
if x != nil {
return x.DisableQuicInput
}
return false
}
func (x *FlagsInConfig) GetDisableRelayQuic() bool {
if x != nil {
return x.DisableRelayQuic
}
return false
}
// Deprecated: Marked as deprecated in common.proto.
func (x *FlagsInConfig) GetQuicListenPort() uint32 {
if x != nil {
return x.QuicListenPort
}
return 0
}
func (x *FlagsInConfig) GetForeignRelayBpsLimit() uint64 {
if x != nil {
return x.ForeignRelayBpsLimit
}
return 0
}
func (x *FlagsInConfig) GetMultiThreadCount() uint32 {
if x != nil {
return x.MultiThreadCount
}
return 0
}
func (x *FlagsInConfig) GetEnableRelayForeignNetworkKcp() bool {
if x != nil {
return x.EnableRelayForeignNetworkKcp
}
return false
}
func (x *FlagsInConfig) GetEnableRelayForeignNetworkQuic() bool {
if x != nil {
return x.EnableRelayForeignNetworkQuic
}
return false
}
func (x *FlagsInConfig) GetEncryptionAlgorithm() string {
if x != nil {
return x.EncryptionAlgorithm
}
return ""
}
func (x *FlagsInConfig) GetDisableSymHolePunching() bool {
if x != nil {
return x.DisableSymHolePunching
}
return false
}
func (x *FlagsInConfig) GetTldDnsZone() string {
if x != nil {
return x.TldDnsZone
}
return ""
}
func (x *FlagsInConfig) GetP2POnly() bool {
if x != nil {
return x.P2POnly
}
return false
}
func (x *FlagsInConfig) GetDisableTcpHolePunching() bool {
if x != nil {
return x.DisableTcpHolePunching
}
return false
}
func (x *FlagsInConfig) GetLazyP2P() bool {
if x != nil {
return x.LazyP2P
}
return false
}
func (x *FlagsInConfig) GetNeedP2P() bool {
if x != nil {
return x.NeedP2P
}
return false
}
func (x *FlagsInConfig) GetInstanceRecvBpsLimit() uint64 {
if x != nil {
return x.InstanceRecvBpsLimit
}
return 0
}
func (x *FlagsInConfig) GetDisableUpnp() bool {
if x != nil {
return x.DisableUpnp
}
return false
}
func (x *FlagsInConfig) GetDisableRelayData() bool {
if x != nil {
return x.DisableRelayData
}
return false
}
func (x *FlagsInConfig) GetEnableUdpBroadcastRelay() bool {
if x != nil {
return x.EnableUdpBroadcastRelay
}
return false
}
func (x *FlagsInConfig) GetSocketMark() uint32 {
if x != nil && x.SocketMark != nil {
return *x.SocketMark
}
return 0
}
type RpcDescriptor struct {
state protoimpl.MessageState `protogen:"open.v1"`
// allow same service registered multiple times in different domain
DomainName string `protobuf:"bytes,1,opt,name=domain_name,json=domainName,proto3" json:"domain_name,omitempty"`
ProtoName string `protobuf:"bytes,2,opt,name=proto_name,json=protoName,proto3" json:"proto_name,omitempty"`
ServiceName string `protobuf:"bytes,3,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
MethodIndex uint32 `protobuf:"varint,4,opt,name=method_index,json=methodIndex,proto3" json:"method_index,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RpcDescriptor) Reset() {
*x = RpcDescriptor{}
mi := &file_common_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RpcDescriptor) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RpcDescriptor) ProtoMessage() {}
func (x *RpcDescriptor) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RpcDescriptor.ProtoReflect.Descriptor instead.
func (*RpcDescriptor) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{1}
}
func (x *RpcDescriptor) GetDomainName() string {
if x != nil {
return x.DomainName
}
return ""
}
func (x *RpcDescriptor) GetProtoName() string {
if x != nil {
return x.ProtoName
}
return ""
}
func (x *RpcDescriptor) GetServiceName() string {
if x != nil {
return x.ServiceName
}
return ""
}
func (x *RpcDescriptor) GetMethodIndex() uint32 {
if x != nil {
return x.MethodIndex
}
return 0
}
type RpcRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Deprecated: Marked as deprecated in common.proto.
Descriptor_ *RpcDescriptor `protobuf:"bytes,1,opt,name=descriptor,proto3" json:"descriptor,omitempty"`
Request []byte `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
TimeoutMs int32 `protobuf:"varint,3,opt,name=timeout_ms,json=timeoutMs,proto3" json:"timeout_ms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RpcRequest) Reset() {
*x = RpcRequest{}
mi := &file_common_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RpcRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RpcRequest) ProtoMessage() {}
func (x *RpcRequest) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RpcRequest.ProtoReflect.Descriptor instead.
func (*RpcRequest) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{2}
}
// Deprecated: Marked as deprecated in common.proto.
func (x *RpcRequest) GetDescriptor_() *RpcDescriptor {
if x != nil {
return x.Descriptor_
}
return nil
}
func (x *RpcRequest) GetRequest() []byte {
if x != nil {
return x.Request
}
return nil
}
func (x *RpcRequest) GetTimeoutMs() int32 {
if x != nil {
return x.TimeoutMs
}
return 0
}
// One transport-neutral RPC invocation submitted through a direct ABI.
//
// full_method_name uses the protobuf reflection form:
// "<package>.<service>.<method>" or "<service>.<method>" for an empty package.
type DirectRpcRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
FullMethodName string `protobuf:"bytes,1,opt,name=full_method_name,json=fullMethodName,proto3" json:"full_method_name,omitempty"`
Request []byte `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
TimeoutMs *uint64 `protobuf:"varint,3,opt,name=timeout_ms,json=timeoutMs,proto3,oneof" json:"timeout_ms,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DirectRpcRequest) Reset() {
*x = DirectRpcRequest{}
mi := &file_common_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DirectRpcRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DirectRpcRequest) ProtoMessage() {}
func (x *DirectRpcRequest) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DirectRpcRequest.ProtoReflect.Descriptor instead.
func (*DirectRpcRequest) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{3}
}
func (x *DirectRpcRequest) GetFullMethodName() string {
if x != nil {
return x.FullMethodName
}
return ""
}
func (x *DirectRpcRequest) GetRequest() []byte {
if x != nil {
return x.Request
}
return nil
}
func (x *DirectRpcRequest) GetTimeoutMs() uint64 {
if x != nil && x.TimeoutMs != nil {
return *x.TimeoutMs
}
return 0
}
// One process-level management call delegated by the WASI WebClient to its host.
type HostManagementRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Rpc *DirectRpcRequest `protobuf:"bytes,1,opt,name=rpc,proto3" json:"rpc,omitempty"`
PreparedConfig *string `protobuf:"bytes,2,opt,name=prepared_config,json=preparedConfig,proto3,oneof" json:"prepared_config,omitempty"`
// Runtime identity paired with prepared_config without rewriting rpc.request.
PreparedInstanceId *UUID `protobuf:"bytes,3,opt,name=prepared_instance_id,json=preparedInstanceId,proto3" json:"prepared_instance_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HostManagementRequest) Reset() {
*x = HostManagementRequest{}
mi := &file_common_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HostManagementRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HostManagementRequest) ProtoMessage() {}
func (x *HostManagementRequest) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HostManagementRequest.ProtoReflect.Descriptor instead.
func (*HostManagementRequest) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{4}
}
func (x *HostManagementRequest) GetRpc() *DirectRpcRequest {
if x != nil {
return x.Rpc
}
return nil
}
func (x *HostManagementRequest) GetPreparedConfig() string {
if x != nil && x.PreparedConfig != nil {
return *x.PreparedConfig
}
return ""
}
func (x *HostManagementRequest) GetPreparedInstanceId() *UUID {
if x != nil {
return x.PreparedInstanceId
}
return nil
}
type RpcResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Response []byte `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
Error *error1.Error `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
RuntimeUs uint64 `protobuf:"varint,3,opt,name=runtime_us,json=runtimeUs,proto3" json:"runtime_us,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RpcResponse) Reset() {
*x = RpcResponse{}
mi := &file_common_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RpcResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RpcResponse) ProtoMessage() {}
func (x *RpcResponse) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RpcResponse.ProtoReflect.Descriptor instead.
func (*RpcResponse) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{5}
}
func (x *RpcResponse) GetResponse() []byte {
if x != nil {
return x.Response
}
return nil
}
func (x *RpcResponse) GetError() *error1.Error {
if x != nil {
return x.Error
}
return nil
}
func (x *RpcResponse) GetRuntimeUs() uint64 {
if x != nil {
return x.RuntimeUs
}
return 0
}
type RpcCompressionInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
// use this to compress the content
Algo CompressionAlgoPb `protobuf:"varint,1,opt,name=algo,proto3,enum=common.CompressionAlgoPb" json:"algo,omitempty"`
// tell the peer which compression algo is used to compress the next
// response/request
AcceptedAlgo CompressionAlgoPb `protobuf:"varint,2,opt,name=accepted_algo,json=acceptedAlgo,proto3,enum=common.CompressionAlgoPb" json:"accepted_algo,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RpcCompressionInfo) Reset() {
*x = RpcCompressionInfo{}
mi := &file_common_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RpcCompressionInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RpcCompressionInfo) ProtoMessage() {}
func (x *RpcCompressionInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RpcCompressionInfo.ProtoReflect.Descriptor instead.
func (*RpcCompressionInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{6}
}
func (x *RpcCompressionInfo) GetAlgo() CompressionAlgoPb {
if x != nil {
return x.Algo
}
return CompressionAlgoPb_Invalid
}
func (x *RpcCompressionInfo) GetAcceptedAlgo() CompressionAlgoPb {
if x != nil {
return x.AcceptedAlgo
}
return CompressionAlgoPb_Invalid
}
type RpcPacket struct {
state protoimpl.MessageState `protogen:"open.v1"`
FromPeer uint32 `protobuf:"varint,1,opt,name=from_peer,json=fromPeer,proto3" json:"from_peer,omitempty"`
ToPeer uint32 `protobuf:"varint,2,opt,name=to_peer,json=toPeer,proto3" json:"to_peer,omitempty"`
TransactionId int64 `protobuf:"varint,3,opt,name=transaction_id,json=transactionId,proto3" json:"transaction_id,omitempty"`
Descriptor_ *RpcDescriptor `protobuf:"bytes,4,opt,name=descriptor,proto3" json:"descriptor,omitempty"`
Body []byte `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"`
IsRequest bool `protobuf:"varint,6,opt,name=is_request,json=isRequest,proto3" json:"is_request,omitempty"`
TotalPieces uint32 `protobuf:"varint,7,opt,name=total_pieces,json=totalPieces,proto3" json:"total_pieces,omitempty"`
PieceIdx uint32 `protobuf:"varint,8,opt,name=piece_idx,json=pieceIdx,proto3" json:"piece_idx,omitempty"`
TraceId int32 `protobuf:"varint,9,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
CompressionInfo *RpcCompressionInfo `protobuf:"bytes,10,opt,name=compression_info,json=compressionInfo,proto3" json:"compression_info,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RpcPacket) Reset() {
*x = RpcPacket{}
mi := &file_common_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RpcPacket) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RpcPacket) ProtoMessage() {}
func (x *RpcPacket) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RpcPacket.ProtoReflect.Descriptor instead.
func (*RpcPacket) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{7}
}
func (x *RpcPacket) GetFromPeer() uint32 {
if x != nil {
return x.FromPeer
}
return 0
}
func (x *RpcPacket) GetToPeer() uint32 {
if x != nil {
return x.ToPeer
}
return 0
}
func (x *RpcPacket) GetTransactionId() int64 {
if x != nil {
return x.TransactionId
}
return 0
}
func (x *RpcPacket) GetDescriptor_() *RpcDescriptor {
if x != nil {
return x.Descriptor_
}
return nil
}
func (x *RpcPacket) GetBody() []byte {
if x != nil {
return x.Body
}
return nil
}
func (x *RpcPacket) GetIsRequest() bool {
if x != nil {
return x.IsRequest
}
return false
}
func (x *RpcPacket) GetTotalPieces() uint32 {
if x != nil {
return x.TotalPieces
}
return 0
}
func (x *RpcPacket) GetPieceIdx() uint32 {
if x != nil {
return x.PieceIdx
}
return 0
}
func (x *RpcPacket) GetTraceId() int32 {
if x != nil {
return x.TraceId
}
return 0
}
func (x *RpcPacket) GetCompressionInfo() *RpcCompressionInfo {
if x != nil {
return x.CompressionInfo
}
return nil
}
type Void struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Void) Reset() {
*x = Void{}
mi := &file_common_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Void) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Void) ProtoMessage() {}
func (x *Void) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Void.ProtoReflect.Descriptor instead.
func (*Void) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{8}
}
type UUID struct {
state protoimpl.MessageState `protogen:"open.v1"`
Part1 uint32 `protobuf:"varint,1,opt,name=part1,proto3" json:"part1,omitempty"`
Part2 uint32 `protobuf:"varint,2,opt,name=part2,proto3" json:"part2,omitempty"`
Part3 uint32 `protobuf:"varint,3,opt,name=part3,proto3" json:"part3,omitempty"`
Part4 uint32 `protobuf:"varint,4,opt,name=part4,proto3" json:"part4,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UUID) Reset() {
*x = UUID{}
mi := &file_common_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UUID) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UUID) ProtoMessage() {}
func (x *UUID) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UUID.ProtoReflect.Descriptor instead.
func (*UUID) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{9}
}
func (x *UUID) GetPart1() uint32 {
if x != nil {
return x.Part1
}
return 0
}
func (x *UUID) GetPart2() uint32 {
if x != nil {
return x.Part2
}
return 0
}
func (x *UUID) GetPart3() uint32 {
if x != nil {
return x.Part3
}
return 0
}
func (x *UUID) GetPart4() uint32 {
if x != nil {
return x.Part4
}
return 0
}
type Ipv4Addr struct {
state protoimpl.MessageState `protogen:"open.v1"`
Addr uint32 `protobuf:"varint,1,opt,name=addr,proto3" json:"addr,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Ipv4Addr) Reset() {
*x = Ipv4Addr{}
mi := &file_common_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Ipv4Addr) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Ipv4Addr) ProtoMessage() {}
func (x *Ipv4Addr) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Ipv4Addr.ProtoReflect.Descriptor instead.
func (*Ipv4Addr) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{10}
}
func (x *Ipv4Addr) GetAddr() uint32 {
if x != nil {
return x.Addr
}
return 0
}
type Ipv6Addr struct {
state protoimpl.MessageState `protogen:"open.v1"`
Part1 uint32 `protobuf:"varint,1,opt,name=part1,proto3" json:"part1,omitempty"`
Part2 uint32 `protobuf:"varint,2,opt,name=part2,proto3" json:"part2,omitempty"`
Part3 uint32 `protobuf:"varint,3,opt,name=part3,proto3" json:"part3,omitempty"`
Part4 uint32 `protobuf:"varint,4,opt,name=part4,proto3" json:"part4,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Ipv6Addr) Reset() {
*x = Ipv6Addr{}
mi := &file_common_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Ipv6Addr) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Ipv6Addr) ProtoMessage() {}
func (x *Ipv6Addr) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Ipv6Addr.ProtoReflect.Descriptor instead.
func (*Ipv6Addr) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{11}
}
func (x *Ipv6Addr) GetPart1() uint32 {
if x != nil {
return x.Part1
}
return 0
}
func (x *Ipv6Addr) GetPart2() uint32 {
if x != nil {
return x.Part2
}
return 0
}
func (x *Ipv6Addr) GetPart3() uint32 {
if x != nil {
return x.Part3
}
return 0
}
func (x *Ipv6Addr) GetPart4() uint32 {
if x != nil {
return x.Part4
}
return 0
}
type IpAddr struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to Ip:
//
// *IpAddr_Ipv4
// *IpAddr_Ipv6
Ip isIpAddr_Ip `protobuf_oneof:"ip"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *IpAddr) Reset() {
*x = IpAddr{}
mi := &file_common_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *IpAddr) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IpAddr) ProtoMessage() {}
func (x *IpAddr) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use IpAddr.ProtoReflect.Descriptor instead.
func (*IpAddr) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{12}
}
func (x *IpAddr) GetIp() isIpAddr_Ip {
if x != nil {
return x.Ip
}
return nil
}
func (x *IpAddr) GetIpv4() *Ipv4Addr {
if x != nil {
if x, ok := x.Ip.(*IpAddr_Ipv4); ok {
return x.Ipv4
}
}
return nil
}
func (x *IpAddr) GetIpv6() *Ipv6Addr {
if x != nil {
if x, ok := x.Ip.(*IpAddr_Ipv6); ok {
return x.Ipv6
}
}
return nil
}
type isIpAddr_Ip interface {
isIpAddr_Ip()
}
type IpAddr_Ipv4 struct {
Ipv4 *Ipv4Addr `protobuf:"bytes,1,opt,name=ipv4,proto3,oneof"`
}
type IpAddr_Ipv6 struct {
Ipv6 *Ipv6Addr `protobuf:"bytes,2,opt,name=ipv6,proto3,oneof"`
}
func (*IpAddr_Ipv4) isIpAddr_Ip() {}
func (*IpAddr_Ipv6) isIpAddr_Ip() {}
type Ipv4Inet struct {
state protoimpl.MessageState `protogen:"open.v1"`
Address *Ipv4Addr `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
NetworkLength uint32 `protobuf:"varint,2,opt,name=network_length,json=networkLength,proto3" json:"network_length,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Ipv4Inet) Reset() {
*x = Ipv4Inet{}
mi := &file_common_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Ipv4Inet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Ipv4Inet) ProtoMessage() {}
func (x *Ipv4Inet) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Ipv4Inet.ProtoReflect.Descriptor instead.
func (*Ipv4Inet) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{13}
}
func (x *Ipv4Inet) GetAddress() *Ipv4Addr {
if x != nil {
return x.Address
}
return nil
}
func (x *Ipv4Inet) GetNetworkLength() uint32 {
if x != nil {
return x.NetworkLength
}
return 0
}
type Ipv6Inet struct {
state protoimpl.MessageState `protogen:"open.v1"`
Address *Ipv6Addr `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
NetworkLength uint32 `protobuf:"varint,2,opt,name=network_length,json=networkLength,proto3" json:"network_length,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Ipv6Inet) Reset() {
*x = Ipv6Inet{}
mi := &file_common_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Ipv6Inet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Ipv6Inet) ProtoMessage() {}
func (x *Ipv6Inet) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Ipv6Inet.ProtoReflect.Descriptor instead.
func (*Ipv6Inet) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{14}
}
func (x *Ipv6Inet) GetAddress() *Ipv6Addr {
if x != nil {
return x.Address
}
return nil
}
func (x *Ipv6Inet) GetNetworkLength() uint32 {
if x != nil {
return x.NetworkLength
}
return 0
}
type IpInet struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to Ip:
//
// *IpInet_Ipv4
// *IpInet_Ipv6
Ip isIpInet_Ip `protobuf_oneof:"ip"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *IpInet) Reset() {
*x = IpInet{}
mi := &file_common_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *IpInet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IpInet) ProtoMessage() {}
func (x *IpInet) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use IpInet.ProtoReflect.Descriptor instead.
func (*IpInet) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{15}
}
func (x *IpInet) GetIp() isIpInet_Ip {
if x != nil {
return x.Ip
}
return nil
}
func (x *IpInet) GetIpv4() *Ipv4Inet {
if x != nil {
if x, ok := x.Ip.(*IpInet_Ipv4); ok {
return x.Ipv4
}
}
return nil
}
func (x *IpInet) GetIpv6() *Ipv6Inet {
if x != nil {
if x, ok := x.Ip.(*IpInet_Ipv6); ok {
return x.Ipv6
}
}
return nil
}
type isIpInet_Ip interface {
isIpInet_Ip()
}
type IpInet_Ipv4 struct {
Ipv4 *Ipv4Inet `protobuf:"bytes,1,opt,name=ipv4,proto3,oneof"`
}
type IpInet_Ipv6 struct {
Ipv6 *Ipv6Inet `protobuf:"bytes,2,opt,name=ipv6,proto3,oneof"`
}
func (*IpInet_Ipv4) isIpInet_Ip() {}
func (*IpInet_Ipv6) isIpInet_Ip() {}
type Url struct {
state protoimpl.MessageState `protogen:"open.v1"`
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Url) Reset() {
*x = Url{}
mi := &file_common_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Url) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Url) ProtoMessage() {}
func (x *Url) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Url.ProtoReflect.Descriptor instead.
func (*Url) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{16}
}
func (x *Url) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
type SocketAddr struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to Ip:
//
// *SocketAddr_Ipv4
// *SocketAddr_Ipv6
Ip isSocketAddr_Ip `protobuf_oneof:"ip"`
Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SocketAddr) Reset() {
*x = SocketAddr{}
mi := &file_common_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SocketAddr) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SocketAddr) ProtoMessage() {}
func (x *SocketAddr) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SocketAddr.ProtoReflect.Descriptor instead.
func (*SocketAddr) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{17}
}
func (x *SocketAddr) GetIp() isSocketAddr_Ip {
if x != nil {
return x.Ip
}
return nil
}
func (x *SocketAddr) GetIpv4() *Ipv4Addr {
if x != nil {
if x, ok := x.Ip.(*SocketAddr_Ipv4); ok {
return x.Ipv4
}
}
return nil
}
func (x *SocketAddr) GetIpv6() *Ipv6Addr {
if x != nil {
if x, ok := x.Ip.(*SocketAddr_Ipv6); ok {
return x.Ipv6
}
}
return nil
}
func (x *SocketAddr) GetPort() uint32 {
if x != nil {
return x.Port
}
return 0
}
type isSocketAddr_Ip interface {
isSocketAddr_Ip()
}
type SocketAddr_Ipv4 struct {
Ipv4 *Ipv4Addr `protobuf:"bytes,1,opt,name=ipv4,proto3,oneof"`
}
type SocketAddr_Ipv6 struct {
Ipv6 *Ipv6Addr `protobuf:"bytes,2,opt,name=ipv6,proto3,oneof"`
}
func (*SocketAddr_Ipv4) isSocketAddr_Ip() {}
func (*SocketAddr_Ipv6) isSocketAddr_Ip() {}
type TunnelInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
TunnelType string `protobuf:"bytes,1,opt,name=tunnel_type,json=tunnelType,proto3" json:"tunnel_type,omitempty"`
LocalAddr *Url `protobuf:"bytes,2,opt,name=local_addr,json=localAddr,proto3" json:"local_addr,omitempty"`
RemoteAddr *Url `protobuf:"bytes,3,opt,name=remote_addr,json=remoteAddr,proto3" json:"remote_addr,omitempty"`
ResolvedRemoteAddr *Url `protobuf:"bytes,4,opt,name=resolved_remote_addr,json=resolvedRemoteAddr,proto3" json:"resolved_remote_addr,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TunnelInfo) Reset() {
*x = TunnelInfo{}
mi := &file_common_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TunnelInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TunnelInfo) ProtoMessage() {}
func (x *TunnelInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TunnelInfo.ProtoReflect.Descriptor instead.
func (*TunnelInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{18}
}
func (x *TunnelInfo) GetTunnelType() string {
if x != nil {
return x.TunnelType
}
return ""
}
func (x *TunnelInfo) GetLocalAddr() *Url {
if x != nil {
return x.LocalAddr
}
return nil
}
func (x *TunnelInfo) GetRemoteAddr() *Url {
if x != nil {
return x.RemoteAddr
}
return nil
}
func (x *TunnelInfo) GetResolvedRemoteAddr() *Url {
if x != nil {
return x.ResolvedRemoteAddr
}
return nil
}
type StunInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
UdpNatType NatType `protobuf:"varint,1,opt,name=udp_nat_type,json=udpNatType,proto3,enum=common.NatType" json:"udp_nat_type,omitempty"`
TcpNatType NatType `protobuf:"varint,2,opt,name=tcp_nat_type,json=tcpNatType,proto3,enum=common.NatType" json:"tcp_nat_type,omitempty"`
LastUpdateTime int64 `protobuf:"varint,3,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"`
PublicIp []string `protobuf:"bytes,4,rep,name=public_ip,json=publicIp,proto3" json:"public_ip,omitempty"`
MinPort uint32 `protobuf:"varint,5,opt,name=min_port,json=minPort,proto3" json:"min_port,omitempty"`
MaxPort uint32 `protobuf:"varint,6,opt,name=max_port,json=maxPort,proto3" json:"max_port,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *StunInfo) Reset() {
*x = StunInfo{}
mi := &file_common_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *StunInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StunInfo) ProtoMessage() {}
func (x *StunInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StunInfo.ProtoReflect.Descriptor instead.
func (*StunInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{19}
}
func (x *StunInfo) GetUdpNatType() NatType {
if x != nil {
return x.UdpNatType
}
return NatType_Unknown
}
func (x *StunInfo) GetTcpNatType() NatType {
if x != nil {
return x.TcpNatType
}
return NatType_Unknown
}
func (x *StunInfo) GetLastUpdateTime() int64 {
if x != nil {
return x.LastUpdateTime
}
return 0
}
func (x *StunInfo) GetPublicIp() []string {
if x != nil {
return x.PublicIp
}
return nil
}
func (x *StunInfo) GetMinPort() uint32 {
if x != nil {
return x.MinPort
}
return 0
}
func (x *StunInfo) GetMaxPort() uint32 {
if x != nil {
return x.MaxPort
}
return 0
}
type PeerFeatureFlag struct {
state protoimpl.MessageState `protogen:"open.v1"`
IsPublicServer bool `protobuf:"varint,1,opt,name=is_public_server,json=isPublicServer,proto3" json:"is_public_server,omitempty"`
AvoidRelayData bool `protobuf:"varint,2,opt,name=avoid_relay_data,json=avoidRelayData,proto3" json:"avoid_relay_data,omitempty"`
KcpInput bool `protobuf:"varint,3,opt,name=kcp_input,json=kcpInput,proto3" json:"kcp_input,omitempty"`
NoRelayKcp bool `protobuf:"varint,4,opt,name=no_relay_kcp,json=noRelayKcp,proto3" json:"no_relay_kcp,omitempty"`
SupportConnListSync bool `protobuf:"varint,5,opt,name=support_conn_list_sync,json=supportConnListSync,proto3" json:"support_conn_list_sync,omitempty"`
QuicInput bool `protobuf:"varint,6,opt,name=quic_input,json=quicInput,proto3" json:"quic_input,omitempty"`
NoRelayQuic bool `protobuf:"varint,7,opt,name=no_relay_quic,json=noRelayQuic,proto3" json:"no_relay_quic,omitempty"`
IsCredentialPeer bool `protobuf:"varint,8,opt,name=is_credential_peer,json=isCredentialPeer,proto3" json:"is_credential_peer,omitempty"`
NeedP2P bool `protobuf:"varint,9,opt,name=need_p2p,json=needP2p,proto3" json:"need_p2p,omitempty"`
DisableP2P bool `protobuf:"varint,10,opt,name=disable_p2p,json=disableP2p,proto3" json:"disable_p2p,omitempty"`
Ipv6PublicAddrProvider bool `protobuf:"varint,11,opt,name=ipv6_public_addr_provider,json=ipv6PublicAddrProvider,proto3" json:"ipv6_public_addr_provider,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PeerFeatureFlag) Reset() {
*x = PeerFeatureFlag{}
mi := &file_common_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PeerFeatureFlag) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PeerFeatureFlag) ProtoMessage() {}
func (x *PeerFeatureFlag) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PeerFeatureFlag.ProtoReflect.Descriptor instead.
func (*PeerFeatureFlag) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{20}
}
func (x *PeerFeatureFlag) GetIsPublicServer() bool {
if x != nil {
return x.IsPublicServer
}
return false
}
func (x *PeerFeatureFlag) GetAvoidRelayData() bool {
if x != nil {
return x.AvoidRelayData
}
return false
}
func (x *PeerFeatureFlag) GetKcpInput() bool {
if x != nil {
return x.KcpInput
}
return false
}
func (x *PeerFeatureFlag) GetNoRelayKcp() bool {
if x != nil {
return x.NoRelayKcp
}
return false
}
func (x *PeerFeatureFlag) GetSupportConnListSync() bool {
if x != nil {
return x.SupportConnListSync
}
return false
}
func (x *PeerFeatureFlag) GetQuicInput() bool {
if x != nil {
return x.QuicInput
}
return false
}
func (x *PeerFeatureFlag) GetNoRelayQuic() bool {
if x != nil {
return x.NoRelayQuic
}
return false
}
func (x *PeerFeatureFlag) GetIsCredentialPeer() bool {
if x != nil {
return x.IsCredentialPeer
}
return false
}
func (x *PeerFeatureFlag) GetNeedP2P() bool {
if x != nil {
return x.NeedP2P
}
return false
}
func (x *PeerFeatureFlag) GetDisableP2P() bool {
if x != nil {
return x.DisableP2P
}
return false
}
func (x *PeerFeatureFlag) GetIpv6PublicAddrProvider() bool {
if x != nil {
return x.Ipv6PublicAddrProvider
}
return false
}
type PortForwardConfigPb struct {
state protoimpl.MessageState `protogen:"open.v1"`
BindAddr *SocketAddr `protobuf:"bytes,1,opt,name=bind_addr,json=bindAddr,proto3" json:"bind_addr,omitempty"`
DstAddr *SocketAddr `protobuf:"bytes,2,opt,name=dst_addr,json=dstAddr,proto3" json:"dst_addr,omitempty"`
SocketType SocketType `protobuf:"varint,3,opt,name=socket_type,json=socketType,proto3,enum=common.SocketType" json:"socket_type,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PortForwardConfigPb) Reset() {
*x = PortForwardConfigPb{}
mi := &file_common_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PortForwardConfigPb) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PortForwardConfigPb) ProtoMessage() {}
func (x *PortForwardConfigPb) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PortForwardConfigPb.ProtoReflect.Descriptor instead.
func (*PortForwardConfigPb) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{21}
}
func (x *PortForwardConfigPb) GetBindAddr() *SocketAddr {
if x != nil {
return x.BindAddr
}
return nil
}
func (x *PortForwardConfigPb) GetDstAddr() *SocketAddr {
if x != nil {
return x.DstAddr
}
return nil
}
func (x *PortForwardConfigPb) GetSocketType() SocketType {
if x != nil {
return x.SocketType
}
return SocketType_TCP
}
type ProxyDstInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
DstAddr *SocketAddr `protobuf:"bytes,1,opt,name=dst_addr,json=dstAddr,proto3" json:"dst_addr,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ProxyDstInfo) Reset() {
*x = ProxyDstInfo{}
mi := &file_common_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProxyDstInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProxyDstInfo) ProtoMessage() {}
func (x *ProxyDstInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProxyDstInfo.ProtoReflect.Descriptor instead.
func (*ProxyDstInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{22}
}
func (x *ProxyDstInfo) GetDstAddr() *SocketAddr {
if x != nil {
return x.DstAddr
}
return nil
}
type LimiterConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
BurstRate *uint64 `protobuf:"varint,1,opt,name=burst_rate,json=burstRate,proto3,oneof" json:"burst_rate,omitempty"` // default 1 means no burst (capacity is same with bps)
Bps *uint64 `protobuf:"varint,2,opt,name=bps,proto3,oneof" json:"bps,omitempty"` // default 0 means no limit (unit is B/s)
FillDurationMs *uint64 `protobuf:"varint,3,opt,name=fill_duration_ms,json=fillDurationMs,proto3,oneof" json:"fill_duration_ms,omitempty"` // default 10ms, the period to fill the bucket
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LimiterConfig) Reset() {
*x = LimiterConfig{}
mi := &file_common_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LimiterConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LimiterConfig) ProtoMessage() {}
func (x *LimiterConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LimiterConfig.ProtoReflect.Descriptor instead.
func (*LimiterConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{23}
}
func (x *LimiterConfig) GetBurstRate() uint64 {
if x != nil && x.BurstRate != nil {
return *x.BurstRate
}
return 0
}
func (x *LimiterConfig) GetBps() uint64 {
if x != nil && x.Bps != nil {
return *x.Bps
}
return 0
}
func (x *LimiterConfig) GetFillDurationMs() uint64 {
if x != nil && x.FillDurationMs != nil {
return *x.FillDurationMs
}
return 0
}
type SecureModeConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
// base64(X25519 private key), used by shared node to present a stable identity
LocalPrivateKey *string `protobuf:"bytes,2,opt,name=local_private_key,json=localPrivateKey,proto3,oneof" json:"local_private_key,omitempty"`
// base64(X25519 public key), required if local_private_key is set
LocalPublicKey *string `protobuf:"bytes,3,opt,name=local_public_key,json=localPublicKey,proto3,oneof" json:"local_public_key,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SecureModeConfig) Reset() {
*x = SecureModeConfig{}
mi := &file_common_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SecureModeConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SecureModeConfig) ProtoMessage() {}
func (x *SecureModeConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SecureModeConfig.ProtoReflect.Descriptor instead.
func (*SecureModeConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{24}
}
func (x *SecureModeConfig) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *SecureModeConfig) GetLocalPrivateKey() string {
if x != nil && x.LocalPrivateKey != nil {
return *x.LocalPrivateKey
}
return ""
}
func (x *SecureModeConfig) GetLocalPublicKey() string {
if x != nil && x.LocalPublicKey != nil {
return *x.LocalPublicKey
}
return ""
}
var File_common_proto protoreflect.FileDescriptor
const file_common_proto_rawDesc = "" +
"\n" +
"\fcommon.proto\x12\x06common\x1a\verror.proto\"\xc9\x0e\n" +
"\rFlagsInConfig\x12)\n" +
"\x10default_protocol\x18\x01 \x01(\tR\x0fdefaultProtocol\x12\x19\n" +
"\bdev_name\x18\x02 \x01(\tR\adevName\x12+\n" +
"\x11enable_encryption\x18\x03 \x01(\bR\x10enableEncryption\x12\x1f\n" +
"\venable_ipv6\x18\x04 \x01(\bR\n" +
"enableIpv6\x12\x10\n" +
"\x03mtu\x18\x05 \x01(\rR\x03mtu\x12#\n" +
"\rlatency_first\x18\x06 \x01(\bR\flatencyFirst\x12(\n" +
"\x10enable_exit_node\x18\a \x01(\bR\x0eenableExitNode\x12\x15\n" +
"\x06no_tun\x18\b \x01(\bR\x05noTun\x12\x1f\n" +
"\vuse_smoltcp\x18\t \x01(\bR\n" +
"useSmoltcp\x126\n" +
"\x17relay_network_whitelist\x18\n" +
" \x01(\tR\x15relayNetworkWhitelist\x12\x1f\n" +
"\vdisable_p2p\x18\v \x01(\bR\n" +
"disableP2p\x12+\n" +
"\x12relay_all_peer_rpc\x18\f \x01(\bR\x0frelayAllPeerRpc\x129\n" +
"\x19disable_udp_hole_punching\x18\r \x01(\bR\x16disableUdpHolePunching\x12!\n" +
"\fmulti_thread\x18\x0f \x01(\bR\vmultiThread\x12G\n" +
"\x12data_compress_algo\x18\x10 \x01(\x0e2\x19.common.CompressionAlgoPbR\x10dataCompressAlgo\x12\x1f\n" +
"\vbind_device\x18\x11 \x01(\bR\n" +
"bindDevice\x12(\n" +
"\x10enable_kcp_proxy\x18\x12 \x01(\bR\x0eenableKcpProxy\x12*\n" +
"\x11disable_kcp_input\x18\x13 \x01(\bR\x0fdisableKcpInput\x12*\n" +
"\x11disable_relay_kcp\x18\x14 \x01(\bR\x0fdisableRelayKcp\x125\n" +
"\x17proxy_forward_by_system\x18\x15 \x01(\bR\x14proxyForwardBySystem\x12\x1d\n" +
"\n" +
"accept_dns\x18\x16 \x01(\bR\tacceptDns\x12!\n" +
"\fprivate_mode\x18\x17 \x01(\bR\vprivateMode\x12*\n" +
"\x11enable_quic_proxy\x18\x18 \x01(\bR\x0fenableQuicProxy\x12,\n" +
"\x12disable_quic_input\x18\x19 \x01(\bR\x10disableQuicInput\x12,\n" +
"\x12disable_relay_quic\x18# \x01(\bR\x10disableRelayQuic\x12,\n" +
"\x10quic_listen_port\x18! \x01(\rB\x02\x18\x01R\x0equicListenPort\x125\n" +
"\x17foreign_relay_bps_limit\x18\x1a \x01(\x04R\x14foreignRelayBpsLimit\x12,\n" +
"\x12multi_thread_count\x18\x1b \x01(\rR\x10multiThreadCount\x12F\n" +
" enable_relay_foreign_network_kcp\x18\x1c \x01(\bR\x1cenableRelayForeignNetworkKcp\x12H\n" +
"!enable_relay_foreign_network_quic\x18$ \x01(\bR\x1denableRelayForeignNetworkQuic\x121\n" +
"\x14encryption_algorithm\x18\x1d \x01(\tR\x13encryptionAlgorithm\x129\n" +
"\x19disable_sym_hole_punching\x18\x1e \x01(\bR\x16disableSymHolePunching\x12 \n" +
"\ftld_dns_zone\x18\x1f \x01(\tR\n" +
"tldDnsZone\x12\x19\n" +
"\bp2p_only\x18 \x01(\bR\ap2pOnly\x129\n" +
"\x19disable_tcp_hole_punching\x18\" \x01(\bR\x16disableTcpHolePunching\x12\x19\n" +
"\blazy_p2p\x18% \x01(\bR\alazyP2p\x12\x19\n" +
"\bneed_p2p\x18& \x01(\bR\aneedP2p\x125\n" +
"\x17instance_recv_bps_limit\x18' \x01(\x04R\x14instanceRecvBpsLimit\x12!\n" +
"\fdisable_upnp\x18( \x01(\bR\vdisableUpnp\x12,\n" +
"\x12disable_relay_data\x18) \x01(\bR\x10disableRelayData\x12;\n" +
"\x1aenable_udp_broadcast_relay\x18* \x01(\bR\x17enableUdpBroadcastRelay\x12$\n" +
"\vsocket_mark\x18+ \x01(\rH\x00R\n" +
"socketMark\x88\x01\x01B\x0e\n" +
"\f_socket_mark\"\x95\x01\n" +
"\rRpcDescriptor\x12\x1f\n" +
"\vdomain_name\x18\x01 \x01(\tR\n" +
"domainName\x12\x1d\n" +
"\n" +
"proto_name\x18\x02 \x01(\tR\tprotoName\x12!\n" +
"\fservice_name\x18\x03 \x01(\tR\vserviceName\x12!\n" +
"\fmethod_index\x18\x04 \x01(\rR\vmethodIndex\"\x80\x01\n" +
"\n" +
"RpcRequest\x129\n" +
"\n" +
"descriptor\x18\x01 \x01(\v2\x15.common.RpcDescriptorB\x02\x18\x01R\n" +
"descriptor\x12\x18\n" +
"\arequest\x18\x02 \x01(\fR\arequest\x12\x1d\n" +
"\n" +
"timeout_ms\x18\x03 \x01(\x05R\ttimeoutMs\"\x89\x01\n" +
"\x10DirectRpcRequest\x12(\n" +
"\x10full_method_name\x18\x01 \x01(\tR\x0efullMethodName\x12\x18\n" +
"\arequest\x18\x02 \x01(\fR\arequest\x12\"\n" +
"\n" +
"timeout_ms\x18\x03 \x01(\x04H\x00R\ttimeoutMs\x88\x01\x01B\r\n" +
"\v_timeout_ms\"\xc5\x01\n" +
"\x15HostManagementRequest\x12*\n" +
"\x03rpc\x18\x01 \x01(\v2\x18.common.DirectRpcRequestR\x03rpc\x12,\n" +
"\x0fprepared_config\x18\x02 \x01(\tH\x00R\x0epreparedConfig\x88\x01\x01\x12>\n" +
"\x14prepared_instance_id\x18\x03 \x01(\v2\f.common.UUIDR\x12preparedInstanceIdB\x12\n" +
"\x10_prepared_config\"l\n" +
"\vRpcResponse\x12\x1a\n" +
"\bresponse\x18\x01 \x01(\fR\bresponse\x12\"\n" +
"\x05error\x18\x02 \x01(\v2\f.error.ErrorR\x05error\x12\x1d\n" +
"\n" +
"runtime_us\x18\x03 \x01(\x04R\truntimeUs\"\x83\x01\n" +
"\x12RpcCompressionInfo\x12-\n" +
"\x04algo\x18\x01 \x01(\x0e2\x19.common.CompressionAlgoPbR\x04algo\x12>\n" +
"\raccepted_algo\x18\x02 \x01(\x0e2\x19.common.CompressionAlgoPbR\facceptedAlgo\"\xf4\x02\n" +
"\tRpcPacket\x12\x1b\n" +
"\tfrom_peer\x18\x01 \x01(\rR\bfromPeer\x12\x17\n" +
"\ato_peer\x18\x02 \x01(\rR\x06toPeer\x12%\n" +
"\x0etransaction_id\x18\x03 \x01(\x03R\rtransactionId\x125\n" +
"\n" +
"descriptor\x18\x04 \x01(\v2\x15.common.RpcDescriptorR\n" +
"descriptor\x12\x12\n" +
"\x04body\x18\x05 \x01(\fR\x04body\x12\x1d\n" +
"\n" +
"is_request\x18\x06 \x01(\bR\tisRequest\x12!\n" +
"\ftotal_pieces\x18\a \x01(\rR\vtotalPieces\x12\x1b\n" +
"\tpiece_idx\x18\b \x01(\rR\bpieceIdx\x12\x19\n" +
"\btrace_id\x18\t \x01(\x05R\atraceId\x12E\n" +
"\x10compression_info\x18\n" +
" \x01(\v2\x1a.common.RpcCompressionInfoR\x0fcompressionInfo\"\x06\n" +
"\x04Void\"^\n" +
"\x04UUID\x12\x14\n" +
"\x05part1\x18\x01 \x01(\rR\x05part1\x12\x14\n" +
"\x05part2\x18\x02 \x01(\rR\x05part2\x12\x14\n" +
"\x05part3\x18\x03 \x01(\rR\x05part3\x12\x14\n" +
"\x05part4\x18\x04 \x01(\rR\x05part4\"\x1e\n" +
"\bIpv4Addr\x12\x12\n" +
"\x04addr\x18\x01 \x01(\rR\x04addr\"b\n" +
"\bIpv6Addr\x12\x14\n" +
"\x05part1\x18\x01 \x01(\rR\x05part1\x12\x14\n" +
"\x05part2\x18\x02 \x01(\rR\x05part2\x12\x14\n" +
"\x05part3\x18\x03 \x01(\rR\x05part3\x12\x14\n" +
"\x05part4\x18\x04 \x01(\rR\x05part4\"^\n" +
"\x06IpAddr\x12&\n" +
"\x04ipv4\x18\x01 \x01(\v2\x10.common.Ipv4AddrH\x00R\x04ipv4\x12&\n" +
"\x04ipv6\x18\x02 \x01(\v2\x10.common.Ipv6AddrH\x00R\x04ipv6B\x04\n" +
"\x02ip\"]\n" +
"\bIpv4Inet\x12*\n" +
"\aaddress\x18\x01 \x01(\v2\x10.common.Ipv4AddrR\aaddress\x12%\n" +
"\x0enetwork_length\x18\x02 \x01(\rR\rnetworkLength\"]\n" +
"\bIpv6Inet\x12*\n" +
"\aaddress\x18\x01 \x01(\v2\x10.common.Ipv6AddrR\aaddress\x12%\n" +
"\x0enetwork_length\x18\x02 \x01(\rR\rnetworkLength\"^\n" +
"\x06IpInet\x12&\n" +
"\x04ipv4\x18\x01 \x01(\v2\x10.common.Ipv4InetH\x00R\x04ipv4\x12&\n" +
"\x04ipv6\x18\x02 \x01(\v2\x10.common.Ipv6InetH\x00R\x04ipv6B\x04\n" +
"\x02ip\"\x17\n" +
"\x03Url\x12\x10\n" +
"\x03url\x18\x01 \x01(\tR\x03url\"v\n" +
"\n" +
"SocketAddr\x12&\n" +
"\x04ipv4\x18\x01 \x01(\v2\x10.common.Ipv4AddrH\x00R\x04ipv4\x12&\n" +
"\x04ipv6\x18\x02 \x01(\v2\x10.common.Ipv6AddrH\x00R\x04ipv6\x12\x12\n" +
"\x04port\x18\x03 \x01(\rR\x04portB\x04\n" +
"\x02ip\"\xc6\x01\n" +
"\n" +
"TunnelInfo\x12\x1f\n" +
"\vtunnel_type\x18\x01 \x01(\tR\n" +
"tunnelType\x12*\n" +
"\n" +
"local_addr\x18\x02 \x01(\v2\v.common.UrlR\tlocalAddr\x12,\n" +
"\vremote_addr\x18\x03 \x01(\v2\v.common.UrlR\n" +
"remoteAddr\x12=\n" +
"\x14resolved_remote_addr\x18\x04 \x01(\v2\v.common.UrlR\x12resolvedRemoteAddr\"\xed\x01\n" +
"\bStunInfo\x121\n" +
"\fudp_nat_type\x18\x01 \x01(\x0e2\x0f.common.NatTypeR\n" +
"udpNatType\x121\n" +
"\ftcp_nat_type\x18\x02 \x01(\x0e2\x0f.common.NatTypeR\n" +
"tcpNatType\x12(\n" +
"\x10last_update_time\x18\x03 \x01(\x03R\x0elastUpdateTime\x12\x1b\n" +
"\tpublic_ip\x18\x04 \x03(\tR\bpublicIp\x12\x19\n" +
"\bmin_port\x18\x05 \x01(\rR\aminPort\x12\x19\n" +
"\bmax_port\x18\x06 \x01(\rR\amaxPort\"\xc1\x03\n" +
"\x0fPeerFeatureFlag\x12(\n" +
"\x10is_public_server\x18\x01 \x01(\bR\x0eisPublicServer\x12(\n" +
"\x10avoid_relay_data\x18\x02 \x01(\bR\x0eavoidRelayData\x12\x1b\n" +
"\tkcp_input\x18\x03 \x01(\bR\bkcpInput\x12 \n" +
"\fno_relay_kcp\x18\x04 \x01(\bR\n" +
"noRelayKcp\x123\n" +
"\x16support_conn_list_sync\x18\x05 \x01(\bR\x13supportConnListSync\x12\x1d\n" +
"\n" +
"quic_input\x18\x06 \x01(\bR\tquicInput\x12\"\n" +
"\rno_relay_quic\x18\a \x01(\bR\vnoRelayQuic\x12,\n" +
"\x12is_credential_peer\x18\b \x01(\bR\x10isCredentialPeer\x12\x19\n" +
"\bneed_p2p\x18\t \x01(\bR\aneedP2p\x12\x1f\n" +
"\vdisable_p2p\x18\n" +
" \x01(\bR\n" +
"disableP2p\x129\n" +
"\x19ipv6_public_addr_provider\x18\v \x01(\bR\x16ipv6PublicAddrProvider\"\xaa\x01\n" +
"\x13PortForwardConfigPb\x12/\n" +
"\tbind_addr\x18\x01 \x01(\v2\x12.common.SocketAddrR\bbindAddr\x12-\n" +
"\bdst_addr\x18\x02 \x01(\v2\x12.common.SocketAddrR\adstAddr\x123\n" +
"\vsocket_type\x18\x03 \x01(\x0e2\x12.common.SocketTypeR\n" +
"socketType\"=\n" +
"\fProxyDstInfo\x12-\n" +
"\bdst_addr\x18\x01 \x01(\v2\x12.common.SocketAddrR\adstAddr\"\xa5\x01\n" +
"\rLimiterConfig\x12\"\n" +
"\n" +
"burst_rate\x18\x01 \x01(\x04H\x00R\tburstRate\x88\x01\x01\x12\x15\n" +
"\x03bps\x18\x02 \x01(\x04H\x01R\x03bps\x88\x01\x01\x12-\n" +
"\x10fill_duration_ms\x18\x03 \x01(\x04H\x02R\x0efillDurationMs\x88\x01\x01B\r\n" +
"\v_burst_rateB\x06\n" +
"\x04_bpsB\x13\n" +
"\x11_fill_duration_ms\"\xb7\x01\n" +
"\x10SecureModeConfig\x12\x18\n" +
"\aenabled\x18\x01 \x01(\bR\aenabled\x12/\n" +
"\x11local_private_key\x18\x02 \x01(\tH\x00R\x0flocalPrivateKey\x88\x01\x01\x12-\n" +
"\x10local_public_key\x18\x03 \x01(\tH\x01R\x0elocalPublicKey\x88\x01\x01B\x14\n" +
"\x12_local_private_keyB\x13\n" +
"\x11_local_public_key*4\n" +
"\x11CompressionAlgoPb\x12\v\n" +
"\aInvalid\x10\x00\x12\b\n" +
"\x04None\x10\x01\x12\b\n" +
"\x04Zstd\x10\x02*\xb4\x01\n" +
"\aNatType\x12\v\n" +
"\aUnknown\x10\x00\x12\x10\n" +
"\fOpenInternet\x10\x01\x12\t\n" +
"\x05NoPAT\x10\x02\x12\f\n" +
"\bFullCone\x10\x03\x12\x0e\n" +
"\n" +
"Restricted\x10\x04\x12\x12\n" +
"\x0ePortRestricted\x10\x05\x12\r\n" +
"\tSymmetric\x10\x06\x12\x12\n" +
"\x0eSymUdpFirewall\x10\a\x12\x14\n" +
"\x10SymmetricEasyInc\x10\b\x12\x14\n" +
"\x10SymmetricEasyDec\x10\t*\x1e\n" +
"\n" +
"SocketType\x12\a\n" +
"\x03TCP\x10\x00\x12\a\n" +
"\x03UDP\x10\x01b\x06proto3"
var (
file_common_proto_rawDescOnce sync.Once
file_common_proto_rawDescData []byte
)
func file_common_proto_rawDescGZIP() []byte {
file_common_proto_rawDescOnce.Do(func() {
file_common_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_common_proto_rawDesc), len(file_common_proto_rawDesc)))
})
return file_common_proto_rawDescData
}
var file_common_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
var file_common_proto_goTypes = []any{
(CompressionAlgoPb)(0), // 0: common.CompressionAlgoPb
(NatType)(0), // 1: common.NatType
(SocketType)(0), // 2: common.SocketType
(*FlagsInConfig)(nil), // 3: common.FlagsInConfig
(*RpcDescriptor)(nil), // 4: common.RpcDescriptor
(*RpcRequest)(nil), // 5: common.RpcRequest
(*DirectRpcRequest)(nil), // 6: common.DirectRpcRequest
(*HostManagementRequest)(nil), // 7: common.HostManagementRequest
(*RpcResponse)(nil), // 8: common.RpcResponse
(*RpcCompressionInfo)(nil), // 9: common.RpcCompressionInfo
(*RpcPacket)(nil), // 10: common.RpcPacket
(*Void)(nil), // 11: common.Void
(*UUID)(nil), // 12: common.UUID
(*Ipv4Addr)(nil), // 13: common.Ipv4Addr
(*Ipv6Addr)(nil), // 14: common.Ipv6Addr
(*IpAddr)(nil), // 15: common.IpAddr
(*Ipv4Inet)(nil), // 16: common.Ipv4Inet
(*Ipv6Inet)(nil), // 17: common.Ipv6Inet
(*IpInet)(nil), // 18: common.IpInet
(*Url)(nil), // 19: common.Url
(*SocketAddr)(nil), // 20: common.SocketAddr
(*TunnelInfo)(nil), // 21: common.TunnelInfo
(*StunInfo)(nil), // 22: common.StunInfo
(*PeerFeatureFlag)(nil), // 23: common.PeerFeatureFlag
(*PortForwardConfigPb)(nil), // 24: common.PortForwardConfigPb
(*ProxyDstInfo)(nil), // 25: common.ProxyDstInfo
(*LimiterConfig)(nil), // 26: common.LimiterConfig
(*SecureModeConfig)(nil), // 27: common.SecureModeConfig
(*error1.Error)(nil), // 28: error.Error
}
var file_common_proto_depIdxs = []int32{
0, // 0: common.FlagsInConfig.data_compress_algo:type_name -> common.CompressionAlgoPb
4, // 1: common.RpcRequest.descriptor:type_name -> common.RpcDescriptor
6, // 2: common.HostManagementRequest.rpc:type_name -> common.DirectRpcRequest
12, // 3: common.HostManagementRequest.prepared_instance_id:type_name -> common.UUID
28, // 4: common.RpcResponse.error:type_name -> error.Error
0, // 5: common.RpcCompressionInfo.algo:type_name -> common.CompressionAlgoPb
0, // 6: common.RpcCompressionInfo.accepted_algo:type_name -> common.CompressionAlgoPb
4, // 7: common.RpcPacket.descriptor:type_name -> common.RpcDescriptor
9, // 8: common.RpcPacket.compression_info:type_name -> common.RpcCompressionInfo
13, // 9: common.IpAddr.ipv4:type_name -> common.Ipv4Addr
14, // 10: common.IpAddr.ipv6:type_name -> common.Ipv6Addr
13, // 11: common.Ipv4Inet.address:type_name -> common.Ipv4Addr
14, // 12: common.Ipv6Inet.address:type_name -> common.Ipv6Addr
16, // 13: common.IpInet.ipv4:type_name -> common.Ipv4Inet
17, // 14: common.IpInet.ipv6:type_name -> common.Ipv6Inet
13, // 15: common.SocketAddr.ipv4:type_name -> common.Ipv4Addr
14, // 16: common.SocketAddr.ipv6:type_name -> common.Ipv6Addr
19, // 17: common.TunnelInfo.local_addr:type_name -> common.Url
19, // 18: common.TunnelInfo.remote_addr:type_name -> common.Url
19, // 19: common.TunnelInfo.resolved_remote_addr:type_name -> common.Url
1, // 20: common.StunInfo.udp_nat_type:type_name -> common.NatType
1, // 21: common.StunInfo.tcp_nat_type:type_name -> common.NatType
20, // 22: common.PortForwardConfigPb.bind_addr:type_name -> common.SocketAddr
20, // 23: common.PortForwardConfigPb.dst_addr:type_name -> common.SocketAddr
2, // 24: common.PortForwardConfigPb.socket_type:type_name -> common.SocketType
20, // 25: common.ProxyDstInfo.dst_addr:type_name -> common.SocketAddr
26, // [26:26] is the sub-list for method output_type
26, // [26:26] is the sub-list for method input_type
26, // [26:26] is the sub-list for extension type_name
26, // [26:26] is the sub-list for extension extendee
0, // [0:26] is the sub-list for field type_name
}
func init() { file_common_proto_init() }
func file_common_proto_init() {
if File_common_proto != nil {
return
}
file_common_proto_msgTypes[0].OneofWrappers = []any{}
file_common_proto_msgTypes[3].OneofWrappers = []any{}
file_common_proto_msgTypes[4].OneofWrappers = []any{}
file_common_proto_msgTypes[12].OneofWrappers = []any{
(*IpAddr_Ipv4)(nil),
(*IpAddr_Ipv6)(nil),
}
file_common_proto_msgTypes[15].OneofWrappers = []any{
(*IpInet_Ipv4)(nil),
(*IpInet_Ipv6)(nil),
}
file_common_proto_msgTypes[17].OneofWrappers = []any{
(*SocketAddr_Ipv4)(nil),
(*SocketAddr_Ipv6)(nil),
}
file_common_proto_msgTypes[23].OneofWrappers = []any{}
file_common_proto_msgTypes[24].OneofWrappers = []any{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_common_proto_rawDesc), len(file_common_proto_rawDesc)),
NumEnums: 3,
NumMessages: 25,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_common_proto_goTypes,
DependencyIndexes: file_common_proto_depIdxs,
EnumInfos: file_common_proto_enumTypes,
MessageInfos: file_common_proto_msgTypes,
}.Build()
File_common_proto = out.File
file_common_proto_goTypes = nil
file_common_proto_depIdxs = nil
}