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 {
public var makeIdentity: IdentityMaker
public var connect: ConnectionMaker
public var waitForDelivery: MessageDeliveryWaiter
public var isNetworkHealthy: NetworkHealthProvider
public var networkHealth: NetworkHealthListener
}
......@@ -17,6 +18,7 @@ extension Client {
makeIdentity: .live(bindingsClient: bindingsClient),
connect: .live(bindingsClient: bindingsClient),
waitForDelivery: .live(bindingsClient: bindingsClient),
isNetworkHealthy: .live(bindingsClient: bindingsClient),
networkHealth: .live(bindingsClient: bindingsClient)
)
}
......@@ -30,6 +32,7 @@ extension Client {
makeIdentity: .failing,
connect: .failing,
waitForDelivery: .failing,
isNetworkHealthy: .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.
Finish editing this message first!
Please register or to comment