ReservedBits
WebSocketFrame reserved bits option set
struct ReservedBits
WebSocketFrame reserved bits option set
struct ReservedBits
import NIOWebSocket
struct WebSocketFrame
A structured representation of a single WebSocket frame.
init(allocator: ByteBufferAllocator)
Creates an empty WebSocketFrame
.
init(fin: Bool = false, rsv1: Bool = false, rsv2: Bool = false, rsv3: Bool = false, opcode: WebSocketOpcode = .continuation, maskKey: WebSocketMaskingKey? = nil, data: ByteBuffer, extensionData: ByteBuffer? = nil)
Create a WebSocketFrame
with the given properties.
var data: ByteBuffer { get set }
The application data.
var debugDescription: String { get }
var description: String { get }
A String
describing this WebSocketFrame
. Example:
var extensionData: ByteBuffer? { get set }
The extension data, if any.
var fin: Bool { get set }
The value of the fin
bit. If set, this is the last frame in a fragmented frame. If not set, this frame is one of the intermediate frames in a fragmented frame. Must be set if a frame is not fragmented at all.
var length: Int { get }
The total length of the data in the frame.
var maskKey: WebSocketMaskingKey?
The masking key, if any.
var opcode: WebSocketOpcode { get set }
The opcode for this frame.
var reservedBits: ReservedBits { get set }
The value of all the reserved bits. Must be empty
unless using an extension that defines their use.
var rsv1: Bool { get set }
The value of the first reserved bit. Must be false
unless using an extension that defines its use.
var rsv2: Bool { get set }
The value of the second reserved bit. Must be false
unless using an extension that defines its use.
var rsv3: Bool { get set }
The value of the third reserved bit. Must be false
unless using an extension that defines its use.
var unmaskedData: ByteBuffer { get }
The unmasked application data.
var unmaskedExtensionData: ByteBuffer? { get }
The unmasked extension data.
protocol Equatable
A type that can be compared for value equality.
protocol ExpressibleByArrayLiteral
A type that can be initialized using an array literal.
protocol OptionSet : RawRepresentable, SetAlgebra
A type that presents a mathematical set interface to a bit set.
protocol RawRepresentable<RawValue>
A type that can be converted to and from an associated raw value.
protocol Sendable
protocol SetAlgebra<Element> : Equatable, ExpressibleByArrayLiteral
A type that provides mathematical set operations.
init(rawValue: UInt8)
static var all: `Self` { get }
static var rsv1: `Self` { get }
static var rsv2: `Self` { get }
static var rsv3: `Self` { get }
var rawValue: UInt8
init()
Creates an empty option set.
init<S>(_ sequence: S) where S : Sequence, Self.Element == S.Element
Creates a new set from a finite sequence of items.
init(arrayLiteral: Self.Element...)
Creates a set containing the elements of the given array literal.
var isEmpty: Bool { get }
A Boolean value that indicates whether the set has no elements.
static func != (lhs: Self, rhs: Self) -> Bool
Returns a Boolean value indicating whether two values are not equal.
func contains(_ member: Self) -> Bool
Returns a Boolean value that indicates whether a given element is a member of the option set.
mutating func formIntersection(_ other: Self)
Removes all elements of this option set that are not also present in the given set.
mutating func formSymmetricDifference(_ other: Self)
Replaces this set with a new set containing all elements contained in either this set or the given set, but not in both.
mutating func formUnion(_ other: Self)
Inserts the elements of another set into this option set.
@discardableResult mutating func insert(_ newMember: Self.Element) -> (inserted: Bool, memberAfterInsert: Self.Element)
Adds the given element to the option set if it is not already a member.
func intersection(_ other: Self) -> Self
Returns a new option set with only the elements contained in both this set and the given set.
func isDisjoint(with other: Self) -> Bool
Returns a Boolean value that indicates whether the set has no members in common with the given set.
func isStrictSubset(of other: Self) -> Bool
Returns a Boolean value that indicates whether this set is a strict subset of the given set.
func isStrictSuperset(of other: Self) -> Bool
Returns a Boolean value that indicates whether this set is a strict superset of the given set.
func isSubset(of other: Self) -> Bool
Returns a Boolean value that indicates whether the set is a subset of another set.
func isSuperset(of other: Self) -> Bool
Returns a Boolean value that indicates whether the set is a superset of the given set.
@discardableResult mutating func remove(_ member: Self.Element) -> Self.Element?
Removes the given element and all elements subsumed by it.
mutating func subtract(_ other: Self)
Removes the elements of the given set from this set.
func subtracting(_ other: Self) -> Self
Returns a new set containing the elements of this set that do not occur in the given set.
func symmetricDifference(_ other: Self) -> Self
Returns a new option set with the elements contained in this set or in the given set, but not in both.
func union(_ other: Self) -> Self
Returns a new option set of the elements contained in this set, in the given set, or in both.
@discardableResult mutating func update(with newMember: Self.Element) -> Self.Element?
Inserts the given element into the set.