@ -6,13 +6,10 @@ import Foundation
import Combine
import Combine
import SessionUtil
import SessionUtil
import SessionUtilitiesKit
import SessionUtilitiesKit
import SignalCoreKit
// MARK: - L i b S e s s i o n
// MARK: - L i b S e s s i o n
public extension LibSession {
public extension LibSession {
private static let desiredLogCategories : [ LogCategory ] = [ . network ]
private static var networkCache : Atomic < UnsafeMutablePointer < network_object > ? > = Atomic ( nil )
private static var networkCache : Atomic < UnsafeMutablePointer < network_object > ? > = Atomic ( nil )
private static var snodeCachePath : String { " \( OWSFileSystem . appSharedDataDirectoryPath ( ) ) /snodeCache " }
private static var snodeCachePath : String { " \( OWSFileSystem . appSharedDataDirectoryPath ( ) ) /snodeCache " }
private static var lastPaths : Atomic < [ Set < Snode > ] > = Atomic ( [ ] )
private static var lastPaths : Atomic < [ Set < Snode > ] > = Atomic ( [ ] )
@ -85,33 +82,6 @@ public extension LibSession {
pathsChangedCallbacks . mutate { $0 . removeValue ( forKey : callbackId ) }
pathsChangedCallbacks . mutate { $0 . removeValue ( forKey : callbackId ) }
}
}
static func addNetworkLogger ( ) {
getOrCreateNetwork ( ) . first ( ) . sinkUntilComplete ( receiveValue : { network in
network_add_logger ( network , { lvl , namePtr , nameLen , msgPtr , msgLen in
guard
LibSession . desiredLogCategories . contains ( LogCategory ( namePtr , nameLen ) ) ,
let msg : String = String ( pointer : msgPtr , length : msgLen , encoding : . utf8 )
else { return }
let trimmedLog : String = msg . trimmingCharacters ( in : . whitespacesAndNewlines )
switch lvl {
case LOG_LEVEL_TRACE : OWSLogger . verbose ( trimmedLog )
case LOG_LEVEL_DEBUG : OWSLogger . debug ( trimmedLog )
case LOG_LEVEL_INFO : OWSLogger . info ( trimmedLog )
case LOG_LEVEL_WARN : OWSLogger . warn ( trimmedLog )
case LOG_LEVEL_ERROR : OWSLogger . error ( trimmedLog )
case LOG_LEVEL_CRITICAL : OWSLogger . error ( trimmedLog )
case LOG_LEVEL_OFF : break
default : break
}
#if DEBUG
print ( trimmedLog )
#endif
} )
} )
}
static func closeNetworkConnections ( ) {
static func closeNetworkConnections ( ) {
guard let network : UnsafeMutablePointer < network_object > = networkCache . wrappedValue else { return }
guard let network : UnsafeMutablePointer < network_object > = networkCache . wrappedValue else { return }
@ -476,23 +446,6 @@ extension LibSession {
}
}
}
}
// MARK: - L o g C a t e g o r y
extension LibSession {
enum LogCategory : String {
case quic
case network
case unknown
init ( _ namePtr : UnsafePointer < CChar > ? , _ nameLen : Int ) {
switch String ( pointer : namePtr , length : nameLen , encoding : . utf8 ) . map ( { LogCategory ( rawValue : $0 ) } ) {
case . some ( let cat ) : self = cat
case . none : self = . unknown
}
}
}
}
// MARK: - S n o d e
// MARK: - S n o d e
extension LibSession {
extension LibSession {