Skip to content
Snippets Groups Projects
Commit 28d8f45a authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Add NetworkHealthProvider

parent 7c279cf1
No related branches found
No related tags found
1 merge request!2Bindings API wrapper
...@@ -6,6 +6,7 @@ public struct Client { ...@@ -6,6 +6,7 @@ public struct Client {
public var makeIdentity: IdentityMaker public var makeIdentity: IdentityMaker
public var connect: ConnectionMaker public var connect: ConnectionMaker
public var waitForDelivery: MessageDeliveryWaiter public var waitForDelivery: MessageDeliveryWaiter
public var isNetworkHealthy: NetworkHealthProvider
public var networkHealth: NetworkHealthListener public var networkHealth: NetworkHealthListener
} }
...@@ -17,6 +18,7 @@ extension Client { ...@@ -17,6 +18,7 @@ extension Client {
makeIdentity: .live(bindingsClient: bindingsClient), makeIdentity: .live(bindingsClient: bindingsClient),
connect: .live(bindingsClient: bindingsClient), connect: .live(bindingsClient: bindingsClient),
waitForDelivery: .live(bindingsClient: bindingsClient), waitForDelivery: .live(bindingsClient: bindingsClient),
isNetworkHealthy: .live(bindingsClient: bindingsClient),
networkHealth: .live(bindingsClient: bindingsClient) networkHealth: .live(bindingsClient: bindingsClient)
) )
} }
...@@ -30,6 +32,7 @@ extension Client { ...@@ -30,6 +32,7 @@ extension Client {
makeIdentity: .failing, makeIdentity: .failing,
connect: .failing, connect: .failing,
waitForDelivery: .failing, waitForDelivery: .failing,
isNetworkHealthy: .failing,
networkHealth: .failing networkHealth: .failing
) )
} }
......
import Bindings
public struct NetworkHealthProvider {
public var get: () -> Bool
public func callAsFunction() -> Bool {
get()
}
}
extension NetworkHealthProvider {
public static func live(bindingsClient: BindingsClient) -> NetworkHealthProvider {
NetworkHealthProvider(get: bindingsClient.isNetworkHealthy)
}
}
#if DEBUG
extension NetworkHealthProvider {
public static let failing = NetworkHealthProvider {
fatalError("Not implemented")
}
}
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment