PoolCommands.go
package datasource
import (
"reflect"
)
type PoolCommands struct{}
// Base commands
const (
IS_RUNNING = "is_running"
)
// Tracker commands
const (
ADD_PEER_REQUEST = "add_peer"
PEER_REQUESTS = "peer"
DRAIN_PEER_REQUESTS = "drain_peer"
)
// Policy commands
const (
SET_POLICY = "set_policy"
GET_POLICY = "get_policy"
)
// Chunk commands
const (
ADD_TX_INDEX = "add_tx"
EXISTS_TX = "exists_tx"
INFO_TXS = "info_txs"
REMOVE_TXS = "remove_txs"
FLUSH_TXS = "flush_txs"
ADD_CHUNK_INDEX = "add_chunk"
COUNT_CHUNKS = "count_chunk"
REMOVE_CHUNKS = "remove_chunk"
ADD_HYPOTHESIS_INDEX = "add_hy"
COUNT_HYPOTHESES = "count_hy"
REMOVE_HYPOTHESES = "remove_hy"
ADD_RECEIPT_INDEX = "add_rcp"
COUNT_RECEIPTS = "count_rcp"
REMOVE_RECEIPTS = "remove_rcp"
)
// Status commands
const (
UNIVERSAL_INDEXES = "uidx"
ADD_UNIVERSAL_INDEXES = "add_uidx"
SEARCH_UNIVERSAL_INDEXES = "search_uidx"
COUNT_UNIVERSAL_INDEXES = "count_uidx"
LOCAL_INDEXES = "lidx"
ADD_LOCAL_INDEXES = "add_lidx"
SEARCH_LOCAL_INDEXES = "search_lidx"
COUNT_LOCAL_INDEXES = "count_lidx"
)
// Test command
const (
TEST = "test"
)
var refMap = map[string][]byte{}
func LoadPoolCommands() {
rType := reflect.TypeOf(PoolCommands{})
for i := 0; i < rType.NumField(); i++ {
field := rType.Field(i)
if field.Type.Kind() == reflect.String {
refMap[field.Tag.Get("const")] = []byte{byte(i)}
}
}
}
func Ref(command string) []byte {
if ref, ok := refMap[command]; ok {
return ref
}
return []byte{'Z'}
}PoolCommands ๊ตฌ์กฐ์ฒด์ ๋ช
๋ น ์์
๋ช
๋ น ์ฐธ์กฐ ๋งคํ
์์ ์ฌ์ฉ
์์ฝ
Last updated