Circuit Breaker Pattern framework written in Swift
let number5 = ShortCircuitFactory.getNSUserDefaultsInstance()
if (number5.isAlive("testService")) {
// make http request
// upon success
// number5.reportSucess("testService")
// upon failure
// number5.reportFailure("testService")
} else {
// service unavailable, do something else
}
id<CircuitBreaker> memoryCircuit = [ShortCircuitFactory getNSUserDefaultsInstance:20 retryTimeout:20];
NSString *serviceName = @"testService";
if ([memoryCircuit isAvailable:serviceName]) {
// upon success
// [memoryCircuit reportSuccess:serviceName];
// upon failure
// [memoryCircuit reportfailure:serviceName];
} else {
// service unavailable, do something else
}
}
A server implementation is in the works. Creating a Redis Adapter.