// DO NOT EDIT. // swift-format-ignore-file // swiftlint:disable all // // Generated by the Swift generator plugin for the protocol buffer compiler. // Source: tun.proto // // For information on using the generated types, please see the documentation: // https://github.com/apple/swift-protobuf/ import SwiftProtobuf // If the compiler emits an error on this type, it is because this file // was generated by a version of the `protoc` Swift plug-in that is // incompatible with the version of SwiftProtobuf to which you are linking. // Please ensure that you are building against the same version of the API // that was used to generate this file. fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} typealias Version = _2 } /// 定义App发送给NE的事件 struct AppRequest: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var command: AppRequest.OneOf_Command? = nil var changeExitNode: AppRequest.ChangeExitNodeRequest { get { if case .changeExitNode(let v)? = command {return v} return AppRequest.ChangeExitNodeRequest() } set {command = .changeExitNode(newValue)} } var unknownFields = SwiftProtobuf.UnknownStorage() enum OneOf_Command: Equatable, Sendable { case changeExitNode(AppRequest.ChangeExitNodeRequest) } struct ChangeExitNodeRequest: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// 空字符串表示清除出口节点 var ip: String = String() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } init() {} } struct TunnelResponse: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var code: Int32 = 0 var message: String = String() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct TunnelEvent: Sendable { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var id: String = String() var timestampMs: UInt64 = 0 var code: Int32 = 0 var message: String = String() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } // MARK: - Code below here is support for the SwiftProtobuf runtime. extension AppRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = "AppRequest" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .standard(proto: "change_exit_node"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { var v: AppRequest.ChangeExitNodeRequest? var hadOneofValue = false if let current = self.command { hadOneofValue = true if case .changeExitNode(let m) = current {v = m} } try decoder.decodeSingularMessageField(value: &v) if let v = v { if hadOneofValue {try decoder.handleConflictingOneOf()} self.command = .changeExitNode(v) } }() default: break } } } func traverse(visitor: inout V) throws { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 try { if case .changeExitNode(let v)? = self.command { try visitor.visitSingularMessageField(value: v, fieldNumber: 1) } }() try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: AppRequest, rhs: AppRequest) -> Bool { if lhs.command != rhs.command {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension AppRequest.ChangeExitNodeRequest: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = AppRequest.protoMessageName + ".ChangeExitNodeRequest" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "ip"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularStringField(value: &self.ip) }() default: break } } } func traverse(visitor: inout V) throws { if !self.ip.isEmpty { try visitor.visitSingularStringField(value: self.ip, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: AppRequest.ChangeExitNodeRequest, rhs: AppRequest.ChangeExitNodeRequest) -> Bool { if lhs.ip != rhs.ip {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension TunnelResponse: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = "TunnelResponse" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "code"), 2: .same(proto: "message"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularInt32Field(value: &self.code) }() case 2: try { try decoder.decodeSingularStringField(value: &self.message) }() default: break } } } func traverse(visitor: inout V) throws { if self.code != 0 { try visitor.visitSingularInt32Field(value: self.code, fieldNumber: 1) } if !self.message.isEmpty { try visitor.visitSingularStringField(value: self.message, fieldNumber: 2) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: TunnelResponse, rhs: TunnelResponse) -> Bool { if lhs.code != rhs.code {return false} if lhs.message != rhs.message {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension TunnelEvent: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = "TunnelEvent" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "id"), 2: .standard(proto: "timestamp_ms"), 3: .same(proto: "code"), 4: .same(proto: "message"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularStringField(value: &self.id) }() case 2: try { try decoder.decodeSingularUInt64Field(value: &self.timestampMs) }() case 3: try { try decoder.decodeSingularInt32Field(value: &self.code) }() case 4: try { try decoder.decodeSingularStringField(value: &self.message) }() default: break } } } func traverse(visitor: inout V) throws { if !self.id.isEmpty { try visitor.visitSingularStringField(value: self.id, fieldNumber: 1) } if self.timestampMs != 0 { try visitor.visitSingularUInt64Field(value: self.timestampMs, fieldNumber: 2) } if self.code != 0 { try visitor.visitSingularInt32Field(value: self.code, fieldNumber: 3) } if !self.message.isEmpty { try visitor.visitSingularStringField(value: self.message, fieldNumber: 4) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: TunnelEvent, rhs: TunnelEvent) -> Bool { if lhs.id != rhs.id {return false} if lhs.timestampMs != rhs.timestampMs {return false} if lhs.code != rhs.code {return false} if lhs.message != rhs.message {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } }