From f588b6b61160bc96f088e8fcb55767a321319e16 Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Tue, 1 Jun 2021 15:05:16 +1000 Subject: [PATCH] Fix incorrect protobuf value --- .../Protos/Generated/SessionProtos.pb.swift | 931 ++++++++---------- .../Generated/WebSocketResources.pb.swift | 136 ++- .../Protos/SessionProtos.proto | 2 +- 3 files changed, 451 insertions(+), 618 deletions(-) diff --git a/SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift b/SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift index d9e4a94cf..13b03b85b 100644 --- a/SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift +++ b/SessionMessagingKit/Protos/Generated/SessionProtos.pb.swift @@ -1,9 +1,10 @@ // DO NOT EDIT. +// swift-format-ignore-file // // Generated by the Swift generator plugin for the protocol buffer compiler. // Source: SessionProtos.proto // -// For information on using the generated types, please see the documenation: +// For information on using the generated types, please see the documentation: // https://github.com/apple/swift-protobuf/ /// iOS - since we use a modern proto-compiler, we must specify the legacy proto format. @@ -14,7 +15,7 @@ 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 your are building against the same version of the API +// 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 {} @@ -65,7 +66,7 @@ struct SessionProtos_Envelope { mutating func clearTimestamp() {self._timestamp = nil} var content: Data { - get {return _content ?? SwiftProtobuf.Internal.emptyData} + get {return _content ?? Data()} set {_content = newValue} } /// Returns true if `content` has been explicitly set. @@ -201,55 +202,59 @@ struct SessionProtos_Content { // methods supported on all messages. var dataMessage: SessionProtos_DataMessage { - get {return _storage._dataMessage ?? SessionProtos_DataMessage()} - set {_uniqueStorage()._dataMessage = newValue} + get {return _dataMessage ?? SessionProtos_DataMessage()} + set {_dataMessage = newValue} } /// Returns true if `dataMessage` has been explicitly set. - var hasDataMessage: Bool {return _storage._dataMessage != nil} + var hasDataMessage: Bool {return self._dataMessage != nil} /// Clears the value of `dataMessage`. Subsequent reads from it will return its default value. - mutating func clearDataMessage() {_uniqueStorage()._dataMessage = nil} + mutating func clearDataMessage() {self._dataMessage = nil} var receiptMessage: SessionProtos_ReceiptMessage { - get {return _storage._receiptMessage ?? SessionProtos_ReceiptMessage()} - set {_uniqueStorage()._receiptMessage = newValue} + get {return _receiptMessage ?? SessionProtos_ReceiptMessage()} + set {_receiptMessage = newValue} } /// Returns true if `receiptMessage` has been explicitly set. - var hasReceiptMessage: Bool {return _storage._receiptMessage != nil} + var hasReceiptMessage: Bool {return self._receiptMessage != nil} /// Clears the value of `receiptMessage`. Subsequent reads from it will return its default value. - mutating func clearReceiptMessage() {_uniqueStorage()._receiptMessage = nil} + mutating func clearReceiptMessage() {self._receiptMessage = nil} var typingMessage: SessionProtos_TypingMessage { - get {return _storage._typingMessage ?? SessionProtos_TypingMessage()} - set {_uniqueStorage()._typingMessage = newValue} + get {return _typingMessage ?? SessionProtos_TypingMessage()} + set {_typingMessage = newValue} } /// Returns true if `typingMessage` has been explicitly set. - var hasTypingMessage: Bool {return _storage._typingMessage != nil} + var hasTypingMessage: Bool {return self._typingMessage != nil} /// Clears the value of `typingMessage`. Subsequent reads from it will return its default value. - mutating func clearTypingMessage() {_uniqueStorage()._typingMessage = nil} + mutating func clearTypingMessage() {self._typingMessage = nil} var configurationMessage: SessionProtos_ConfigurationMessage { - get {return _storage._configurationMessage ?? SessionProtos_ConfigurationMessage()} - set {_uniqueStorage()._configurationMessage = newValue} + get {return _configurationMessage ?? SessionProtos_ConfigurationMessage()} + set {_configurationMessage = newValue} } /// Returns true if `configurationMessage` has been explicitly set. - var hasConfigurationMessage: Bool {return _storage._configurationMessage != nil} + var hasConfigurationMessage: Bool {return self._configurationMessage != nil} /// Clears the value of `configurationMessage`. Subsequent reads from it will return its default value. - mutating func clearConfigurationMessage() {_uniqueStorage()._configurationMessage = nil} + mutating func clearConfigurationMessage() {self._configurationMessage = nil} var dataExtractionNotification: SessionProtos_DataExtractionNotification { - get {return _storage._dataExtractionNotification ?? SessionProtos_DataExtractionNotification()} - set {_uniqueStorage()._dataExtractionNotification = newValue} + get {return _dataExtractionNotification ?? SessionProtos_DataExtractionNotification()} + set {_dataExtractionNotification = newValue} } /// Returns true if `dataExtractionNotification` has been explicitly set. - var hasDataExtractionNotification: Bool {return _storage._dataExtractionNotification != nil} + var hasDataExtractionNotification: Bool {return self._dataExtractionNotification != nil} /// Clears the value of `dataExtractionNotification`. Subsequent reads from it will return its default value. - mutating func clearDataExtractionNotification() {_uniqueStorage()._dataExtractionNotification = nil} + mutating func clearDataExtractionNotification() {self._dataExtractionNotification = nil} var unknownFields = SwiftProtobuf.UnknownStorage() init() {} - fileprivate var _storage = _StorageClass.defaultInstance + fileprivate var _dataMessage: SessionProtos_DataMessage? = nil + fileprivate var _receiptMessage: SessionProtos_ReceiptMessage? = nil + fileprivate var _typingMessage: SessionProtos_TypingMessage? = nil + fileprivate var _configurationMessage: SessionProtos_ConfigurationMessage? = nil + fileprivate var _dataExtractionNotification: SessionProtos_DataExtractionNotification? = nil } struct SessionProtos_KeyPair { @@ -259,7 +264,7 @@ struct SessionProtos_KeyPair { /// @required var publicKey: Data { - get {return _publicKey ?? SwiftProtobuf.Internal.emptyData} + get {return _publicKey ?? Data()} set {_publicKey = newValue} } /// Returns true if `publicKey` has been explicitly set. @@ -269,7 +274,7 @@ struct SessionProtos_KeyPair { /// @required var privateKey: Data { - get {return _privateKey ?? SwiftProtobuf.Internal.emptyData} + get {return _privateKey ?? Data()} set {_privateKey = newValue} } /// Returns true if `privateKey` has been explicitly set. @@ -400,7 +405,7 @@ struct SessionProtos_DataMessage { mutating func clearExpireTimer() {_uniqueStorage()._expireTimer = nil} var profileKey: Data { - get {return _storage._profileKey ?? SwiftProtobuf.Internal.emptyData} + get {return _storage._profileKey ?? Data()} set {_uniqueStorage()._profileKey = newValue} } /// Returns true if `profileKey` has been explicitly set. @@ -536,40 +541,40 @@ struct SessionProtos_DataMessage { // methods supported on all messages. var contentType: String { - get {return _storage._contentType ?? String()} - set {_uniqueStorage()._contentType = newValue} + get {return _contentType ?? String()} + set {_contentType = newValue} } /// Returns true if `contentType` has been explicitly set. - var hasContentType: Bool {return _storage._contentType != nil} + var hasContentType: Bool {return self._contentType != nil} /// Clears the value of `contentType`. Subsequent reads from it will return its default value. - mutating func clearContentType() {_uniqueStorage()._contentType = nil} + mutating func clearContentType() {self._contentType = nil} var fileName: String { - get {return _storage._fileName ?? String()} - set {_uniqueStorage()._fileName = newValue} + get {return _fileName ?? String()} + set {_fileName = newValue} } /// Returns true if `fileName` has been explicitly set. - var hasFileName: Bool {return _storage._fileName != nil} + var hasFileName: Bool {return self._fileName != nil} /// Clears the value of `fileName`. Subsequent reads from it will return its default value. - mutating func clearFileName() {_uniqueStorage()._fileName = nil} + mutating func clearFileName() {self._fileName = nil} var thumbnail: SessionProtos_AttachmentPointer { - get {return _storage._thumbnail ?? SessionProtos_AttachmentPointer()} - set {_uniqueStorage()._thumbnail = newValue} + get {return _thumbnail ?? SessionProtos_AttachmentPointer()} + set {_thumbnail = newValue} } /// Returns true if `thumbnail` has been explicitly set. - var hasThumbnail: Bool {return _storage._thumbnail != nil} + var hasThumbnail: Bool {return self._thumbnail != nil} /// Clears the value of `thumbnail`. Subsequent reads from it will return its default value. - mutating func clearThumbnail() {_uniqueStorage()._thumbnail = nil} + mutating func clearThumbnail() {self._thumbnail = nil} var flags: UInt32 { - get {return _storage._flags ?? 0} - set {_uniqueStorage()._flags = newValue} + get {return _flags ?? 0} + set {_flags = newValue} } /// Returns true if `flags` has been explicitly set. - var hasFlags: Bool {return _storage._flags != nil} + var hasFlags: Bool {return self._flags != nil} /// Clears the value of `flags`. Subsequent reads from it will return its default value. - mutating func clearFlags() {_uniqueStorage()._flags = nil} + mutating func clearFlags() {self._flags = nil} var unknownFields = SwiftProtobuf.UnknownStorage() @@ -598,7 +603,10 @@ struct SessionProtos_DataMessage { init() {} - fileprivate var _storage = _StorageClass.defaultInstance + fileprivate var _contentType: String? = nil + fileprivate var _fileName: String? = nil + fileprivate var _thumbnail: SessionProtos_AttachmentPointer? = nil + fileprivate var _flags: UInt32? = nil } init() {} @@ -615,37 +623,39 @@ struct SessionProtos_DataMessage { /// @required var url: String { - get {return _storage._url ?? String()} - set {_uniqueStorage()._url = newValue} + get {return _url ?? String()} + set {_url = newValue} } /// Returns true if `url` has been explicitly set. - var hasURL: Bool {return _storage._url != nil} + var hasURL: Bool {return self._url != nil} /// Clears the value of `url`. Subsequent reads from it will return its default value. - mutating func clearURL() {_uniqueStorage()._url = nil} + mutating func clearURL() {self._url = nil} var title: String { - get {return _storage._title ?? String()} - set {_uniqueStorage()._title = newValue} + get {return _title ?? String()} + set {_title = newValue} } /// Returns true if `title` has been explicitly set. - var hasTitle: Bool {return _storage._title != nil} + var hasTitle: Bool {return self._title != nil} /// Clears the value of `title`. Subsequent reads from it will return its default value. - mutating func clearTitle() {_uniqueStorage()._title = nil} + mutating func clearTitle() {self._title = nil} var image: SessionProtos_AttachmentPointer { - get {return _storage._image ?? SessionProtos_AttachmentPointer()} - set {_uniqueStorage()._image = newValue} + get {return _image ?? SessionProtos_AttachmentPointer()} + set {_image = newValue} } /// Returns true if `image` has been explicitly set. - var hasImage: Bool {return _storage._image != nil} + var hasImage: Bool {return self._image != nil} /// Clears the value of `image`. Subsequent reads from it will return its default value. - mutating func clearImage() {_uniqueStorage()._image = nil} + mutating func clearImage() {self._image = nil} var unknownFields = SwiftProtobuf.UnknownStorage() init() {} - fileprivate var _storage = _StorageClass.defaultInstance + fileprivate var _url: String? = nil + fileprivate var _title: String? = nil + fileprivate var _image: SessionProtos_AttachmentPointer? = nil } struct LokiProfile { @@ -719,55 +729,46 @@ struct SessionProtos_DataMessage { /// @required var type: SessionProtos_DataMessage.ClosedGroupControlMessage.TypeEnum { - get {return _storage._type ?? .new} - set {_uniqueStorage()._type = newValue} + get {return _type ?? .new} + set {_type = newValue} } /// Returns true if `type` has been explicitly set. - var hasType: Bool {return _storage._type != nil} + var hasType: Bool {return self._type != nil} /// Clears the value of `type`. Subsequent reads from it will return its default value. - mutating func clearType() {_uniqueStorage()._type = nil} + mutating func clearType() {self._type = nil} var publicKey: Data { - get {return _storage._publicKey ?? SwiftProtobuf.Internal.emptyData} - set {_uniqueStorage()._publicKey = newValue} + get {return _publicKey ?? Data()} + set {_publicKey = newValue} } /// Returns true if `publicKey` has been explicitly set. - var hasPublicKey: Bool {return _storage._publicKey != nil} + var hasPublicKey: Bool {return self._publicKey != nil} /// Clears the value of `publicKey`. Subsequent reads from it will return its default value. - mutating func clearPublicKey() {_uniqueStorage()._publicKey = nil} + mutating func clearPublicKey() {self._publicKey = nil} var name: String { - get {return _storage._name ?? String()} - set {_uniqueStorage()._name = newValue} + get {return _name ?? String()} + set {_name = newValue} } /// Returns true if `name` has been explicitly set. - var hasName: Bool {return _storage._name != nil} + var hasName: Bool {return self._name != nil} /// Clears the value of `name`. Subsequent reads from it will return its default value. - mutating func clearName() {_uniqueStorage()._name = nil} + mutating func clearName() {self._name = nil} var encryptionKeyPair: SessionProtos_KeyPair { - get {return _storage._encryptionKeyPair ?? SessionProtos_KeyPair()} - set {_uniqueStorage()._encryptionKeyPair = newValue} + get {return _encryptionKeyPair ?? SessionProtos_KeyPair()} + set {_encryptionKeyPair = newValue} } /// Returns true if `encryptionKeyPair` has been explicitly set. - var hasEncryptionKeyPair: Bool {return _storage._encryptionKeyPair != nil} + var hasEncryptionKeyPair: Bool {return self._encryptionKeyPair != nil} /// Clears the value of `encryptionKeyPair`. Subsequent reads from it will return its default value. - mutating func clearEncryptionKeyPair() {_uniqueStorage()._encryptionKeyPair = nil} + mutating func clearEncryptionKeyPair() {self._encryptionKeyPair = nil} - var members: [Data] { - get {return _storage._members} - set {_uniqueStorage()._members = newValue} - } + var members: [Data] = [] - var admins: [Data] { - get {return _storage._admins} - set {_uniqueStorage()._admins = newValue} - } + var admins: [Data] = [] - var wrappers: [SessionProtos_DataMessage.ClosedGroupControlMessage.KeyPairWrapper] { - get {return _storage._wrappers} - set {_uniqueStorage()._wrappers = newValue} - } + var wrappers: [SessionProtos_DataMessage.ClosedGroupControlMessage.KeyPairWrapper] = [] var unknownFields = SwiftProtobuf.UnknownStorage() @@ -829,7 +830,7 @@ struct SessionProtos_DataMessage { /// @required var publicKey: Data { - get {return _publicKey ?? SwiftProtobuf.Internal.emptyData} + get {return _publicKey ?? Data()} set {_publicKey = newValue} } /// Returns true if `publicKey` has been explicitly set. @@ -839,7 +840,7 @@ struct SessionProtos_DataMessage { /// @required var encryptedKeyPair: Data { - get {return _encryptedKeyPair ?? SwiftProtobuf.Internal.emptyData} + get {return _encryptedKeyPair ?? Data()} set {_encryptedKeyPair = newValue} } /// Returns true if `encryptedKeyPair` has been explicitly set. @@ -857,7 +858,10 @@ struct SessionProtos_DataMessage { init() {} - fileprivate var _storage = _StorageClass.defaultInstance + fileprivate var _type: SessionProtos_DataMessage.ClosedGroupControlMessage.TypeEnum? = nil + fileprivate var _publicKey: Data? = nil + fileprivate var _name: String? = nil + fileprivate var _encryptionKeyPair: SessionProtos_KeyPair? = nil } init() {} @@ -871,6 +875,14 @@ extension SessionProtos_DataMessage.Flags: CaseIterable { // Support synthesized by the compiler. } +extension SessionProtos_DataMessage.Quote.QuotedAttachment.Flags: CaseIterable { + // Support synthesized by the compiler. +} + +extension SessionProtos_DataMessage.ClosedGroupControlMessage.TypeEnum: CaseIterable { + // Support synthesized by the compiler. +} + #endif // swift(>=4.2) struct SessionProtos_ConfigurationMessage { @@ -901,7 +913,7 @@ struct SessionProtos_ConfigurationMessage { mutating func clearProfilePicture() {self._profilePicture = nil} var profileKey: Data { - get {return _profileKey ?? SwiftProtobuf.Internal.emptyData} + get {return _profileKey ?? Data()} set {_profileKey = newValue} } /// Returns true if `profileKey` has been explicitly set. @@ -919,47 +931,43 @@ struct SessionProtos_ConfigurationMessage { // methods supported on all messages. var publicKey: Data { - get {return _storage._publicKey ?? SwiftProtobuf.Internal.emptyData} - set {_uniqueStorage()._publicKey = newValue} + get {return _publicKey ?? Data()} + set {_publicKey = newValue} } /// Returns true if `publicKey` has been explicitly set. - var hasPublicKey: Bool {return _storage._publicKey != nil} + var hasPublicKey: Bool {return self._publicKey != nil} /// Clears the value of `publicKey`. Subsequent reads from it will return its default value. - mutating func clearPublicKey() {_uniqueStorage()._publicKey = nil} + mutating func clearPublicKey() {self._publicKey = nil} var name: String { - get {return _storage._name ?? String()} - set {_uniqueStorage()._name = newValue} + get {return _name ?? String()} + set {_name = newValue} } /// Returns true if `name` has been explicitly set. - var hasName: Bool {return _storage._name != nil} + var hasName: Bool {return self._name != nil} /// Clears the value of `name`. Subsequent reads from it will return its default value. - mutating func clearName() {_uniqueStorage()._name = nil} + mutating func clearName() {self._name = nil} var encryptionKeyPair: SessionProtos_KeyPair { - get {return _storage._encryptionKeyPair ?? SessionProtos_KeyPair()} - set {_uniqueStorage()._encryptionKeyPair = newValue} + get {return _encryptionKeyPair ?? SessionProtos_KeyPair()} + set {_encryptionKeyPair = newValue} } /// Returns true if `encryptionKeyPair` has been explicitly set. - var hasEncryptionKeyPair: Bool {return _storage._encryptionKeyPair != nil} + var hasEncryptionKeyPair: Bool {return self._encryptionKeyPair != nil} /// Clears the value of `encryptionKeyPair`. Subsequent reads from it will return its default value. - mutating func clearEncryptionKeyPair() {_uniqueStorage()._encryptionKeyPair = nil} + mutating func clearEncryptionKeyPair() {self._encryptionKeyPair = nil} - var members: [Data] { - get {return _storage._members} - set {_uniqueStorage()._members = newValue} - } + var members: [Data] = [] - var admins: [Data] { - get {return _storage._admins} - set {_uniqueStorage()._admins = newValue} - } + var admins: [Data] = [] var unknownFields = SwiftProtobuf.UnknownStorage() init() {} - fileprivate var _storage = _StorageClass.defaultInstance + fileprivate var _publicKey: Data? = nil + fileprivate var _name: String? = nil + fileprivate var _encryptionKeyPair: SessionProtos_KeyPair? = nil } struct Contact { @@ -969,7 +977,7 @@ struct SessionProtos_ConfigurationMessage { /// @required var publicKey: Data { - get {return _publicKey ?? SwiftProtobuf.Internal.emptyData} + get {return _publicKey ?? Data()} set {_publicKey = newValue} } /// Returns true if `publicKey` has been explicitly set. @@ -997,7 +1005,7 @@ struct SessionProtos_ConfigurationMessage { mutating func clearProfilePicture() {self._profilePicture = nil} var profileKey: Data { - get {return _profileKey ?? SwiftProtobuf.Internal.emptyData} + get {return _profileKey ?? Data()} set {_profileKey = newValue} } /// Returns true if `profileKey` has been explicitly set. @@ -1105,7 +1113,7 @@ struct SessionProtos_AttachmentPointer { mutating func clearContentType() {self._contentType = nil} var key: Data { - get {return _key ?? SwiftProtobuf.Internal.emptyData} + get {return _key ?? Data()} set {_key = newValue} } /// Returns true if `key` has been explicitly set. @@ -1123,7 +1131,7 @@ struct SessionProtos_AttachmentPointer { mutating func clearSize() {self._size = nil} var thumbnail: Data { - get {return _thumbnail ?? SwiftProtobuf.Internal.emptyData} + get {return _thumbnail ?? Data()} set {_thumbnail = newValue} } /// Returns true if `thumbnail` has been explicitly set. @@ -1132,7 +1140,7 @@ struct SessionProtos_AttachmentPointer { mutating func clearThumbnail() {self._thumbnail = nil} var digest: Data { - get {return _digest ?? SwiftProtobuf.Internal.emptyData} + get {return _digest ?? Data()} set {_digest = newValue} } /// Returns true if `digest` has been explicitly set. @@ -1250,7 +1258,7 @@ struct SessionProtos_GroupContext { /// @required var id: Data { - get {return _storage._id ?? SwiftProtobuf.Internal.emptyData} + get {return _storage._id ?? Data()} set {_uniqueStorage()._id = newValue} } /// Returns true if `id` has been explicitly set. @@ -1369,13 +1377,16 @@ extension SessionProtos_Envelope: SwiftProtobuf.Message, SwiftProtobuf._MessageI 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 decoder.decodeSingularEnumField(value: &self._type) - case 2: try decoder.decodeSingularStringField(value: &self._source) - case 5: try decoder.decodeSingularUInt64Field(value: &self._timestamp) - case 7: try decoder.decodeSingularUInt32Field(value: &self._sourceDevice) - case 8: try decoder.decodeSingularBytesField(value: &self._content) - case 10: try decoder.decodeSingularUInt64Field(value: &self._serverTimestamp) + case 1: try { try decoder.decodeSingularEnumField(value: &self._type) }() + case 2: try { try decoder.decodeSingularStringField(value: &self._source) }() + case 5: try { try decoder.decodeSingularUInt64Field(value: &self._timestamp) }() + case 7: try { try decoder.decodeSingularUInt32Field(value: &self._sourceDevice) }() + case 8: try { try decoder.decodeSingularBytesField(value: &self._content) }() + case 10: try { try decoder.decodeSingularUInt64Field(value: &self._serverTimestamp) }() default: break } } @@ -1437,9 +1448,12 @@ extension SessionProtos_TypingMessage: SwiftProtobuf.Message, SwiftProtobuf._Mes 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 decoder.decodeSingularUInt64Field(value: &self._timestamp) - case 2: try decoder.decodeSingularEnumField(value: &self._action) + case 1: try { try decoder.decodeSingularUInt64Field(value: &self._timestamp) }() + case 2: try { try decoder.decodeSingularEnumField(value: &self._action) }() default: break } } @@ -1477,98 +1491,59 @@ extension SessionProtos_Content: SwiftProtobuf.Message, SwiftProtobuf._MessageIm 5: .same(proto: "receiptMessage"), 6: .same(proto: "typingMessage"), 7: .same(proto: "configurationMessage"), - 82: .same(proto: "dataExtractionNotification"), + 8: .same(proto: "dataExtractionNotification"), ] - fileprivate class _StorageClass { - var _dataMessage: SessionProtos_DataMessage? = nil - var _receiptMessage: SessionProtos_ReceiptMessage? = nil - var _typingMessage: SessionProtos_TypingMessage? = nil - var _configurationMessage: SessionProtos_ConfigurationMessage? = nil - var _dataExtractionNotification: SessionProtos_DataExtractionNotification? = nil - - static let defaultInstance = _StorageClass() - - private init() {} - - init(copying source: _StorageClass) { - _dataMessage = source._dataMessage - _receiptMessage = source._receiptMessage - _typingMessage = source._typingMessage - _configurationMessage = source._configurationMessage - _dataExtractionNotification = source._dataExtractionNotification - } - } - - fileprivate mutating func _uniqueStorage() -> _StorageClass { - if !isKnownUniquelyReferenced(&_storage) { - _storage = _StorageClass(copying: _storage) - } - return _storage - } - public var isInitialized: Bool { - return withExtendedLifetime(_storage) { (_storage: _StorageClass) in - if let v = _storage._dataMessage, !v.isInitialized {return false} - if let v = _storage._receiptMessage, !v.isInitialized {return false} - if let v = _storage._typingMessage, !v.isInitialized {return false} - if let v = _storage._configurationMessage, !v.isInitialized {return false} - if let v = _storage._dataExtractionNotification, !v.isInitialized {return false} - return true - } + if let v = self._dataMessage, !v.isInitialized {return false} + if let v = self._receiptMessage, !v.isInitialized {return false} + if let v = self._typingMessage, !v.isInitialized {return false} + if let v = self._configurationMessage, !v.isInitialized {return false} + if let v = self._dataExtractionNotification, !v.isInitialized {return false} + return true } mutating func decodeMessage(decoder: inout D) throws { - _ = _uniqueStorage() - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - while let fieldNumber = try decoder.nextFieldNumber() { - switch fieldNumber { - case 1: try decoder.decodeSingularMessageField(value: &_storage._dataMessage) - case 5: try decoder.decodeSingularMessageField(value: &_storage._receiptMessage) - case 6: try decoder.decodeSingularMessageField(value: &_storage._typingMessage) - case 7: try decoder.decodeSingularMessageField(value: &_storage._configurationMessage) - case 82: try decoder.decodeSingularMessageField(value: &_storage._dataExtractionNotification) - default: break - } + 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.decodeSingularMessageField(value: &self._dataMessage) }() + case 5: try { try decoder.decodeSingularMessageField(value: &self._receiptMessage) }() + case 6: try { try decoder.decodeSingularMessageField(value: &self._typingMessage) }() + case 7: try { try decoder.decodeSingularMessageField(value: &self._configurationMessage) }() + case 8: try { try decoder.decodeSingularMessageField(value: &self._dataExtractionNotification) }() + default: break } } } func traverse(visitor: inout V) throws { - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - if let v = _storage._dataMessage { - try visitor.visitSingularMessageField(value: v, fieldNumber: 1) - } - if let v = _storage._receiptMessage { - try visitor.visitSingularMessageField(value: v, fieldNumber: 5) - } - if let v = _storage._typingMessage { - try visitor.visitSingularMessageField(value: v, fieldNumber: 6) - } - if let v = _storage._configurationMessage { - try visitor.visitSingularMessageField(value: v, fieldNumber: 7) - } - if let v = _storage._dataExtractionNotification { - try visitor.visitSingularMessageField(value: v, fieldNumber: 82) - } + if let v = self._dataMessage { + try visitor.visitSingularMessageField(value: v, fieldNumber: 1) + } + if let v = self._receiptMessage { + try visitor.visitSingularMessageField(value: v, fieldNumber: 5) + } + if let v = self._typingMessage { + try visitor.visitSingularMessageField(value: v, fieldNumber: 6) + } + if let v = self._configurationMessage { + try visitor.visitSingularMessageField(value: v, fieldNumber: 7) + } + if let v = self._dataExtractionNotification { + try visitor.visitSingularMessageField(value: v, fieldNumber: 8) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: SessionProtos_Content, rhs: SessionProtos_Content) -> Bool { - if lhs._storage !== rhs._storage { - let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in - let _storage = _args.0 - let rhs_storage = _args.1 - if _storage._dataMessage != rhs_storage._dataMessage {return false} - if _storage._receiptMessage != rhs_storage._receiptMessage {return false} - if _storage._typingMessage != rhs_storage._typingMessage {return false} - if _storage._configurationMessage != rhs_storage._configurationMessage {return false} - if _storage._dataExtractionNotification != rhs_storage._dataExtractionNotification {return false} - return true - } - if !storagesAreEqual {return false} - } + if lhs._dataMessage != rhs._dataMessage {return false} + if lhs._receiptMessage != rhs._receiptMessage {return false} + if lhs._typingMessage != rhs._typingMessage {return false} + if lhs._configurationMessage != rhs._configurationMessage {return false} + if lhs._dataExtractionNotification != rhs._dataExtractionNotification {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -1589,9 +1564,12 @@ extension SessionProtos_KeyPair: SwiftProtobuf.Message, SwiftProtobuf._MessageIm 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 decoder.decodeSingularBytesField(value: &self._publicKey) - case 2: try decoder.decodeSingularBytesField(value: &self._privateKey) + case 1: try { try decoder.decodeSingularBytesField(value: &self._publicKey) }() + case 2: try { try decoder.decodeSingularBytesField(value: &self._privateKey) }() default: break } } @@ -1629,9 +1607,12 @@ extension SessionProtos_DataExtractionNotification: SwiftProtobuf.Message, Swift 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 decoder.decodeSingularEnumField(value: &self._type) - case 2: try decoder.decodeSingularUInt64Field(value: &self._timestamp) + case 1: try { try decoder.decodeSingularEnumField(value: &self._type) }() + case 2: try { try decoder.decodeSingularUInt64Field(value: &self._timestamp) }() default: break } } @@ -1739,20 +1720,23 @@ extension SessionProtos_DataMessage: SwiftProtobuf.Message, SwiftProtobuf._Messa _ = _uniqueStorage() try withExtendedLifetime(_storage) { (_storage: _StorageClass) in 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 decoder.decodeSingularStringField(value: &_storage._body) - case 2: try decoder.decodeRepeatedMessageField(value: &_storage._attachments) - case 3: try decoder.decodeSingularMessageField(value: &_storage._group) - case 4: try decoder.decodeSingularUInt32Field(value: &_storage._flags) - case 5: try decoder.decodeSingularUInt32Field(value: &_storage._expireTimer) - case 6: try decoder.decodeSingularBytesField(value: &_storage._profileKey) - case 7: try decoder.decodeSingularUInt64Field(value: &_storage._timestamp) - case 8: try decoder.decodeSingularMessageField(value: &_storage._quote) - case 10: try decoder.decodeRepeatedMessageField(value: &_storage._preview) - case 101: try decoder.decodeSingularMessageField(value: &_storage._profile) - case 102: try decoder.decodeSingularMessageField(value: &_storage._openGroupInvitation) - case 104: try decoder.decodeSingularMessageField(value: &_storage._closedGroupControlMessage) - case 105: try decoder.decodeSingularStringField(value: &_storage._syncTarget) + case 1: try { try decoder.decodeSingularStringField(value: &_storage._body) }() + case 2: try { try decoder.decodeRepeatedMessageField(value: &_storage._attachments) }() + case 3: try { try decoder.decodeSingularMessageField(value: &_storage._group) }() + case 4: try { try decoder.decodeSingularUInt32Field(value: &_storage._flags) }() + case 5: try { try decoder.decodeSingularUInt32Field(value: &_storage._expireTimer) }() + case 6: try { try decoder.decodeSingularBytesField(value: &_storage._profileKey) }() + case 7: try { try decoder.decodeSingularUInt64Field(value: &_storage._timestamp) }() + case 8: try { try decoder.decodeSingularMessageField(value: &_storage._quote) }() + case 10: try { try decoder.decodeRepeatedMessageField(value: &_storage._preview) }() + case 101: try { try decoder.decodeSingularMessageField(value: &_storage._profile) }() + case 102: try { try decoder.decodeSingularMessageField(value: &_storage._openGroupInvitation) }() + case 104: try { try decoder.decodeSingularMessageField(value: &_storage._closedGroupControlMessage) }() + case 105: try { try decoder.decodeSingularStringField(value: &_storage._syncTarget) }() default: break } } @@ -1855,11 +1839,14 @@ extension SessionProtos_DataMessage.Quote: SwiftProtobuf.Message, SwiftProtobuf. 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 decoder.decodeSingularUInt64Field(value: &self._id) - case 2: try decoder.decodeSingularStringField(value: &self._author) - case 3: try decoder.decodeSingularStringField(value: &self._text) - case 4: try decoder.decodeRepeatedMessageField(value: &self.attachments) + case 1: try { try decoder.decodeSingularUInt64Field(value: &self._id) }() + case 2: try { try decoder.decodeSingularStringField(value: &self._author) }() + case 3: try { try decoder.decodeSingularStringField(value: &self._text) }() + case 4: try { try decoder.decodeRepeatedMessageField(value: &self.attachments) }() default: break } } @@ -1900,84 +1887,47 @@ extension SessionProtos_DataMessage.Quote.QuotedAttachment: SwiftProtobuf.Messag 4: .same(proto: "flags"), ] - fileprivate class _StorageClass { - var _contentType: String? = nil - var _fileName: String? = nil - var _thumbnail: SessionProtos_AttachmentPointer? = nil - var _flags: UInt32? = nil - - static let defaultInstance = _StorageClass() - - private init() {} - - init(copying source: _StorageClass) { - _contentType = source._contentType - _fileName = source._fileName - _thumbnail = source._thumbnail - _flags = source._flags - } - } - - fileprivate mutating func _uniqueStorage() -> _StorageClass { - if !isKnownUniquelyReferenced(&_storage) { - _storage = _StorageClass(copying: _storage) - } - return _storage - } - public var isInitialized: Bool { - return withExtendedLifetime(_storage) { (_storage: _StorageClass) in - if let v = _storage._thumbnail, !v.isInitialized {return false} - return true - } + if let v = self._thumbnail, !v.isInitialized {return false} + return true } mutating func decodeMessage(decoder: inout D) throws { - _ = _uniqueStorage() - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - while let fieldNumber = try decoder.nextFieldNumber() { - switch fieldNumber { - case 1: try decoder.decodeSingularStringField(value: &_storage._contentType) - case 2: try decoder.decodeSingularStringField(value: &_storage._fileName) - case 3: try decoder.decodeSingularMessageField(value: &_storage._thumbnail) - case 4: try decoder.decodeSingularUInt32Field(value: &_storage._flags) - default: break - } + 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._contentType) }() + case 2: try { try decoder.decodeSingularStringField(value: &self._fileName) }() + case 3: try { try decoder.decodeSingularMessageField(value: &self._thumbnail) }() + case 4: try { try decoder.decodeSingularUInt32Field(value: &self._flags) }() + default: break } } } func traverse(visitor: inout V) throws { - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - if let v = _storage._contentType { - try visitor.visitSingularStringField(value: v, fieldNumber: 1) - } - if let v = _storage._fileName { - try visitor.visitSingularStringField(value: v, fieldNumber: 2) - } - if let v = _storage._thumbnail { - try visitor.visitSingularMessageField(value: v, fieldNumber: 3) - } - if let v = _storage._flags { - try visitor.visitSingularUInt32Field(value: v, fieldNumber: 4) - } + if let v = self._contentType { + try visitor.visitSingularStringField(value: v, fieldNumber: 1) + } + if let v = self._fileName { + try visitor.visitSingularStringField(value: v, fieldNumber: 2) + } + if let v = self._thumbnail { + try visitor.visitSingularMessageField(value: v, fieldNumber: 3) + } + if let v = self._flags { + try visitor.visitSingularUInt32Field(value: v, fieldNumber: 4) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: SessionProtos_DataMessage.Quote.QuotedAttachment, rhs: SessionProtos_DataMessage.Quote.QuotedAttachment) -> Bool { - if lhs._storage !== rhs._storage { - let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in - let _storage = _args.0 - let rhs_storage = _args.1 - if _storage._contentType != rhs_storage._contentType {return false} - if _storage._fileName != rhs_storage._fileName {return false} - if _storage._thumbnail != rhs_storage._thumbnail {return false} - if _storage._flags != rhs_storage._flags {return false} - return true - } - if !storagesAreEqual {return false} - } + if lhs._contentType != rhs._contentType {return false} + if lhs._fileName != rhs._fileName {return false} + if lhs._thumbnail != rhs._thumbnail {return false} + if lhs._flags != rhs._flags {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -1997,78 +1947,43 @@ extension SessionProtos_DataMessage.Preview: SwiftProtobuf.Message, SwiftProtobu 3: .same(proto: "image"), ] - fileprivate class _StorageClass { - var _url: String? = nil - var _title: String? = nil - var _image: SessionProtos_AttachmentPointer? = nil - - static let defaultInstance = _StorageClass() - - private init() {} - - init(copying source: _StorageClass) { - _url = source._url - _title = source._title - _image = source._image - } - } - - fileprivate mutating func _uniqueStorage() -> _StorageClass { - if !isKnownUniquelyReferenced(&_storage) { - _storage = _StorageClass(copying: _storage) - } - return _storage - } - public var isInitialized: Bool { - return withExtendedLifetime(_storage) { (_storage: _StorageClass) in - if _storage._url == nil {return false} - if let v = _storage._image, !v.isInitialized {return false} - return true - } + if self._url == nil {return false} + if let v = self._image, !v.isInitialized {return false} + return true } mutating func decodeMessage(decoder: inout D) throws { - _ = _uniqueStorage() - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - while let fieldNumber = try decoder.nextFieldNumber() { - switch fieldNumber { - case 1: try decoder.decodeSingularStringField(value: &_storage._url) - case 2: try decoder.decodeSingularStringField(value: &_storage._title) - case 3: try decoder.decodeSingularMessageField(value: &_storage._image) - default: break - } + 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._url) }() + case 2: try { try decoder.decodeSingularStringField(value: &self._title) }() + case 3: try { try decoder.decodeSingularMessageField(value: &self._image) }() + default: break } } } func traverse(visitor: inout V) throws { - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - if let v = _storage._url { - try visitor.visitSingularStringField(value: v, fieldNumber: 1) - } - if let v = _storage._title { - try visitor.visitSingularStringField(value: v, fieldNumber: 2) - } - if let v = _storage._image { - try visitor.visitSingularMessageField(value: v, fieldNumber: 3) - } + if let v = self._url { + try visitor.visitSingularStringField(value: v, fieldNumber: 1) + } + if let v = self._title { + try visitor.visitSingularStringField(value: v, fieldNumber: 2) + } + if let v = self._image { + try visitor.visitSingularMessageField(value: v, fieldNumber: 3) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: SessionProtos_DataMessage.Preview, rhs: SessionProtos_DataMessage.Preview) -> Bool { - if lhs._storage !== rhs._storage { - let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in - let _storage = _args.0 - let rhs_storage = _args.1 - if _storage._url != rhs_storage._url {return false} - if _storage._title != rhs_storage._title {return false} - if _storage._image != rhs_storage._image {return false} - return true - } - if !storagesAreEqual {return false} - } + if lhs._url != rhs._url {return false} + if lhs._title != rhs._title {return false} + if lhs._image != rhs._image {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -2083,9 +1998,12 @@ extension SessionProtos_DataMessage.LokiProfile: SwiftProtobuf.Message, SwiftPro 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 decoder.decodeSingularStringField(value: &self._displayName) - case 2: try decoder.decodeSingularStringField(value: &self._profilePicture) + case 1: try { try decoder.decodeSingularStringField(value: &self._displayName) }() + case 2: try { try decoder.decodeSingularStringField(value: &self._profilePicture) }() default: break } } @@ -2124,9 +2042,12 @@ extension SessionProtos_DataMessage.OpenGroupInvitation: SwiftProtobuf.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 decoder.decodeSingularStringField(value: &self._url) - case 3: try decoder.decodeSingularStringField(value: &self._name) + case 1: try { try decoder.decodeSingularStringField(value: &self._url) }() + case 3: try { try decoder.decodeSingularStringField(value: &self._name) }() default: break } } @@ -2162,107 +2083,64 @@ extension SessionProtos_DataMessage.ClosedGroupControlMessage: SwiftProtobuf.Mes 7: .same(proto: "wrappers"), ] - fileprivate class _StorageClass { - var _type: SessionProtos_DataMessage.ClosedGroupControlMessage.TypeEnum? = nil - var _publicKey: Data? = nil - var _name: String? = nil - var _encryptionKeyPair: SessionProtos_KeyPair? = nil - var _members: [Data] = [] - var _admins: [Data] = [] - var _wrappers: [SessionProtos_DataMessage.ClosedGroupControlMessage.KeyPairWrapper] = [] - - static let defaultInstance = _StorageClass() - - private init() {} - - init(copying source: _StorageClass) { - _type = source._type - _publicKey = source._publicKey - _name = source._name - _encryptionKeyPair = source._encryptionKeyPair - _members = source._members - _admins = source._admins - _wrappers = source._wrappers - } - } - - fileprivate mutating func _uniqueStorage() -> _StorageClass { - if !isKnownUniquelyReferenced(&_storage) { - _storage = _StorageClass(copying: _storage) - } - return _storage - } - public var isInitialized: Bool { - return withExtendedLifetime(_storage) { (_storage: _StorageClass) in - if _storage._type == nil {return false} - if let v = _storage._encryptionKeyPair, !v.isInitialized {return false} - if !SwiftProtobuf.Internal.areAllInitialized(_storage._wrappers) {return false} - return true - } + if self._type == nil {return false} + if let v = self._encryptionKeyPair, !v.isInitialized {return false} + if !SwiftProtobuf.Internal.areAllInitialized(self.wrappers) {return false} + return true } mutating func decodeMessage(decoder: inout D) throws { - _ = _uniqueStorage() - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - while let fieldNumber = try decoder.nextFieldNumber() { - switch fieldNumber { - case 1: try decoder.decodeSingularEnumField(value: &_storage._type) - case 2: try decoder.decodeSingularBytesField(value: &_storage._publicKey) - case 3: try decoder.decodeSingularStringField(value: &_storage._name) - case 4: try decoder.decodeSingularMessageField(value: &_storage._encryptionKeyPair) - case 5: try decoder.decodeRepeatedBytesField(value: &_storage._members) - case 6: try decoder.decodeRepeatedBytesField(value: &_storage._admins) - case 7: try decoder.decodeRepeatedMessageField(value: &_storage._wrappers) - default: break - } + 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.decodeSingularEnumField(value: &self._type) }() + case 2: try { try decoder.decodeSingularBytesField(value: &self._publicKey) }() + case 3: try { try decoder.decodeSingularStringField(value: &self._name) }() + case 4: try { try decoder.decodeSingularMessageField(value: &self._encryptionKeyPair) }() + case 5: try { try decoder.decodeRepeatedBytesField(value: &self.members) }() + case 6: try { try decoder.decodeRepeatedBytesField(value: &self.admins) }() + case 7: try { try decoder.decodeRepeatedMessageField(value: &self.wrappers) }() + default: break } } } func traverse(visitor: inout V) throws { - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - if let v = _storage._type { - try visitor.visitSingularEnumField(value: v, fieldNumber: 1) - } - if let v = _storage._publicKey { - try visitor.visitSingularBytesField(value: v, fieldNumber: 2) - } - if let v = _storage._name { - try visitor.visitSingularStringField(value: v, fieldNumber: 3) - } - if let v = _storage._encryptionKeyPair { - try visitor.visitSingularMessageField(value: v, fieldNumber: 4) - } - if !_storage._members.isEmpty { - try visitor.visitRepeatedBytesField(value: _storage._members, fieldNumber: 5) - } - if !_storage._admins.isEmpty { - try visitor.visitRepeatedBytesField(value: _storage._admins, fieldNumber: 6) - } - if !_storage._wrappers.isEmpty { - try visitor.visitRepeatedMessageField(value: _storage._wrappers, fieldNumber: 7) - } + if let v = self._type { + try visitor.visitSingularEnumField(value: v, fieldNumber: 1) + } + if let v = self._publicKey { + try visitor.visitSingularBytesField(value: v, fieldNumber: 2) + } + if let v = self._name { + try visitor.visitSingularStringField(value: v, fieldNumber: 3) + } + if let v = self._encryptionKeyPair { + try visitor.visitSingularMessageField(value: v, fieldNumber: 4) + } + if !self.members.isEmpty { + try visitor.visitRepeatedBytesField(value: self.members, fieldNumber: 5) + } + if !self.admins.isEmpty { + try visitor.visitRepeatedBytesField(value: self.admins, fieldNumber: 6) + } + if !self.wrappers.isEmpty { + try visitor.visitRepeatedMessageField(value: self.wrappers, fieldNumber: 7) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: SessionProtos_DataMessage.ClosedGroupControlMessage, rhs: SessionProtos_DataMessage.ClosedGroupControlMessage) -> Bool { - if lhs._storage !== rhs._storage { - let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in - let _storage = _args.0 - let rhs_storage = _args.1 - if _storage._type != rhs_storage._type {return false} - if _storage._publicKey != rhs_storage._publicKey {return false} - if _storage._name != rhs_storage._name {return false} - if _storage._encryptionKeyPair != rhs_storage._encryptionKeyPair {return false} - if _storage._members != rhs_storage._members {return false} - if _storage._admins != rhs_storage._admins {return false} - if _storage._wrappers != rhs_storage._wrappers {return false} - return true - } - if !storagesAreEqual {return false} - } + if lhs._type != rhs._type {return false} + if lhs._publicKey != rhs._publicKey {return false} + if lhs._name != rhs._name {return false} + if lhs._encryptionKeyPair != rhs._encryptionKeyPair {return false} + if lhs.members != rhs.members {return false} + if lhs.admins != rhs.admins {return false} + if lhs.wrappers != rhs.wrappers {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -2295,9 +2173,12 @@ extension SessionProtos_DataMessage.ClosedGroupControlMessage.KeyPairWrapper: Sw 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 decoder.decodeSingularBytesField(value: &self._publicKey) - case 2: try decoder.decodeSingularBytesField(value: &self._encryptedKeyPair) + case 1: try { try decoder.decodeSingularBytesField(value: &self._publicKey) }() + case 2: try { try decoder.decodeSingularBytesField(value: &self._encryptedKeyPair) }() default: break } } @@ -2340,13 +2221,16 @@ extension SessionProtos_ConfigurationMessage: SwiftProtobuf.Message, SwiftProtob 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 decoder.decodeRepeatedMessageField(value: &self.closedGroups) - case 2: try decoder.decodeRepeatedStringField(value: &self.openGroups) - case 3: try decoder.decodeSingularStringField(value: &self._displayName) - case 4: try decoder.decodeSingularStringField(value: &self._profilePicture) - case 5: try decoder.decodeSingularBytesField(value: &self._profileKey) - case 6: try decoder.decodeRepeatedMessageField(value: &self.contacts) + case 1: try { try decoder.decodeRepeatedMessageField(value: &self.closedGroups) }() + case 2: try { try decoder.decodeRepeatedStringField(value: &self.openGroups) }() + case 3: try { try decoder.decodeSingularStringField(value: &self._displayName) }() + case 4: try { try decoder.decodeSingularStringField(value: &self._profilePicture) }() + case 5: try { try decoder.decodeSingularBytesField(value: &self._profileKey) }() + case 6: try { try decoder.decodeRepeatedMessageField(value: &self.contacts) }() default: break } } @@ -2396,91 +2280,52 @@ extension SessionProtos_ConfigurationMessage.ClosedGroup: SwiftProtobuf.Message, 5: .same(proto: "admins"), ] - fileprivate class _StorageClass { - var _publicKey: Data? = nil - var _name: String? = nil - var _encryptionKeyPair: SessionProtos_KeyPair? = nil - var _members: [Data] = [] - var _admins: [Data] = [] - - static let defaultInstance = _StorageClass() - - private init() {} - - init(copying source: _StorageClass) { - _publicKey = source._publicKey - _name = source._name - _encryptionKeyPair = source._encryptionKeyPair - _members = source._members - _admins = source._admins - } - } - - fileprivate mutating func _uniqueStorage() -> _StorageClass { - if !isKnownUniquelyReferenced(&_storage) { - _storage = _StorageClass(copying: _storage) - } - return _storage - } - public var isInitialized: Bool { - return withExtendedLifetime(_storage) { (_storage: _StorageClass) in - if let v = _storage._encryptionKeyPair, !v.isInitialized {return false} - return true - } + if let v = self._encryptionKeyPair, !v.isInitialized {return false} + return true } mutating func decodeMessage(decoder: inout D) throws { - _ = _uniqueStorage() - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - while let fieldNumber = try decoder.nextFieldNumber() { - switch fieldNumber { - case 1: try decoder.decodeSingularBytesField(value: &_storage._publicKey) - case 2: try decoder.decodeSingularStringField(value: &_storage._name) - case 3: try decoder.decodeSingularMessageField(value: &_storage._encryptionKeyPair) - case 4: try decoder.decodeRepeatedBytesField(value: &_storage._members) - case 5: try decoder.decodeRepeatedBytesField(value: &_storage._admins) - default: break - } + 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.decodeSingularBytesField(value: &self._publicKey) }() + case 2: try { try decoder.decodeSingularStringField(value: &self._name) }() + case 3: try { try decoder.decodeSingularMessageField(value: &self._encryptionKeyPair) }() + case 4: try { try decoder.decodeRepeatedBytesField(value: &self.members) }() + case 5: try { try decoder.decodeRepeatedBytesField(value: &self.admins) }() + default: break } } } func traverse(visitor: inout V) throws { - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - if let v = _storage._publicKey { - try visitor.visitSingularBytesField(value: v, fieldNumber: 1) - } - if let v = _storage._name { - try visitor.visitSingularStringField(value: v, fieldNumber: 2) - } - if let v = _storage._encryptionKeyPair { - try visitor.visitSingularMessageField(value: v, fieldNumber: 3) - } - if !_storage._members.isEmpty { - try visitor.visitRepeatedBytesField(value: _storage._members, fieldNumber: 4) - } - if !_storage._admins.isEmpty { - try visitor.visitRepeatedBytesField(value: _storage._admins, fieldNumber: 5) - } + if let v = self._publicKey { + try visitor.visitSingularBytesField(value: v, fieldNumber: 1) + } + if let v = self._name { + try visitor.visitSingularStringField(value: v, fieldNumber: 2) + } + if let v = self._encryptionKeyPair { + try visitor.visitSingularMessageField(value: v, fieldNumber: 3) + } + if !self.members.isEmpty { + try visitor.visitRepeatedBytesField(value: self.members, fieldNumber: 4) + } + if !self.admins.isEmpty { + try visitor.visitRepeatedBytesField(value: self.admins, fieldNumber: 5) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: SessionProtos_ConfigurationMessage.ClosedGroup, rhs: SessionProtos_ConfigurationMessage.ClosedGroup) -> Bool { - if lhs._storage !== rhs._storage { - let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in - let _storage = _args.0 - let rhs_storage = _args.1 - if _storage._publicKey != rhs_storage._publicKey {return false} - if _storage._name != rhs_storage._name {return false} - if _storage._encryptionKeyPair != rhs_storage._encryptionKeyPair {return false} - if _storage._members != rhs_storage._members {return false} - if _storage._admins != rhs_storage._admins {return false} - return true - } - if !storagesAreEqual {return false} - } + if lhs._publicKey != rhs._publicKey {return false} + if lhs._name != rhs._name {return false} + if lhs._encryptionKeyPair != rhs._encryptionKeyPair {return false} + if lhs.members != rhs.members {return false} + if lhs.admins != rhs.admins {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } @@ -2503,11 +2348,14 @@ extension SessionProtos_ConfigurationMessage.Contact: SwiftProtobuf.Message, Swi 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 decoder.decodeSingularBytesField(value: &self._publicKey) - case 2: try decoder.decodeSingularStringField(value: &self._name) - case 3: try decoder.decodeSingularStringField(value: &self._profilePicture) - case 4: try decoder.decodeSingularBytesField(value: &self._profileKey) + case 1: try { try decoder.decodeSingularBytesField(value: &self._publicKey) }() + case 2: try { try decoder.decodeSingularStringField(value: &self._name) }() + case 3: try { try decoder.decodeSingularStringField(value: &self._profilePicture) }() + case 4: try { try decoder.decodeSingularBytesField(value: &self._profileKey) }() default: break } } @@ -2553,9 +2401,12 @@ extension SessionProtos_ReceiptMessage: SwiftProtobuf.Message, SwiftProtobuf._Me 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 decoder.decodeSingularEnumField(value: &self._type) - case 2: try decoder.decodeRepeatedUInt64Field(value: &self.timestamp) + case 1: try { try decoder.decodeSingularEnumField(value: &self._type) }() + case 2: try { try decoder.decodeRepeatedUInt64Field(value: &self.timestamp) }() default: break } } @@ -2610,19 +2461,22 @@ extension SessionProtos_AttachmentPointer: SwiftProtobuf.Message, SwiftProtobuf. 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 decoder.decodeSingularFixed64Field(value: &self._id) - case 2: try decoder.decodeSingularStringField(value: &self._contentType) - case 3: try decoder.decodeSingularBytesField(value: &self._key) - case 4: try decoder.decodeSingularUInt32Field(value: &self._size) - case 5: try decoder.decodeSingularBytesField(value: &self._thumbnail) - case 6: try decoder.decodeSingularBytesField(value: &self._digest) - case 7: try decoder.decodeSingularStringField(value: &self._fileName) - case 8: try decoder.decodeSingularUInt32Field(value: &self._flags) - case 9: try decoder.decodeSingularUInt32Field(value: &self._width) - case 10: try decoder.decodeSingularUInt32Field(value: &self._height) - case 11: try decoder.decodeSingularStringField(value: &self._caption) - case 101: try decoder.decodeSingularStringField(value: &self._url) + case 1: try { try decoder.decodeSingularFixed64Field(value: &self._id) }() + case 2: try { try decoder.decodeSingularStringField(value: &self._contentType) }() + case 3: try { try decoder.decodeSingularBytesField(value: &self._key) }() + case 4: try { try decoder.decodeSingularUInt32Field(value: &self._size) }() + case 5: try { try decoder.decodeSingularBytesField(value: &self._thumbnail) }() + case 6: try { try decoder.decodeSingularBytesField(value: &self._digest) }() + case 7: try { try decoder.decodeSingularStringField(value: &self._fileName) }() + case 8: try { try decoder.decodeSingularUInt32Field(value: &self._flags) }() + case 9: try { try decoder.decodeSingularUInt32Field(value: &self._width) }() + case 10: try { try decoder.decodeSingularUInt32Field(value: &self._height) }() + case 11: try { try decoder.decodeSingularStringField(value: &self._caption) }() + case 101: try { try decoder.decodeSingularStringField(value: &self._url) }() default: break } } @@ -2743,13 +2597,16 @@ extension SessionProtos_GroupContext: SwiftProtobuf.Message, SwiftProtobuf._Mess _ = _uniqueStorage() try withExtendedLifetime(_storage) { (_storage: _StorageClass) in 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 decoder.decodeSingularBytesField(value: &_storage._id) - case 2: try decoder.decodeSingularEnumField(value: &_storage._type) - case 3: try decoder.decodeSingularStringField(value: &_storage._name) - case 4: try decoder.decodeRepeatedStringField(value: &_storage._members) - case 5: try decoder.decodeSingularMessageField(value: &_storage._avatar) - case 6: try decoder.decodeRepeatedStringField(value: &_storage._admins) + case 1: try { try decoder.decodeSingularBytesField(value: &_storage._id) }() + case 2: try { try decoder.decodeSingularEnumField(value: &_storage._type) }() + case 3: try { try decoder.decodeSingularStringField(value: &_storage._name) }() + case 4: try { try decoder.decodeRepeatedStringField(value: &_storage._members) }() + case 5: try { try decoder.decodeSingularMessageField(value: &_storage._avatar) }() + case 6: try { try decoder.decodeRepeatedStringField(value: &_storage._admins) }() default: break } } diff --git a/SessionMessagingKit/Protos/Generated/WebSocketResources.pb.swift b/SessionMessagingKit/Protos/Generated/WebSocketResources.pb.swift index 9c483f53f..4c6491fa2 100644 --- a/SessionMessagingKit/Protos/Generated/WebSocketResources.pb.swift +++ b/SessionMessagingKit/Protos/Generated/WebSocketResources.pb.swift @@ -1,9 +1,10 @@ // DO NOT EDIT. +// swift-format-ignore-file // // Generated by the Swift generator plugin for the protocol buffer compiler. // Source: WebSocketResources.proto // -// For information on using the generated types, please see the documenation: +// For information on using the generated types, please see the documentation: // https://github.com/apple/swift-protobuf/ //* @@ -20,7 +21,7 @@ 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 your are building against the same version of the API +// 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 {} @@ -53,7 +54,7 @@ struct WebSocketProtos_WebSocketRequestMessage { mutating func clearPath() {self._path = nil} var body: Data { - get {return _body ?? SwiftProtobuf.Internal.emptyData} + get {return _body ?? Data()} set {_body = newValue} } /// Returns true if `body` has been explicitly set. @@ -120,7 +121,7 @@ struct WebSocketProtos_WebSocketResponseMessage { var headers: [String] = [] var body: Data { - get {return _body ?? SwiftProtobuf.Internal.emptyData} + get {return _body ?? Data()} set {_body = newValue} } /// Returns true if `body` has been explicitly set. @@ -145,31 +146,31 @@ struct WebSocketProtos_WebSocketMessage { /// @required var type: WebSocketProtos_WebSocketMessage.TypeEnum { - get {return _storage._type ?? .unknown} - set {_uniqueStorage()._type = newValue} + get {return _type ?? .unknown} + set {_type = newValue} } /// Returns true if `type` has been explicitly set. - var hasType: Bool {return _storage._type != nil} + var hasType: Bool {return self._type != nil} /// Clears the value of `type`. Subsequent reads from it will return its default value. - mutating func clearType() {_uniqueStorage()._type = nil} + mutating func clearType() {self._type = nil} var request: WebSocketProtos_WebSocketRequestMessage { - get {return _storage._request ?? WebSocketProtos_WebSocketRequestMessage()} - set {_uniqueStorage()._request = newValue} + get {return _request ?? WebSocketProtos_WebSocketRequestMessage()} + set {_request = newValue} } /// Returns true if `request` has been explicitly set. - var hasRequest: Bool {return _storage._request != nil} + var hasRequest: Bool {return self._request != nil} /// Clears the value of `request`. Subsequent reads from it will return its default value. - mutating func clearRequest() {_uniqueStorage()._request = nil} + mutating func clearRequest() {self._request = nil} var response: WebSocketProtos_WebSocketResponseMessage { - get {return _storage._response ?? WebSocketProtos_WebSocketResponseMessage()} - set {_uniqueStorage()._response = newValue} + get {return _response ?? WebSocketProtos_WebSocketResponseMessage()} + set {_response = newValue} } /// Returns true if `response` has been explicitly set. - var hasResponse: Bool {return _storage._response != nil} + var hasResponse: Bool {return self._response != nil} /// Clears the value of `response`. Subsequent reads from it will return its default value. - mutating func clearResponse() {_uniqueStorage()._response = nil} + mutating func clearResponse() {self._response = nil} var unknownFields = SwiftProtobuf.UnknownStorage() @@ -204,7 +205,9 @@ struct WebSocketProtos_WebSocketMessage { init() {} - fileprivate var _storage = _StorageClass.defaultInstance + fileprivate var _type: WebSocketProtos_WebSocketMessage.TypeEnum? = nil + fileprivate var _request: WebSocketProtos_WebSocketRequestMessage? = nil + fileprivate var _response: WebSocketProtos_WebSocketResponseMessage? = nil } #if swift(>=4.2) @@ -231,12 +234,15 @@ extension WebSocketProtos_WebSocketRequestMessage: SwiftProtobuf.Message, SwiftP 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 decoder.decodeSingularStringField(value: &self._verb) - case 2: try decoder.decodeSingularStringField(value: &self._path) - case 3: try decoder.decodeSingularBytesField(value: &self._body) - case 4: try decoder.decodeSingularUInt64Field(value: &self._requestID) - case 5: try decoder.decodeRepeatedStringField(value: &self.headers) + case 1: try { try decoder.decodeSingularStringField(value: &self._verb) }() + case 2: try { try decoder.decodeSingularStringField(value: &self._path) }() + case 3: try { try decoder.decodeSingularBytesField(value: &self._body) }() + case 4: try { try decoder.decodeSingularUInt64Field(value: &self._requestID) }() + case 5: try { try decoder.decodeRepeatedStringField(value: &self.headers) }() default: break } } @@ -284,12 +290,15 @@ extension WebSocketProtos_WebSocketResponseMessage: SwiftProtobuf.Message, Swift 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 decoder.decodeSingularUInt64Field(value: &self._requestID) - case 2: try decoder.decodeSingularUInt32Field(value: &self._status) - case 3: try decoder.decodeSingularStringField(value: &self._message) - case 4: try decoder.decodeSingularBytesField(value: &self._body) - case 5: try decoder.decodeRepeatedStringField(value: &self.headers) + case 1: try { try decoder.decodeSingularUInt64Field(value: &self._requestID) }() + case 2: try { try decoder.decodeSingularUInt32Field(value: &self._status) }() + case 3: try { try decoder.decodeSingularStringField(value: &self._message) }() + case 4: try { try decoder.decodeSingularBytesField(value: &self._body) }() + case 5: try { try decoder.decodeRepeatedStringField(value: &self.headers) }() default: break } } @@ -333,70 +342,37 @@ extension WebSocketProtos_WebSocketMessage: SwiftProtobuf.Message, SwiftProtobuf 3: .same(proto: "response"), ] - fileprivate class _StorageClass { - var _type: WebSocketProtos_WebSocketMessage.TypeEnum? = nil - var _request: WebSocketProtos_WebSocketRequestMessage? = nil - var _response: WebSocketProtos_WebSocketResponseMessage? = nil - - static let defaultInstance = _StorageClass() - - private init() {} - - init(copying source: _StorageClass) { - _type = source._type - _request = source._request - _response = source._response - } - } - - fileprivate mutating func _uniqueStorage() -> _StorageClass { - if !isKnownUniquelyReferenced(&_storage) { - _storage = _StorageClass(copying: _storage) - } - return _storage - } - mutating func decodeMessage(decoder: inout D) throws { - _ = _uniqueStorage() - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - while let fieldNumber = try decoder.nextFieldNumber() { - switch fieldNumber { - case 1: try decoder.decodeSingularEnumField(value: &_storage._type) - case 2: try decoder.decodeSingularMessageField(value: &_storage._request) - case 3: try decoder.decodeSingularMessageField(value: &_storage._response) - default: break - } + 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.decodeSingularEnumField(value: &self._type) }() + case 2: try { try decoder.decodeSingularMessageField(value: &self._request) }() + case 3: try { try decoder.decodeSingularMessageField(value: &self._response) }() + default: break } } } func traverse(visitor: inout V) throws { - try withExtendedLifetime(_storage) { (_storage: _StorageClass) in - if let v = _storage._type { - try visitor.visitSingularEnumField(value: v, fieldNumber: 1) - } - if let v = _storage._request { - try visitor.visitSingularMessageField(value: v, fieldNumber: 2) - } - if let v = _storage._response { - try visitor.visitSingularMessageField(value: v, fieldNumber: 3) - } + if let v = self._type { + try visitor.visitSingularEnumField(value: v, fieldNumber: 1) + } + if let v = self._request { + try visitor.visitSingularMessageField(value: v, fieldNumber: 2) + } + if let v = self._response { + try visitor.visitSingularMessageField(value: v, fieldNumber: 3) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: WebSocketProtos_WebSocketMessage, rhs: WebSocketProtos_WebSocketMessage) -> Bool { - if lhs._storage !== rhs._storage { - let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in - let _storage = _args.0 - let rhs_storage = _args.1 - if _storage._type != rhs_storage._type {return false} - if _storage._request != rhs_storage._request {return false} - if _storage._response != rhs_storage._response {return false} - return true - } - if !storagesAreEqual {return false} - } + if lhs._type != rhs._type {return false} + if lhs._request != rhs._request {return false} + if lhs._response != rhs._response {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } diff --git a/SessionMessagingKit/Protos/SessionProtos.proto b/SessionMessagingKit/Protos/SessionProtos.proto index bdb101bcc..6d9913465 100644 --- a/SessionMessagingKit/Protos/SessionProtos.proto +++ b/SessionMessagingKit/Protos/SessionProtos.proto @@ -39,7 +39,7 @@ message Content { optional ReceiptMessage receiptMessage = 5; optional TypingMessage typingMessage = 6; optional ConfigurationMessage configurationMessage = 7; - optional DataExtractionNotification dataExtractionNotification = 82; + optional DataExtractionNotification dataExtractionNotification = 8; } message KeyPair {