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  }