github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/ngaut/go-zookeeper/zk/constants.go (about) 1 package zk 2 3 import ( 4 "errors" 5 ) 6 7 const ( 8 protocolVersion = 0 9 10 DefaultPort = 2181 11 ) 12 13 const ( 14 opNotify = 0 15 opCreate = 1 16 opDelete = 2 17 opExists = 3 18 opGetData = 4 19 opSetData = 5 20 opGetAcl = 6 21 opSetAcl = 7 22 opGetChildren = 8 23 opSync = 9 24 opPing = 11 25 opGetChildren2 = 12 26 opCheck = 13 27 opMulti = 14 28 opClose = -11 29 opSetAuth = 100 30 opSetWatches = 101 31 // Not in protocol, used internally 32 opWatcherEvent = -2 33 ) 34 35 const ( 36 EventNodeCreated = EventType(1) 37 EventNodeDeleted = EventType(2) 38 EventNodeDataChanged = EventType(3) 39 EventNodeChildrenChanged = EventType(4) 40 41 EventSession = EventType(-1) 42 EventNotWatching = EventType(-2) 43 ) 44 45 var ( 46 eventNames = map[EventType]string{ 47 EventNodeCreated: "EventNodeCreated", 48 EventNodeDeleted: "EventNodeDeleted", 49 EventNodeDataChanged: "EventNodeDataChanged", 50 EventNodeChildrenChanged: "EventNodeChildrenChanged", 51 EventSession: "EventSession", 52 EventNotWatching: "EventNotWatching", 53 } 54 ) 55 56 const ( 57 StateUnknown = State(-1) 58 StateDisconnected = State(0) 59 StateConnecting = State(1) 60 StateSyncConnected = State(3) 61 StateAuthFailed = State(4) 62 StateConnectedReadOnly = State(5) 63 StateSaslAuthenticated = State(6) 64 StateExpired = State(-112) 65 // StateAuthFailed = State(-113) 66 67 StateConnected = State(100) 68 StateHasSession = State(101) 69 ) 70 71 const ( 72 FlagEphemeral = 1 73 FlagSequence = 2 74 ) 75 76 var ( 77 stateNames = map[State]string{ 78 StateUnknown: "StateUnknown", 79 StateDisconnected: "StateDisconnected", 80 StateSyncConnected: "StateSyncConnected", 81 StateConnectedReadOnly: "StateConnectedReadOnly", 82 StateSaslAuthenticated: "StateSaslAuthenticated", 83 StateExpired: "StateExpired", 84 StateAuthFailed: "StateAuthFailed", 85 StateConnecting: "StateConnecting", 86 StateConnected: "StateConnected", 87 StateHasSession: "StateHasSession", 88 } 89 ) 90 91 type State int32 92 93 func (s State) String() string { 94 if name := stateNames[s]; name != "" { 95 return name 96 } 97 return "Unknown" 98 } 99 100 type ErrCode int32 101 102 var ( 103 ErrConnectionClosed = errors.New("zk: connection closed") 104 ErrUnknown = errors.New("zk: unknown error") 105 ErrAPIError = errors.New("zk: api error") 106 ErrNoNode = errors.New("zk: node does not exist") 107 ErrNoAuth = errors.New("zk: not authenticated") 108 ErrBadVersion = errors.New("zk: version conflict") 109 ErrNoChildrenForEphemerals = errors.New("zk: ephemeral nodes may not have children") 110 ErrNodeExists = errors.New("zk: node already exists") 111 ErrNotEmpty = errors.New("zk: node has children") 112 ErrSessionExpired = errors.New("zk: session has been expired by the server") 113 ErrInvalidACL = errors.New("zk: invalid ACL specified") 114 ErrAuthFailed = errors.New("zk: client authentication failed") 115 ErrClosing = errors.New("zk: zookeeper is closing") 116 ErrNothing = errors.New("zk: no server responsees to process") 117 ErrSessionMoved = errors.New("zk: session moved to another server, so operation is ignored") 118 119 // ErrInvalidCallback = errors.New("zk: invalid callback specified") 120 errCodeToError = map[ErrCode]error{ 121 0: nil, 122 errAPIError: ErrAPIError, 123 errNoNode: ErrNoNode, 124 errNoAuth: ErrNoAuth, 125 errBadVersion: ErrBadVersion, 126 errNoChildrenForEphemerals: ErrNoChildrenForEphemerals, 127 errNodeExists: ErrNodeExists, 128 errNotEmpty: ErrNotEmpty, 129 errSessionExpired: ErrSessionExpired, 130 // errInvalidCallback: ErrInvalidCallback, 131 errInvalidAcl: ErrInvalidACL, 132 errAuthFailed: ErrAuthFailed, 133 errClosing: ErrClosing, 134 errNothing: ErrNothing, 135 errSessionMoved: ErrSessionMoved, 136 } 137 ) 138 139 func (e ErrCode) toError() error { 140 if err, ok := errCodeToError[e]; ok { 141 return err 142 } 143 return ErrUnknown 144 } 145 146 const ( 147 errOk = 0 148 // System and server-side errors 149 errSystemError = -1 150 errRuntimeInconsistency = -2 151 errDataInconsistency = -3 152 errConnectionLoss = -4 153 errMarshallingError = -5 154 errUnimplemented = -6 155 errOperationTimeout = -7 156 errBadArguments = -8 157 errInvalidState = -9 158 // API errors 159 errAPIError = ErrCode(-100) 160 errNoNode = ErrCode(-101) // * 161 errNoAuth = ErrCode(-102) 162 errBadVersion = ErrCode(-103) // * 163 errNoChildrenForEphemerals = ErrCode(-108) 164 errNodeExists = ErrCode(-110) // * 165 errNotEmpty = ErrCode(-111) 166 errSessionExpired = ErrCode(-112) 167 errInvalidCallback = ErrCode(-113) 168 errInvalidAcl = ErrCode(-114) 169 errAuthFailed = ErrCode(-115) 170 errClosing = ErrCode(-116) 171 errNothing = ErrCode(-117) 172 errSessionMoved = ErrCode(-118) 173 ) 174 175 // Constants for ACL permissions 176 const ( 177 PermRead = 1 << iota 178 PermWrite 179 PermCreate 180 PermDelete 181 PermAdmin 182 PermAll = 0x1f 183 ) 184 185 var ( 186 emptyPassword = []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 187 opNames = map[int32]string{ 188 opNotify: "notify", 189 opCreate: "create", 190 opDelete: "delete", 191 opExists: "exists", 192 opGetData: "getData", 193 opSetData: "setData", 194 opGetAcl: "getACL", 195 opSetAcl: "setACL", 196 opGetChildren: "getChildren", 197 opSync: "sync", 198 opPing: "ping", 199 opGetChildren2: "getChildren2", 200 opCheck: "check", 201 opMulti: "multi", 202 opClose: "close", 203 opSetAuth: "setAuth", 204 opSetWatches: "setWatches", 205 206 opWatcherEvent: "watcherEvent", 207 } 208 ) 209 210 type EventType int32 211 212 func (t EventType) String() string { 213 if name := eventNames[t]; name != "" { 214 return name 215 } 216 return "Unknown" 217 }