From a2ccb414bddbd3313cdbcd73d886ed5fc5b1a29a Mon Sep 17 00:00:00 2001 From: Wenkai Yin Date: Mon, 4 Jul 2016 21:43:55 +0800 Subject: [PATCH] add RetryChecker interface --- job/error/error.go | 23 +++++++++++++++++++++++ job/replication/error.go | 8 ++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 job/error/error.go diff --git a/job/error/error.go b/job/error/error.go new file mode 100644 index 000000000..680b1c6c8 --- /dev/null +++ b/job/error/error.go @@ -0,0 +1,23 @@ +/* + Copyright (c) 2016 VMware, Inc. All Rights Reserved. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package error + +// RetryChecker checks whether a job should retry if encounters an error +type RetryChecker interface { + // Retry : if the error can be disappear after retrying the job, Retry + // returns true + Retry(error) bool +} diff --git a/job/replication/error.go b/job/replication/error.go index b1f12febe..53c7ca219 100644 --- a/job/replication/error.go +++ b/job/replication/error.go @@ -19,8 +19,12 @@ import ( "net" ) -// ShouldRetry determines whether a job should be retried when an error occurred -func ShouldRetry(err error) bool { +// ReplicaRetryChecker determines whether a job should be retried when an error occurred +type ReplicaRetryChecker struct { +} + +// Retry ... +func (r *ReplicaRetryChecker) Retry(err error) bool { return isTemporary(err) }