         try clientFileDescriptor.closeIfThrows {
             try clientFileDescriptor.setNonblocking()
         }
-        return L2CAPSocket(
+        return await L2CAPSocket(
             fileDescriptor: clientFileDescriptor,
             address: clientAddress
         )

        try socket.fileDescriptor.setSocketOption(socketOption)
    }
    
    public func securityLevel() throws -> SecurityLevel {
        let socketOption = try socket.fileDescriptor.getSocketOption(BluetoothSocketOption.Security.self)
        return socketOption.level
    }
    
    /// Attempt to get L2CAP socket options.
    public func getSocketOptions() throws -> L2CAPSocketOption.Options {
        return try socket.fileDescriptor.getSocketOption(L2CAPSocketOption.Options.self)
    }
}


        try await fileDescriptor.closeIfThrows {
            try await fileDescriptor.connect(to: destinationSocketAddress, sleep: 10_000_000)
        }
        return await L2CAPSocket(
            fileDescriptor: fileDescriptor,
            address: localSocketAddress
        )
