10 type ResponseState int
14 RESP_PENDING = ResponseState(iota) // internal state, not wire.
18 RESP_FAILED_UNKNOWN_SCORE
19 RESP_FAILED_HOST_ERROR
23 func (rs ResponseState) String() (strout string) {
31 case RESP_FAILED_UNKNOWN_SCORE:
33 case RESP_FAILED_HOST_ERROR:
35 case RESP_FAILED_UNKNOWN:
36 return "UNKNOWN_FAILURE"
41 func (rs ResponseState) MarshalJSON() (out []byte, err os.Error) {
44 return json.Marshal(strout)
46 return nil, InvalidValueError
49 func (rs ResponseState) UnmarshalJSON(in []byte) (err os.Error) {
51 err = json.Unmarshal(in, &statestr)
63 rs = RESP_FAILED_UNKNOWN_SCORE
65 rs = RESP_FAILED_HOST_ERROR
66 case "UNKNOWN_FAILURE":
67 rs = RESP_FAILED_UNKNOWN
69 return InvalidValueError
74 func (rs ResponseState) Finished() bool {
80 case RESP_FAILED_UNKNOWN_SCORE:
82 case RESP_FAILED_HOST_ERROR:
84 case RESP_FAILED_UNKNOWN:
90 // true if the response says the task failed. false otherwise.
91 func (rs ResponseState) Failed() bool {
101 // true if the task can be tried.
102 // precond: DidFail is true, job is a ONE_OF job.
103 // must return false otherwise.
104 func (rs ResponseState) CanRetry() bool {
106 case RESP_FAILED_UNKNOWN_SCORE:
108 case RESP_FAILED_HOST_ERROR: