forked from openark/orchestrator
/
async_request.go
59 lines (50 loc) · 1.91 KB
/
async_request.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
Copyright 2015 Shlomi Noach, courtesy Booking.com
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 logic
import (
"github.com/github/orchestrator/go/inst"
)
// AsyncRequest represents an entry in the async_request table
type AsyncRequest struct {
Id int64
Story string
Command string
OperatedInstanceKey *inst.InstanceKey
DestinationKey *inst.InstanceKey
Pattern string
GTIDHint inst.OperationGTIDHint
}
func NewEmptyAsyncRequest() *AsyncRequest {
asyncRequest := &AsyncRequest{}
asyncRequest.GTIDHint = inst.GTIDHintNeutral
return asyncRequest
}
func NewAsyncRequest(story string, command string, instanceKey *inst.InstanceKey, destinationKey *inst.InstanceKey, pattern string, gtidHint inst.OperationGTIDHint) *AsyncRequest {
asyncRequest := NewEmptyAsyncRequest()
asyncRequest.Story = story
asyncRequest.Command = command
asyncRequest.OperatedInstanceKey = instanceKey
asyncRequest.DestinationKey = destinationKey
asyncRequest.Pattern = pattern
asyncRequest.GTIDHint = gtidHint
return asyncRequest
}
func NewSimpleAsyncRequest(story string, command string, instanceKey *inst.InstanceKey) *AsyncRequest {
asyncRequest := NewEmptyAsyncRequest()
asyncRequest.Story = story
asyncRequest.Command = command
asyncRequest.OperatedInstanceKey = instanceKey
asyncRequest.DestinationKey = nil
asyncRequest.Pattern = ""
return asyncRequest
}