SYMBOL INDEX (1519 symbols across 184 files) FILE: auth.go method authCommandHandler (line 26) | func (db *Olric) authCommandHandler(conn redcon.Conn, cmd redcon.Command) { FILE: auth_test.go function TestAuthCommandHandler_WithPassword (line 26) | func TestAuthCommandHandler_WithPassword(t *testing.T) { function TestAuthCommandHandler_Auth_Disabled (line 59) | func TestAuthCommandHandler_Auth_Disabled(t *testing.T) { FILE: client.go constant DefaultScanCount (line 26) | DefaultScanCount = 10 type Member (line 29) | type Member struct type Iterator (line 45) | type Iterator interface type LockContext (line 58) | type LockContext interface type PutOption (line 69) | type PutOption function EX (line 72) | func EX(ex time.Duration) PutOption { function PX (line 80) | func PX(px time.Duration) PutOption { function EXAT (line 88) | func EXAT(exat time.Duration) PutOption { function PXAT (line 96) | func PXAT(pxat time.Duration) PutOption { function NX (line 104) | func NX() PutOption { function XX (line 111) | func XX() PutOption { type dmapConfig (line 117) | type dmapConfig struct type DMapOption (line 122) | type DMapOption function StorageEntryImplementation (line 125) | func StorageEntryImplementation(e func() storage.Entry) DMapOption { type ScanOption (line 132) | type ScanOption function Count (line 138) | func Count(c int) ScanOption { function Match (line 146) | func Match(s string) ScanOption { type DMap (line 154) | type DMap interface type PipelineOption (line 246) | type PipelineOption function PipelineConcurrency (line 249) | func PipelineConcurrency(concurrency int) PipelineOption { type statsConfig (line 255) | type statsConfig struct type StatsOption (line 260) | type StatsOption function CollectRuntime (line 263) | func CollectRuntime() StatsOption { type pubsubConfig (line 269) | type pubsubConfig struct function ToAddress (line 274) | func ToAddress(addr string) PubSubOption { type PubSubOption (line 281) | type PubSubOption type Client (line 284) | type Client interface FILE: cluster.go type Route (line 26) | type Route struct type RoutingTable (line 31) | type RoutingTable function mapToRoutingTable (line 33) | func mapToRoutingTable(slice []interface{}) (RoutingTable, error) { method clusterRoutingTableCommandHandler (line 81) | func (db *Olric) clusterRoutingTableCommandHandler(conn redcon.Conn, cmd... method fillRoutingTable (line 127) | func (db *Olric) fillRoutingTable() RoutingTable { method routingTable (line 144) | func (db *Olric) routingTable(ctx context.Context) (RoutingTable, error) { method clusterMembersCommandHandler (line 163) | func (db *Olric) clusterMembersCommandHandler(conn redcon.Conn, cmd redc... FILE: cluster_client.go constant DefaultRoutingTableFetchInterval (line 49) | DefaultRoutingTableFetchInterval = time.Minute type ClusterLockContext (line 51) | type ClusterLockContext struct method Unlock (line 404) | func (c *ClusterLockContext) Unlock(ctx context.Context) error { method Lease (line 418) | func (c *ClusterLockContext) Lease(ctx context.Context, duration time.... type ClusterDMap (line 58) | type ClusterDMap struct method Name (line 67) | func (dm *ClusterDMap) Name() string { method writePutCommand (line 87) | func (dm *ClusterDMap) writePutCommand(c *dmap.PutConfig, key string, ... method Put (line 139) | func (dm *ClusterDMap) Put(ctx context.Context, key string, value inte... method makeGetResponse (line 168) | func (dm *ClusterDMap) makeGetResponse(cmd *redis.StringCmd) (*GetResp... method Get (line 184) | func (dm *ClusterDMap) Get(ctx context.Context, key string) (*GetRespo... method Delete (line 199) | func (dm *ClusterDMap) Delete(ctx context.Context, keys ...string) (in... method Incr (line 220) | func (dm *ClusterDMap) Incr(ctx context.Context, key string, delta int... method Decr (line 240) | func (dm *ClusterDMap) Decr(ctx context.Context, key string, delta int... method GetPut (line 260) | func (dm *ClusterDMap) GetPut(ctx context.Context, key string, value i... method IncrByFloat (line 300) | func (dm *ClusterDMap) IncrByFloat(ctx context.Context, key string, de... method Expire (line 320) | func (dm *ClusterDMap) Expire(ctx context.Context, key string, timeout... method Lock (line 342) | func (dm *ClusterDMap) Lock(ctx context.Context, key string, deadline ... method LockWithTimeout (line 374) | func (dm *ClusterDMap) LockWithTimeout(ctx context.Context, key string... method Close (line 399) | func (dm *ClusterDMap) Close(_ context.Context) error { method Scan (line 437) | func (dm *ClusterDMap) Scan(ctx context.Context, options ...ScanOption... method Destroy (line 476) | func (dm *ClusterDMap) Destroy(ctx context.Context) error { function processProtocolError (line 72) | func processProtocolError(err error) error { type ClusterClient (line 492) | type ClusterClient struct method clientByPartID (line 110) | func (cl *ClusterClient) clientByPartID(partID uint64) (*redis.Client,... method smartPick (line 130) | func (cl *ClusterClient) smartPick(dmap, key string) (*redis.Client, e... method Ping (line 506) | func (cl *ClusterClient) Ping(ctx context.Context, addr, message strin... method RoutingTable (line 527) | func (cl *ClusterClient) RoutingTable(ctx context.Context) (RoutingTab... method Stats (line 552) | func (cl *ClusterClient) Stats(ctx context.Context, address string, op... method Members (line 587) | func (cl *ClusterClient) Members(ctx context.Context) ([]Member, error) { method RefreshMetadata (line 628) | func (cl *ClusterClient) RefreshMetadata(ctx context.Context) error { method Close (line 663) | func (cl *ClusterClient) Close(ctx context.Context) error { method NewPubSub (line 681) | func (cl *ClusterClient) NewPubSub(options ...PubSubOption) (*PubSub, ... method NewDMap (line 686) | func (cl *ClusterClient) NewDMap(name string, options ...DMapOption) (... method fetchRoutingTable (line 757) | func (cl *ClusterClient) fetchRoutingTable() error { method fetchRoutingTablePeriodically (line 777) | func (cl *ClusterClient) fetchRoutingTablePeriodically() { type ClusterClientOption (line 707) | type ClusterClientOption type clusterClientConfig (line 710) | type clusterClientConfig struct function WithHasher (line 719) | func WithHasher(h hasher.Hasher) ClusterClientOption { function WithLogger (line 726) | func WithLogger(l *log.Logger) ClusterClientOption { function WithConfig (line 733) | func WithConfig(c *config.Client) ClusterClientOption { function WithPassword (line 740) | func WithPassword(password string) ClusterClientOption { function WithRoutingTableFetchInterval (line 749) | func WithRoutingTableFetchInterval(interval time.Duration) ClusterClient... function NewClusterClient (line 797) | func NewClusterClient(addresses []string, options ...ClusterClientOption... FILE: cluster_client_test.go function TestClusterClient_Ping (line 32) | func TestClusterClient_Ping(t *testing.T) { function TestClusterClient_Ping_WithMessage (line 49) | func TestClusterClient_Ping_WithMessage(t *testing.T) { function TestClusterClient_RoutingTable (line 67) | func TestClusterClient_RoutingTable(t *testing.T) { function TestClusterClient_RoutingTable_Cluster (line 84) | func TestClusterClient_RoutingTable_Cluster(t *testing.T) { function TestClusterClient_Put (line 104) | func TestClusterClient_Put(t *testing.T) { function TestClusterClient_Get (line 122) | func TestClusterClient_Get(t *testing.T) { function TestClusterClient_Delete (line 148) | func TestClusterClient_Delete(t *testing.T) { function TestClusterClient_Delete_Many_Keys (line 173) | func TestClusterClient_Delete_Many_Keys(t *testing.T) { function TestClusterClient_Destroy (line 200) | func TestClusterClient_Destroy(t *testing.T) { function TestClusterClient_Incr (line 224) | func TestClusterClient_Incr(t *testing.T) { function TestClusterClient_IncrByFloat (line 253) | func TestClusterClient_IncrByFloat(t *testing.T) { function TestClusterClient_Decr (line 282) | func TestClusterClient_Decr(t *testing.T) { function TestClusterClient_GetPut (line 314) | func TestClusterClient_GetPut(t *testing.T) { function TestClusterClient_Expire (line 340) | func TestClusterClient_Expire(t *testing.T) { function TestClusterClient_Lock_Unlock (line 366) | func TestClusterClient_Lock_Unlock(t *testing.T) { function TestClusterClient_Lock_Lease (line 387) | func TestClusterClient_Lock_Lease(t *testing.T) { function TestClusterClient_Lock_ErrLockNotAcquired (line 413) | func TestClusterClient_Lock_ErrLockNotAcquired(t *testing.T) { function TestClusterClient_LockWithTimeout (line 434) | func TestClusterClient_LockWithTimeout(t *testing.T) { function TestClusterClient_LockWithTimeout_ErrNoSuchLock (line 455) | func TestClusterClient_LockWithTimeout_ErrNoSuchLock(t *testing.T) { function TestClusterClient_LockWithTimeout_Then_Lease (line 478) | func TestClusterClient_LockWithTimeout_Then_Lease(t *testing.T) { function TestClusterClient_LockWithTimeout_ErrLockNotAcquired (line 505) | func TestClusterClient_LockWithTimeout_ErrLockNotAcquired(t *testing.T) { function TestClusterClient_Put_Ex (line 526) | func TestClusterClient_Put_Ex(t *testing.T) { function TestClusterClient_Put_PX (line 549) | func TestClusterClient_Put_PX(t *testing.T) { function TestClusterClient_Put_EXAT (line 572) | func TestClusterClient_Put_EXAT(t *testing.T) { function TestClusterClient_Put_PXAT (line 595) | func TestClusterClient_Put_PXAT(t *testing.T) { function TestClusterClient_Put_NX (line 618) | func TestClusterClient_Put_NX(t *testing.T) { function TestClusterClient_Put_XX (line 646) | func TestClusterClient_Put_XX(t *testing.T) { function TestClusterClient_Stats (line 664) | func TestClusterClient_Stats(t *testing.T) { function TestClusterClient_Stats_Cluster (line 682) | func TestClusterClient_Stats_Cluster(t *testing.T) { function TestClusterClient_Stats_CollectRuntime (line 704) | func TestClusterClient_Stats_CollectRuntime(t *testing.T) { function TestClusterClient_Set_Options (line 722) | func TestClusterClient_Set_Options(t *testing.T) { function TestClusterClient_Members (line 740) | func TestClusterClient_Members(t *testing.T) { function TestClusterClient_smartPick (line 769) | func TestClusterClient_smartPick(t *testing.T) { FILE: cluster_iterator.go type currentCursor (line 27) | type currentCursor struct type ClusterIterator (line 33) | type ClusterIterator struct method loadRoute (line 55) | func (i *ClusterIterator) loadRoute() { method updateCursor (line 66) | func (i *ClusterIterator) updateCursor(owner string, cursor uint64) { method loadCursor (line 90) | func (i *ClusterIterator) loadCursor(owner string) uint64 { method updateIterator (line 104) | func (i *ClusterIterator) updateIterator(keys []string, cursor uint64,... method getOwners (line 114) | func (i *ClusterIterator) getOwners() []string { method removeScannedOwner (line 129) | func (i *ClusterIterator) removeScannedOwner(idx int) { method scanOnOwners (line 141) | func (i *ClusterIterator) scanOnOwners() error { method resetPage (line 179) | func (i *ClusterIterator) resetPage() { method fetchData (line 186) | func (i *ClusterIterator) fetchData() error { method reset (line 196) | func (i *ClusterIterator) reset() { method next (line 202) | func (i *ClusterIterator) next() bool { method Next (line 242) | func (i *ClusterIterator) Next() bool { method Key (line 256) | func (i *ClusterIterator) Key() string { method fetchRoutingTablePeriodically (line 267) | func (i *ClusterIterator) fetchRoutingTablePeriodically() { method fetchRoutingTable (line 282) | func (i *ClusterIterator) fetchRoutingTable() error { method Close (line 298) | func (i *ClusterIterator) Close() { FILE: cluster_iterator_test.go function TestClusterClient_ScanMatch (line 26) | func TestClusterClient_ScanMatch(t *testing.T) { function TestClusterClient_Scan (line 64) | func TestClusterClient_Scan(t *testing.T) { FILE: cluster_test.go function TestOlric_ClusterRoutingTable_clusterRoutingTableCommandHandler (line 25) | func TestOlric_ClusterRoutingTable_clusterRoutingTableCommandHandler(t *... function TestOlric_RoutingTable_Standalone (line 46) | func TestOlric_RoutingTable_Standalone(t *testing.T) { FILE: cmd/olric-server/main.go function usage (line 33) | func usage() { type arguments (line 53) | type arguments struct constant DefaultConfigFile (line 61) | DefaultConfigFile = "olric-server-local.yaml" constant EnvConfigFile (line 64) | EnvConfigFile = "OLRIC_SERVER_CONFIG" function main (line 67) | func main() { FILE: cmd/olric-server/server/server.go type OlricServer (line 33) | type OlricServer struct method waitForInterrupt (line 54) | func (s *OlricServer) waitForInterrupt() { method Start (line 89) | func (s *OlricServer) Start() error { method Shutdown (line 102) | func (s *OlricServer) Shutdown(ctx context.Context) error { function New (line 41) | func New(c *config.Config) (*OlricServer, error) { FILE: config/authentication.go type Authentication (line 19) | type Authentication struct method Sanitize (line 24) | func (a *Authentication) Sanitize() error { method Validate (line 30) | func (a *Authentication) Validate() error { method Enabled (line 36) | func (a *Authentication) Enabled() bool { FILE: config/client.go constant DefaultDialTimeout (line 29) | DefaultDialTimeout = 5 * time.Second constant DefaultKeepalive (line 30) | DefaultKeepalive = 5 * time.Minute constant DefaultReadTimeout (line 31) | DefaultReadTimeout = 3 * time.Second constant DefaultIdleTimeout (line 32) | DefaultIdleTimeout = 5 * time.Minute constant DefaultMinRetryBackoff (line 33) | DefaultMinRetryBackoff = 8 * time.Millisecond constant DefaultMaxRetryBackoff (line 34) | DefaultMaxRetryBackoff = 512 * time.Millisecond constant DefaultMaxRetries (line 35) | DefaultMaxRetries = 3 type Client (line 39) | type Client struct method Sanitize (line 122) | func (c *Client) Sanitize() error { method Validate (line 186) | func (c *Client) Validate() error { method RedisOptions (line 193) | func (c *Client) RedisOptions() *redis.Options { function NewClient (line 110) | func NewClient() *Client { FILE: config/config.go type IConfig (line 33) | type IConfig interface constant SyncReplicationMode (line 45) | SyncReplicationMode = 0 constant AsyncReplicationMode (line 49) | AsyncReplicationMode = 1 constant LogLevelDebug (line 53) | LogLevelDebug = "DEBUG" constant LogLevelWarn (line 54) | LogLevelWarn = "WARN" constant LogLevelError (line 55) | LogLevelError = "ERROR" constant LogLevelInfo (line 56) | LogLevelInfo = "INFO" constant DefaultPort (line 61) | DefaultPort = 3320 constant DefaultDiscoveryPort (line 64) | DefaultDiscoveryPort = 3322 constant DefaultPartitionCount (line 67) | DefaultPartitionCount = 271 constant DefaultLoadFactor (line 70) | DefaultLoadFactor = 1.25 constant DefaultLogLevel (line 74) | DefaultLogLevel = LogLevelDebug constant DefaultLogVerbosity (line 102) | DefaultLogVerbosity = 3 constant MinimumReplicaCount (line 106) | MinimumReplicaCount = 1 constant DefaultBootstrapTimeout (line 110) | DefaultBootstrapTimeout = 10 * time.Second constant DefaultJoinRetryInterval (line 113) | DefaultJoinRetryInterval = time.Second constant DefaultMaxJoinAttempts (line 117) | DefaultMaxJoinAttempts = 10 constant MinimumMemberCountQuorum (line 121) | MinimumMemberCountQuorum = 1 constant DefaultLRUSamples (line 125) | DefaultLRUSamples int = 5 constant LRUEviction (line 129) | LRUEviction EvictionPolicy = "LRU" constant DefaultStorageEngine (line 133) | DefaultStorageEngine = "ramblock" constant DefaultRoutingTablePushInterval (line 136) | DefaultRoutingTablePushInterval = time.Minute constant DefaultTriggerBalancerInterval (line 139) | DefaultTriggerBalancerInterval = 15 * time.Second constant DefaultCheckEmptyFragmentsInterval (line 143) | DefaultCheckEmptyFragmentsInterval = time.Minute constant DefaultTriggerCompactionInterval (line 148) | DefaultTriggerCompactionInterval = 10 * time.Minute constant DefaultLeaveTimeout (line 151) | DefaultLeaveTimeout = 5 * time.Second constant DefaultReadQuorum (line 153) | DefaultReadQuorum = 1 constant DefaultWriteQuorum (line 154) | DefaultWriteQuorum = 1 constant DefaultMemberCountQuorum (line 155) | DefaultMemberCountQuorum = 1 constant DefaultKeepAlivePeriod (line 163) | DefaultKeepAlivePeriod = 300 * time.Second type Config (line 167) | type Config struct method Validate (line 326) | func (c *Config) Validate() error { method Sanitize (line 392) | func (c *Config) Sanitize() error { function New (line 533) | func New(env string) *Config { FILE: config/config_test.go function createTmpFile (line 117) | func createTmpFile(t *testing.T, pattern string) *os.File { function TestConfig (line 135) | func TestConfig(t *testing.T) { function TestConfig_Initialize (line 240) | func TestConfig_Initialize(t *testing.T) { FILE: config/dmap.go type EvictionPolicy (line 23) | type EvictionPolicy type DMap (line 31) | type DMap struct method Sanitize (line 70) | func (dm *DMap) Sanitize() error { method Validate (line 96) | func (dm *DMap) Validate() error { FILE: config/dmap_test.go function TestConfig_DMap (line 23) | func TestConfig_DMap(t *testing.T) { FILE: config/dmaps.go type DMaps (line 26) | type DMaps struct method Sanitize (line 82) | func (dm *DMaps) Sanitize() error { method Validate (line 132) | func (dm *DMaps) Validate() error { FILE: config/engine.go type Engine (line 27) | type Engine struct method Validate (line 48) | func (s *Engine) Validate() error { method Sanitize (line 56) | func (s *Engine) Sanitize() error { function NewEngine (line 41) | func NewEngine() *Engine { FILE: config/engine_test.go function TestEngine_KVStore_Backward_Compat (line 23) | func TestEngine_KVStore_Backward_Compat(t *testing.T) { function TestEngine_Dont_Overwrite_TableSize (line 33) | func TestEngine_Dont_Overwrite_TableSize(t *testing.T) { FILE: config/internal/loader/loader.go type server (line 19) | type server struct type authentication (line 41) | type authentication struct type client (line 45) | type client struct type logging (line 61) | type logging struct type memberlist (line 67) | type memberlist struct type engine (line 98) | type engine struct type dmap (line 103) | type dmap struct type dmaps (line 113) | type dmaps struct type serviceDiscovery (line 127) | type serviceDiscovery type Loader (line 130) | type Loader struct function New (line 141) | func New(data []byte) (*Loader, error) { FILE: config/load.go function mapYamlToConfig (line 33) | func mapYamlToConfig(rawDst, rawSrc interface{}) error { function loadDMapConfig (line 62) | func loadDMapConfig(c *loader.Loader) (*DMaps, error) { function loadMemberlistConfig (line 145) | func loadMemberlistConfig(c *loader.Loader, mc *memberlist.Config) (*mem... function Load (line 259) | func Load(filename string) (*Config, error) { FILE: config/memberlist.go method validateMemberlistConfig (line 26) | func (c *Config) validateMemberlistConfig() error { function NewMemberlistConfig (line 60) | func NewMemberlistConfig(env string) (*memberlist.Config, error) { FILE: config/network.go function addrParts (line 31) | func addrParts(address string) (string, int, error) { function getBindIPFromNetworkInterface (line 41) | func getBindIPFromNetworkInterface(addrs []net.Addr) (string, error) { function getBindIP (line 68) | func getBindIP(ifname, address string) (string, error) { method SetupNetworkConfig (line 134) | func (c *Config) SetupNetworkConfig() (err error) { FILE: config/network_test.go function TestConfig_SetupNetworkConfig (line 23) | func TestConfig_SetupNetworkConfig(t *testing.T) { function TestConfig_SetupNetworkConfig_Memberlist_AdvertiseAddr (line 31) | func TestConfig_SetupNetworkConfig_Memberlist_AdvertiseAddr(t *testing.T) { FILE: embedded_client.go type EmbeddedLockContext (line 32) | type EmbeddedLockContext struct method Unlock (line 39) | func (l *EmbeddedLockContext) Unlock(ctx context.Context) error { method Lease (line 45) | func (l *EmbeddedLockContext) Lease(ctx context.Context, duration time... type EmbeddedClient (line 51) | type EmbeddedClient struct method RefreshMetadata (line 122) | func (e *EmbeddedClient) RefreshMetadata(_ context.Context) error { method NewDMap (line 295) | func (e *EmbeddedClient) NewDMap(name string, options ...DMapOption) (... method Stats (line 316) | func (e *EmbeddedClient) Stats(ctx context.Context, address string, op... method Close (line 357) | func (e *EmbeddedClient) Close(_ context.Context) error { method Ping (line 364) | func (e *EmbeddedClient) Ping(ctx context.Context, addr, message strin... method RoutingTable (line 373) | func (e *EmbeddedClient) RoutingTable(ctx context.Context) (RoutingTab... method Members (line 378) | func (e *EmbeddedClient) Members(_ context.Context) ([]Member, error) { method NewPubSub (line 397) | func (e *EmbeddedClient) NewPubSub(options ...PubSubOption) (*PubSub, ... type EmbeddedDMap (line 56) | type EmbeddedDMap struct method setOrGetClusterClient (line 66) | func (dm *EmbeddedDMap) setOrGetClusterClient() (Client, error) { method Pipeline (line 106) | func (dm *EmbeddedDMap) Pipeline(opts ...PipelineOption) (*DMapPipelin... method Scan (line 133) | func (dm *EmbeddedDMap) Scan(ctx context.Context, options ...ScanOptio... method Lock (line 166) | func (dm *EmbeddedDMap) Lock(ctx context.Context, key string, deadline... method LockWithTimeout (line 188) | func (dm *EmbeddedDMap) LockWithTimeout(ctx context.Context, key strin... method Destroy (line 203) | func (dm *EmbeddedDMap) Destroy(ctx context.Context) error { method Expire (line 209) | func (dm *EmbeddedDMap) Expire(ctx context.Context, key string, timeou... method Name (line 214) | func (dm *EmbeddedDMap) Name() string { method GetPut (line 220) | func (dm *EmbeddedDMap) GetPut(ctx context.Context, key string, value ... method Decr (line 232) | func (dm *EmbeddedDMap) Decr(ctx context.Context, key string, delta in... method Incr (line 238) | func (dm *EmbeddedDMap) Incr(ctx context.Context, key string, delta in... method IncrByFloat (line 243) | func (dm *EmbeddedDMap) IncrByFloat(ctx context.Context, key string, d... method Delete (line 250) | func (dm *EmbeddedDMap) Delete(ctx context.Context, keys ...string) (i... method Get (line 257) | func (dm *EmbeddedDMap) Get(ctx context.Context, key string) (*GetResp... method Put (line 271) | func (dm *EmbeddedDMap) Put(ctx context.Context, key string, value int... method Close (line 284) | func (dm *EmbeddedDMap) Close(ctx context.Context) error { method NewEmbeddedClient (line 402) | func (db *Olric) NewEmbeddedClient() *EmbeddedClient { FILE: embedded_client_test.go function TestEmbeddedClient_NewDMap (line 30) | func TestEmbeddedClient_NewDMap(t *testing.T) { function TestEmbeddedClient_DMap_Put (line 39) | func TestEmbeddedClient_DMap_Put(t *testing.T) { function TestEmbeddedClient_DMap_Put_EX (line 51) | func TestEmbeddedClient_DMap_Put_EX(t *testing.T) { function TestEmbeddedClient_DMap_Put_PX (line 69) | func TestEmbeddedClient_DMap_Put_PX(t *testing.T) { function TestEmbeddedClient_DMap_Put_EXAT (line 87) | func TestEmbeddedClient_DMap_Put_EXAT(t *testing.T) { function TestEmbeddedClient_DMap_Put_PXAT (line 105) | func TestEmbeddedClient_DMap_Put_PXAT(t *testing.T) { function TestEmbeddedClient_DMap_Put_NX (line 123) | func TestEmbeddedClient_DMap_Put_NX(t *testing.T) { function TestEmbeddedClient_DMap_Put_XX (line 141) | func TestEmbeddedClient_DMap_Put_XX(t *testing.T) { function TestEmbeddedClient_DMap_Get (line 154) | func TestEmbeddedClient_DMap_Get(t *testing.T) { function TestEmbeddedClient_DMap_Delete (line 173) | func TestEmbeddedClient_DMap_Delete(t *testing.T) { function TestEmbeddedClient_DMap_Delete_Many_Keys (line 192) | func TestEmbeddedClient_DMap_Delete_Many_Keys(t *testing.T) { function TestEmbeddedClient_DMap_Atomic_Incr (line 213) | func TestEmbeddedClient_DMap_Atomic_Incr(t *testing.T) { function TestEmbeddedClient_DMap_Atomic_Decr (line 237) | func TestEmbeddedClient_DMap_Atomic_Decr(t *testing.T) { function TestEmbeddedClient_DMap_GetPut (line 264) | func TestEmbeddedClient_DMap_GetPut(t *testing.T) { function TestEmbeddedClient_DMap_Atomic_IncrByFloat (line 286) | func TestEmbeddedClient_DMap_Atomic_IncrByFloat(t *testing.T) { function TestEmbeddedClient_DMap_Expire (line 310) | func TestEmbeddedClient_DMap_Expire(t *testing.T) { function TestEmbeddedClient_DMap_Destroy (line 331) | func TestEmbeddedClient_DMap_Destroy(t *testing.T) { function TestEmbeddedClient_DMap_Lock (line 360) | func TestEmbeddedClient_DMap_Lock(t *testing.T) { function TestEmbeddedClient_DMap_Lock_ErrLockNotAcquired (line 378) | func TestEmbeddedClient_DMap_Lock_ErrLockNotAcquired(t *testing.T) { function TestEmbeddedClient_DMap_Lock_ErrNoSuchLock (line 396) | func TestEmbeddedClient_DMap_Lock_ErrNoSuchLock(t *testing.T) { function TestEmbeddedClient_DMap_LockWithTimeout (line 417) | func TestEmbeddedClient_DMap_LockWithTimeout(t *testing.T) { function TestEmbeddedClient_DMap_LockWithTimeout_Timeout (line 435) | func TestEmbeddedClient_DMap_LockWithTimeout_Timeout(t *testing.T) { function TestEmbeddedClient_DMap_LockWithTimeout_ErrLockNotAcquired (line 455) | func TestEmbeddedClient_DMap_LockWithTimeout_ErrLockNotAcquired(t *testi... function TestEmbeddedClient_DMap_LockWithTimeout_ErrNoSuchLock (line 473) | func TestEmbeddedClient_DMap_LockWithTimeout_ErrNoSuchLock(t *testing.T) { function TestEmbeddedClient_DMap_LockWithTimeout_ErrNoSuchLock_Timeout (line 494) | func TestEmbeddedClient_DMap_LockWithTimeout_ErrNoSuchLock_Timeout(t *te... function TestEmbeddedClient_DMap_LockWithTimeout_Then_Lease (line 514) | func TestEmbeddedClient_DMap_LockWithTimeout_Then_Lease(t *testing.T) { function TestEmbeddedClient_RoutingTable_Standalone (line 538) | func TestEmbeddedClient_RoutingTable_Standalone(t *testing.T) { function TestEmbeddedClient_RoutingTable_Cluster (line 553) | func TestEmbeddedClient_RoutingTable_Cluster(t *testing.T) { function TestEmbeddedClient_Member (line 575) | func TestEmbeddedClient_Member(t *testing.T) { function TestEmbeddedClient_Ping (line 597) | func TestEmbeddedClient_Ping(t *testing.T) { function TestEmbeddedClient_Ping_WithMessage (line 608) | func TestEmbeddedClient_Ping_WithMessage(t *testing.T) { function TestEmbeddedClient_DMap_Put_PX_With_NX (line 620) | func TestEmbeddedClient_DMap_Put_PX_With_NX(t *testing.T) { function TestEmbeddedClient_Issue263 (line 644) | func TestEmbeddedClient_Issue263(t *testing.T) { FILE: embedded_iterator.go type EmbeddedIterator (line 25) | type EmbeddedIterator struct method scanOnOwners (line 33) | func (e *EmbeddedIterator) scanOnOwners() error { method Next (line 85) | func (e *EmbeddedIterator) Next() bool { method Key (line 90) | func (e *EmbeddedIterator) Key() string { method Close (line 95) | func (e *EmbeddedIterator) Close() { FILE: embedded_iterator_test.go function TestEmbeddedClient_ScanMatch (line 26) | func TestEmbeddedClient_ScanMatch(t *testing.T) { function TestEmbeddedClient_Scan (line 61) | func TestEmbeddedClient_Scan(t *testing.T) { FILE: events/cluster_events.go constant ClusterEventsChannel (line 29) | ClusterEventsChannel = "cluster.events" constant KindNodeJoinEvent (line 30) | KindNodeJoinEvent = "node-join-event" constant KindNodeLeftEvent (line 31) | KindNodeLeftEvent = "node-left-event" constant KindFragmentMigrationEvent (line 32) | KindFragmentMigrationEvent = "fragment-migration-event" constant KindFragmentReceivedEvent (line 33) | KindFragmentReceivedEvent = "fragment-received-event" type Event (line 36) | type Event interface function encodeEvent (line 41) | func encodeEvent(data interface{}, fields []string, valueExtractor func(... type NodeJoinEvent (line 85) | type NodeJoinEvent struct method Encode (line 92) | func (n *NodeJoinEvent) Encode() (string, error) { type NodeLeftEvent (line 108) | type NodeLeftEvent struct method Encode (line 115) | func (n *NodeLeftEvent) Encode() (string, error) { type FragmentMigrationEvent (line 131) | type FragmentMigrationEvent struct method Encode (line 143) | func (f *FragmentMigrationEvent) Encode() (string, error) { type FragmentReceivedEvent (line 173) | type FragmentReceivedEvent struct method Encode (line 184) | func (f *FragmentReceivedEvent) Encode() (string, error) { FILE: events/cluster_events_test.go function TestClusterEvents_NodeJoinEvent (line 23) | func TestClusterEvents_NodeJoinEvent(t *testing.T) { function TestClusterEvents_NodeLeftEvent (line 37) | func TestClusterEvents_NodeLeftEvent(t *testing.T) { function TestClusterEvents_FragmentMigrationEvent (line 51) | func TestClusterEvents_FragmentMigrationEvent(t *testing.T) { function TestClusterEvents_FragmentReceivedEvent (line 69) | func TestClusterEvents_FragmentReceivedEvent(t *testing.T) { FILE: get_response.go type GetResponse (line 27) | type GetResponse struct method Scan (line 31) | func (g *GetResponse) Scan(v interface{}) error { method Int (line 38) | func (g *GetResponse) Int() (int, error) { method String (line 47) | func (g *GetResponse) String() (string, error) { method Int8 (line 56) | func (g *GetResponse) Int8() (int8, error) { method Int16 (line 65) | func (g *GetResponse) Int16() (int16, error) { method Int32 (line 74) | func (g *GetResponse) Int32() (int32, error) { method Int64 (line 83) | func (g *GetResponse) Int64() (int64, error) { method Uint (line 92) | func (g *GetResponse) Uint() (uint, error) { method Uint8 (line 101) | func (g *GetResponse) Uint8() (uint8, error) { method Uint16 (line 110) | func (g *GetResponse) Uint16() (uint16, error) { method Uint32 (line 119) | func (g *GetResponse) Uint32() (uint32, error) { method Uint64 (line 128) | func (g *GetResponse) Uint64() (uint64, error) { method Float32 (line 137) | func (g *GetResponse) Float32() (float32, error) { method Float64 (line 146) | func (g *GetResponse) Float64() (float64, error) { method Bool (line 155) | func (g *GetResponse) Bool() (bool, error) { method Time (line 164) | func (g *GetResponse) Time() (time.Time, error) { method Duration (line 173) | func (g *GetResponse) Duration() (time.Duration, error) { method Byte (line 182) | func (g *GetResponse) Byte() ([]byte, error) { method TTL (line 191) | func (g *GetResponse) TTL() int64 { method Timestamp (line 195) | func (g *GetResponse) Timestamp() int64 { FILE: get_response_test.go function TestDMap_Get_GetResponse (line 30) | func TestDMap_Get_GetResponse(t *testing.T) { type myType (line 373) | type myType struct method MarshalBinary (line 377) | func (mt *myType) MarshalBinary() ([]byte, error) { method UnmarshalBinary (line 381) | func (mt *myType) UnmarshalBinary(data []byte) error { FILE: hasher/hasher.go function NewDefaultHasher (line 21) | func NewDefaultHasher() Hasher { type xxhasher (line 25) | type xxhasher struct method Sum64 (line 27) | func (x xxhasher) Sum64(key []byte) uint64 { type Hasher (line 35) | type Hasher interface FILE: integration_test.go function TestIntegration_NodesJoinOrLeftDuringQuery (line 29) | func TestIntegration_NodesJoinOrLeftDuringQuery(t *testing.T) { function TestIntegration_DMap_Cache_Eviction_LRU_MaxKeys (line 105) | func TestIntegration_DMap_Cache_Eviction_LRU_MaxKeys(t *testing.T) { function TestIntegration_DMap_Cache_Eviction_MaxKeys (line 154) | func TestIntegration_DMap_Cache_Eviction_MaxKeys(t *testing.T) { function TestIntegration_DMap_Cache_Eviction_MaxIdleDuration (line 210) | func TestIntegration_DMap_Cache_Eviction_MaxIdleDuration(t *testing.T) { function TestIntegration_DMap_Cache_Eviction_TTLDuration (line 259) | func TestIntegration_DMap_Cache_Eviction_TTLDuration(t *testing.T) { function TestIntegration_DMap_Cache_Eviction_LRU_MaxInuse (line 308) | func TestIntegration_DMap_Cache_Eviction_LRU_MaxInuse(t *testing.T) { function TestIntegration_Kill_Nodes_During_Operation (line 358) | func TestIntegration_Kill_Nodes_During_Operation(t *testing.T) { function scanIntegrationTestCommon (line 433) | func scanIntegrationTestCommon(t *testing.T, embedded bool, keyFunc func... function TestIntegration_Network_Partitioning_Cluster_DM_SCAN (line 516) | func TestIntegration_Network_Partitioning_Cluster_DM_SCAN(t *testing.T) { function TestIntegration_Network_Partitioning_Cluster_DM_SCAN_Match (line 526) | func TestIntegration_Network_Partitioning_Cluster_DM_SCAN_Match(t *testi... function TestIntegration_Network_Partitioning_Embedded_DM_SCAN (line 541) | func TestIntegration_Network_Partitioning_Embedded_DM_SCAN(t *testing.T) { function TestIntegration_Network_Partitioning_Embedded_DM_SCAN_Match (line 551) | func TestIntegration_Network_Partitioning_Embedded_DM_SCAN_Match(t *test... FILE: internal/bufpool/bufpool.go type BufPool (line 23) | type BufPool struct method Put (line 39) | func (p *BufPool) Put(b *bytes.Buffer) { method Get (line 46) | func (p *BufPool) Get() *bytes.Buffer { function New (line 28) | func New() *BufPool { FILE: internal/bufpool/bufpool_test.go function TestBufPool (line 23) | func TestBufPool(t *testing.T) { FILE: internal/checkpoint/checkpoint.go function Add (line 24) | func Add() { function Pass (line 28) | func Pass() { function AllPassed (line 32) | func AllPassed() bool { FILE: internal/checkpoint/checkpoint_test.go function TestCheckpoint (line 24) | func TestCheckpoint(t *testing.T) { FILE: internal/cluster/balancer/balancer.go type Balancer (line 32) | type Balancer struct method isAlive (line 60) | func (b *Balancer) isAlive() bool { method scanPartition (line 70) | func (b *Balancer) scanPartition(sign uint64, part *partitions.Partiti... method primaryCopies (line 100) | func (b *Balancer) primaryCopies() { method breakLoop (line 128) | func (b *Balancer) breakLoop(sign uint64) bool { method backupCopies (line 142) | func (b *Balancer) backupCopies() { method triggerBalancer (line 187) | func (b *Balancer) triggerBalancer() { method BalanceEagerly (line 203) | func (b *Balancer) BalanceEagerly() { method balance (line 207) | func (b *Balancer) balance() { method Start (line 224) | func (b *Balancer) Start() error { method RegisterHandlers (line 230) | func (b *Balancer) RegisterHandlers() {} method Shutdown (line 232) | func (b *Balancer) Shutdown(ctx context.Context) error { function New (line 45) | func New(e *environment.Environment) *Balancer { FILE: internal/cluster/balancer/balancer_test.go function newTestEnvironment (line 39) | func newTestEnvironment(c *config.Config) *environment.Environment { function newBalancerForTest (line 53) | func newBalancerForTest(e *environment.Environment) *Balancer { type mockCluster (line 69) | type mockCluster struct method addNode (line 86) | func (mc *mockCluster) addNode(e *environment.Environment) *Balancer { method shutdown (line 142) | func (mc *mockCluster) shutdown() { function newMockCluster (line 77) | func newMockCluster(t *testing.T) *mockCluster { function TestBalance_Primary_Move (line 147) | func TestBalance_Primary_Move(t *testing.T) { function checkBackupOwnership (line 193) | func checkBackupOwnership(e *environment.Environment) error { function TestBalance_Empty_Backup_Move (line 211) | func TestBalance_Empty_Backup_Move(t *testing.T) { function TestBalance_Backup_Move (line 244) | func TestBalance_Backup_Move(t *testing.T) { FILE: internal/cluster/partitions/fragment.go type Fragment (line 22) | type Fragment interface FILE: internal/cluster/partitions/hkey.go function SetHashFunc (line 29) | func SetHashFunc(h hasher.Hasher) { function HKey (line 35) | func HKey(name, key string) uint64 { FILE: internal/cluster/partitions/hkey_test.go function TestPartitions_HKey (line 24) | func TestPartitions_HKey(t *testing.T) { FILE: internal/cluster/partitions/partition.go type Partition (line 25) | type Partition struct method Kind (line 34) | func (p *Partition) Kind() Kind { method ID (line 38) | func (p *Partition) ID() uint64 { method Map (line 42) | func (p *Partition) Map() *sync.Map { method Owner (line 47) | func (p *Partition) Owner() discovery.Member { method OwnerCount (line 60) | func (p *Partition) OwnerCount() int { method Owners (line 69) | func (p *Partition) Owners() []discovery.Member { method SetOwners (line 77) | func (p *Partition) SetOwners(owners []discovery.Member) { method Length (line 81) | func (p *Partition) Length() int { FILE: internal/cluster/partitions/partition_test.go type testFragment (line 26) | type testFragment struct method Stats (line 30) | func (tf *testFragment) Stats() storage.Stats { method Name (line 34) | func (tf *testFragment) Name() string { method Move (line 38) | func (tf *testFragment) Move(_ *Partition, _ string, _ []discovery.Mem... method Close (line 42) | func (tf *testFragment) Close() error { method Destroy (line 46) | func (tf *testFragment) Destroy() error { method Compaction (line 50) | func (tf *testFragment) Compaction() (bool, error) { function TestPartition (line 54) | func TestPartition(t *testing.T) { FILE: internal/cluster/partitions/partitions.go type Kind (line 23) | type Kind method String (line 25) | func (k Kind) String() string { constant PRIMARY (line 37) | PRIMARY = Kind(iota + 1) constant BACKUP (line 38) | BACKUP type Partitions (line 41) | type Partitions struct method PartitionByID (line 64) | func (ps *Partitions) PartitionByID(partID uint64) *Partition { method PartitionIDByHKey (line 69) | func (ps *Partitions) PartitionIDByHKey(hkey uint64) uint64 { method PartitionByHKey (line 74) | func (ps *Partitions) PartitionByHKey(hkey uint64) *Partition { method PartitionOwnersByHKey (line 80) | func (ps *Partitions) PartitionOwnersByHKey(hkey uint64) []discovery.M... method PartitionOwnersByID (line 86) | func (ps *Partitions) PartitionOwnersByID(partID uint64) []discovery.M... function New (line 47) | func New(count uint64, kind Kind) *Partitions { FILE: internal/cluster/partitions/partitions_test.go function TestPartitions (line 24) | func TestPartitions(t *testing.T) { FILE: internal/cluster/routingtable/callback.go method AddCallback (line 17) | func (r *RoutingTable) AddCallback(f func()) { method runCallbacks (line 24) | func (r *RoutingTable) runCallbacks() { FILE: internal/cluster/routingtable/callback_test.go function TestRoutingTable_Callback (line 25) | func TestRoutingTable_Callback(t *testing.T) { FILE: internal/cluster/routingtable/discovery.go method bootstrapCoordinator (line 32) | func (r *RoutingTable) bootstrapCoordinator() error { method attemptToJoin (line 47) | func (r *RoutingTable) attemptToJoin() error { method tryWithInterval (line 77) | func (r *RoutingTable) tryWithInterval(ctx context.Context, interval tim... FILE: internal/cluster/routingtable/discovery_test.go function TestRoutingTable_tryWithInterval (line 26) | func TestRoutingTable_tryWithInterval(t *testing.T) { function TestRoutingTable_attemptToJoin (line 43) | func TestRoutingTable_attemptToJoin(t *testing.T) { FILE: internal/cluster/routingtable/distribute.go method distributePrimaryCopies (line 25) | func (r *RoutingTable) distributePrimaryCopies(partID uint64) []discover... method getReplicaOwners (line 99) | func (r *RoutingTable) getReplicaOwners(partID uint64) ([]consistent.Mem... function isOwner (line 114) | func isOwner(member discovery.Member, owners []consistent.Member) bool { method distributeBackups (line 123) | func (r *RoutingTable) distributeBackups(partID uint64) []discovery.Memb... FILE: internal/cluster/routingtable/distribute_test.go function TestRoutingTable_distributedBackups (line 26) | func TestRoutingTable_distributedBackups(t *testing.T) { FILE: internal/cluster/routingtable/events.go method publishNodeJoinEvent (line 24) | func (r *RoutingTable) publishNodeJoinEvent(m *discovery.Member) { method publishNodeLeftEvent (line 45) | func (r *RoutingTable) publishNodeLeftEvent(m *discovery.Member) { FILE: internal/cluster/routingtable/events_test.go function TestRoutingTable_publishNodeJoinEvent (line 31) | func TestRoutingTable_publishNodeJoinEvent(t *testing.T) { function TestRoutingTable_publishNodeLeftEvent (line 64) | func TestRoutingTable_publishNodeLeftEvent(t *testing.T) { FILE: internal/cluster/routingtable/handlers.go method RegisterHandlers (line 21) | func (r *RoutingTable) RegisterHandlers() { FILE: internal/cluster/routingtable/left_over_data.go method processLeftOverDataReports (line 22) | func (r *RoutingTable) processLeftOverDataReports(reports map[discovery.... FILE: internal/cluster/routingtable/left_over_data_test.go function TestRoutingTable_LeftOverData (line 27) | func TestRoutingTable_LeftOverData(t *testing.T) { FILE: internal/cluster/routingtable/members.go type Members (line 24) | type Members struct method Add (line 35) | func (m *Members) Add(member discovery.Member) { method Get (line 39) | func (m *Members) Get(id uint64) (discovery.Member, error) { method Delete (line 47) | func (m *Members) Delete(id uint64) { method DeleteByName (line 51) | func (m *Members) DeleteByName(other discovery.Member) { method Length (line 59) | func (m *Members) Length() int { method Range (line 63) | func (m *Members) Range(f func(id uint64, member discovery.Member) boo... function newMembers (line 29) | func newMembers() *Members { FILE: internal/cluster/routingtable/members_test.go function TestMembers_Get (line 24) | func TestMembers_Get(t *testing.T) { function TestMembers_Delete (line 40) | func TestMembers_Delete(t *testing.T) { function TestMembers_DeleteByName (line 54) | func TestMembers_DeleteByName(t *testing.T) { function TestMembers_Length (line 68) | func TestMembers_Length(t *testing.T) { function TestMembers_Range (line 80) | func TestMembers_Range(t *testing.T) { FILE: internal/cluster/routingtable/operations.go method lengthOfPartCommandHandler (line 27) | func (r *RoutingTable) lengthOfPartCommandHandler(conn redcon.Conn, cmd ... method verifyRoutingTable (line 47) | func (r *RoutingTable) verifyRoutingTable(id uint64, table map[uint64]*r... method updateRoutingCommandHandler (line 66) | func (r *RoutingTable) updateRoutingCommandHandler(conn redcon.Conn, cmd... FILE: internal/cluster/routingtable/routingtable.go type route (line 41) | type route struct type RoutingTable (line 46) | type RoutingTable struct method Discovery (line 122) | func (r *RoutingTable) Discovery() *discovery.Discovery { method This (line 126) | func (r *RoutingTable) This() discovery.Member { method setNumMembers (line 131) | func (r *RoutingTable) setNumMembers() { method SetNumMembersEagerly (line 138) | func (r *RoutingTable) SetNumMembersEagerly(nr int32) { method NumMembers (line 142) | func (r *RoutingTable) NumMembers() int32 { method Members (line 146) | func (r *RoutingTable) Members() *Members { method setSignature (line 150) | func (r *RoutingTable) setSignature(s uint64) { method Signature (line 154) | func (r *RoutingTable) Signature() uint64 { method setOwnedPartitionCount (line 158) | func (r *RoutingTable) setOwnedPartitionCount() { method OwnedPartitionCount (line 169) | func (r *RoutingTable) OwnedPartitionCount() uint64 { method CheckMemberCountQuorum (line 173) | func (r *RoutingTable) CheckMemberCountQuorum() error { method markBootstrapped (line 182) | func (r *RoutingTable) markBootstrapped() { method IsBootstrapped (line 187) | func (r *RoutingTable) IsBootstrapped() bool { method CheckBootstrap (line 194) | func (r *RoutingTable) CheckBootstrap() error { method fillRoutingTable (line 212) | func (r *RoutingTable) fillRoutingTable() { method UpdateEagerly (line 231) | func (r *RoutingTable) UpdateEagerly() { method updateRouting (line 235) | func (r *RoutingTable) updateRouting() { method processClusterEvent (line 262) | func (r *RoutingTable) processClusterEvent(event *discovery.ClusterEve... method listenClusterEvents (line 321) | func (r *RoutingTable) listenClusterEvents(eventCh chan *discovery.Clu... method pushPeriodically (line 334) | func (r *RoutingTable) pushPeriodically() { method Join (line 349) | func (r *RoutingTable) Join() error { method Start (line 378) | func (r *RoutingTable) Start() error { method Shutdown (line 434) | func (r *RoutingTable) Shutdown(ctx context.Context) error { function registerErrors (line 81) | func registerErrors() { function New (line 88) | func New(e *environment.Environment) *RoutingTable { FILE: internal/cluster/routingtable/routingtable_test.go function newRoutingTableForTest (line 36) | func newRoutingTableForTest(c *config.Config, srv *server.Server) *Routi... type testCluster (line 57) | type testCluster struct method addNode (line 72) | func (t *testCluster) addNode(c *config.Config) (*RoutingTable, error) { method shutdown (line 113) | func (t *testCluster) shutdown() error { function newTestCluster (line 64) | func newTestCluster() *testCluster { function TestRoutingTable_SingleNode (line 118) | func TestRoutingTable_SingleNode(t *testing.T) { function TestRoutingTable_Cluster (line 152) | func TestRoutingTable_Cluster(t *testing.T) { function TestRoutingTable_CheckPartitionOwnership (line 211) | func TestRoutingTable_CheckPartitionOwnership(t *testing.T) { function TestRoutingTable_NodeLeave (line 255) | func TestRoutingTable_NodeLeave(t *testing.T) { function TestRoutingTable_NodeUpdate (line 317) | func TestRoutingTable_NodeUpdate(t *testing.T) { FILE: internal/cluster/routingtable/update.go type leftOverDataReport (line 29) | type leftOverDataReport struct method prepareLeftOverDataReport (line 34) | func (r *RoutingTable) prepareLeftOverDataReport() ([]byte, error) { method updateRoutingTableOnMember (line 50) | func (r *RoutingTable) updateRoutingTableOnMember(data []byte, member di... method updateRoutingTableOnCluster (line 72) | func (r *RoutingTable) updateRoutingTableOnCluster() (map[discovery.Memb... FILE: internal/discovery/delegate.go type delegate (line 18) | type delegate struct method NodeMeta (line 36) | func (d delegate) NodeMeta(limit int) []byte { method NotifyMsg (line 41) | func (d delegate) NotifyMsg(data []byte) {} method GetBroadcasts (line 44) | func (d delegate) GetBroadcasts(overhead, limit int) [][]byte { return... method LocalState (line 47) | func (d delegate) LocalState(join bool) []byte { return nil } method MergeRemoteState (line 50) | func (d delegate) MergeRemoteState(buf []byte, join bool) {} method newDelegate (line 23) | func (d *Discovery) newDelegate() (delegate, error) { FILE: internal/discovery/discovery.go constant eventChanCapacity (line 36) | eventChanCapacity = 256 type ClusterEvent (line 46) | type ClusterEvent struct method MemberAddr (line 54) | func (c *ClusterEvent) MemberAddr() string { type Discovery (line 61) | type Discovery struct method loadServiceDiscoveryPlugin (line 95) | func (d *Discovery) loadServiceDiscoveryPlugin() error { method increaseUptimeSeconds (line 135) | func (d *Discovery) increaseUptimeSeconds() { method Start (line 151) | func (d *Discovery) Start() error { method Join (line 196) | func (d *Discovery) Join() (int, error) { method Rejoin (line 207) | func (d *Discovery) Rejoin(peers []string) (int, error) { method GetMembers (line 212) | func (d *Discovery) GetMembers() []Member { method NumMembers (line 227) | func (d *Discovery) NumMembers() int { method FindMemberByName (line 232) | func (d *Discovery) FindMemberByName(name string) (Member, error) { method FindMemberByID (line 243) | func (d *Discovery) FindMemberByID(id uint64) (Member, error) { method GetCoordinator (line 254) | func (d *Discovery) GetCoordinator() Member { method IsCoordinator (line 264) | func (d *Discovery) IsCoordinator() bool { method LocalNode (line 269) | func (d *Discovery) LocalNode() *memberlist.Node { method Shutdown (line 280) | func (d *Discovery) Shutdown() error { function New (line 82) | func New(log *flog.Logger, c *config.Config) *Discovery { FILE: internal/discovery/discovery_test.go type testCluster (line 33) | type testCluster struct method addNewMember (line 52) | func (tc *testCluster) addNewMember(t *testing.T) *Discovery { function newTestCluster (line 39) | func newTestCluster(t *testing.T) *testCluster { function TestDiscovery_GetCoordinator (line 79) | func TestDiscovery_GetCoordinator(t *testing.T) { function TestDiscovery_GetMembers (line 87) | func TestDiscovery_GetMembers(t *testing.T) { function TestDiscovery_IsCoordinator (line 96) | func TestDiscovery_IsCoordinator(t *testing.T) { function TestDiscovery_NumMembers (line 111) | func TestDiscovery_NumMembers(t *testing.T) { function TestDiscovery_LocalNode (line 120) | func TestDiscovery_LocalNode(t *testing.T) { function TestDiscovery_FindMemberByID (line 127) | func TestDiscovery_FindMemberByID(t *testing.T) { function TestDiscovery_FindMemberByName (line 140) | func TestDiscovery_FindMemberByName(t *testing.T) { function TestDiscovery_increaseUptimeSeconds (line 153) | func TestDiscovery_increaseUptimeSeconds(t *testing.T) { type dummyServiceDiscovery (line 162) | type dummyServiceDiscovery struct method Initialize (line 175) | func (d *dummyServiceDiscovery) Initialize() error { method SetConfig (line 183) | func (d *dummyServiceDiscovery) SetConfig(_ map[string]interface{}) er... method SetLogger (line 191) | func (d *dummyServiceDiscovery) SetLogger(_ *log.Logger) { method Register (line 198) | func (d *dummyServiceDiscovery) Register() error { method Deregister (line 207) | func (d *dummyServiceDiscovery) Deregister() error { method DiscoverPeers (line 215) | func (d *dummyServiceDiscovery) DiscoverPeers() ([]string, error) { method Close (line 223) | func (d *dummyServiceDiscovery) Close() error { function TestDiscovery_loadServiceDiscoveryPlugin (line 233) | func TestDiscovery_loadServiceDiscoveryPlugin(t *testing.T) { function TestDiscovery_ClusterEvents (line 258) | func TestDiscovery_ClusterEvents(t *testing.T) { FILE: internal/discovery/events.go function ToClusterEvent (line 19) | func ToClusterEvent(e memberlist.NodeEvent) *ClusterEvent { method handleEvent (line 29) | func (d *Discovery) handleEvent(event memberlist.NodeEvent) { method eventLoop (line 42) | func (d *Discovery) eventLoop(eventsCh chan memberlist.NodeEvent) { method SubscribeNodeEvents (line 55) | func (d *Discovery) SubscribeNodeEvents() chan *ClusterEvent { FILE: internal/discovery/member.go type Member (line 27) | type Member struct method CompareByID (line 35) | func (m Member) CompareByID(other Member) bool { method CompareByName (line 42) | func (m Member) CompareByName(other Member) bool { method String (line 46) | func (m Member) String() string { method Encode (line 50) | func (m Member) Encode() ([]byte, error) { function NewMemberFromMetadata (line 54) | func NewMemberFromMetadata(metadata []byte) (Member, error) { function MemberID (line 60) | func MemberID(name string, birthdate int64) uint64 { function NewMember (line 68) | func NewMember(c *config.Config) Member { FILE: internal/discovery/member_test.go function TestMembers (line 23) | func TestMembers(t *testing.T) { FILE: internal/dmap/atomic.go method loadCurrentAtomicInt (line 29) | func (dm *DMap) loadCurrentAtomicInt(e *env) (int, int64, error) { method atomicIncrDecr (line 48) | func (dm *DMap) atomicIncrDecr(cmd string, e *env, delta int) (int, erro... method Incr (line 97) | func (dm *DMap) Incr(ctx context.Context, key string, delta int) (int, e... method Decr (line 105) | func (dm *DMap) Decr(ctx context.Context, key string, delta int) (int, e... method getPut (line 112) | func (dm *DMap) getPut(e *env) (storage.Entry, error) { method GetPut (line 141) | func (dm *DMap) GetPut(ctx context.Context, key string, value interface{... method atomicIncrByFloat (line 171) | func (dm *DMap) atomicIncrByFloat(e *env, delta float64) (float64, error) { method IncrByFloat (line 223) | func (dm *DMap) IncrByFloat(ctx context.Context, key string, delta float... FILE: internal/dmap/atomic_handlers.go method incrDecrCommon (line 24) | func (s *Service) incrDecrCommon(cmd, dmap, key string, delta int) (int,... method incrCommandHandler (line 36) | func (s *Service) incrCommandHandler(conn redcon.Conn, cmd redcon.Comman... method decrCommandHandler (line 50) | func (s *Service) decrCommandHandler(conn redcon.Conn, cmd redcon.Comman... method getPutCommandHandler (line 64) | func (s *Service) getPutCommandHandler(conn redcon.Conn, cmd redcon.Comm... method incrByFloatCommandHandler (line 99) | func (s *Service) incrByFloatCommandHandler(conn redcon.Conn, cmd redcon... FILE: internal/dmap/atomic_test.go function TestDMap_loadCurrentAtomicInt (line 33) | func TestDMap_loadCurrentAtomicInt(t *testing.T) { function TestDMap_Atomic_Incr (line 63) | func TestDMap_Atomic_Incr(t *testing.T) { function TestDMap_Atomic_Decr (line 104) | func TestDMap_Atomic_Decr(t *testing.T) { function TestDMap_Atomic_GetPut (line 146) | func TestDMap_Atomic_GetPut(t *testing.T) { function TestDMap_Atomic_IncrByFloat (line 196) | func TestDMap_Atomic_IncrByFloat(t *testing.T) { function TestDMap_incrCommandHandler (line 237) | func TestDMap_incrCommandHandler(t *testing.T) { function TestDMap_incrCommandHandler_Single_Request (line 270) | func TestDMap_incrCommandHandler_Single_Request(t *testing.T) { function TestDMap_decrCommandHandler (line 285) | func TestDMap_decrCommandHandler(t *testing.T) { function TestDMap_decrCommandHandler_Single_Request (line 318) | func TestDMap_decrCommandHandler_Single_Request(t *testing.T) { function TestDMap_exGetPutOperation (line 333) | func TestDMap_exGetPutOperation(t *testing.T) { function TestDMap_incrByFloatCommandHandler (line 403) | func TestDMap_incrByFloatCommandHandler(t *testing.T) { FILE: internal/dmap/balance.go type fragmentPack (line 31) | type fragmentPack struct method fragmentMergeFunction (line 38) | func (dm *DMap) fragmentMergeFunction(f *fragment, hkey uint64, entry st... method mergeFragments (line 57) | func (dm *DMap) mergeFragments(part *partitions.Partition, fp *fragmentP... method checkOwnership (line 72) | func (s *Service) checkOwnership(part *partitions.Partition) bool { method validateFragmentPack (line 82) | func (s *Service) validateFragmentPack(fp *fragmentPack) error { method moveFragmentCommandHandler (line 103) | func (s *Service) moveFragmentCommandHandler(conn redcon.Conn, cmd redco... FILE: internal/dmap/balance_test.go function TestDMap_Balance_Invalid_PartID (line 33) | func TestDMap_Balance_Invalid_PartID(t *testing.T) { function TestDMap_Balance_FragmentMergeFunction (line 48) | func TestDMap_Balance_FragmentMergeFunction(t *testing.T) { function TestDMap_Balancer_JoinNewNode (line 78) | func TestDMap_Balancer_JoinNewNode(t *testing.T) { function TestDMap_Balancer_WrongOwnership (line 116) | func TestDMap_Balancer_WrongOwnership(t *testing.T) { function TestDMap_Balancer_ClusterEvents (line 138) | func TestDMap_Balancer_ClusterEvents(t *testing.T) { FILE: internal/dmap/compaction.go method callCompactionOnFragment (line 28) | func (s *Service) callCompactionOnFragment(f *fragment) bool { method doCompaction (line 52) | func (s *Service) doCompaction(partID uint64) { method triggerCompaction (line 72) | func (s *Service) triggerCompaction() { method compactionWorker (line 107) | func (s *Service) compactionWorker() { FILE: internal/dmap/compaction_test.go function TestDMap_Compaction (line 32) | func TestDMap_Compaction(t *testing.T) { FILE: internal/dmap/config.go type dmapConfig (line 25) | type dmapConfig struct method load (line 35) | func (c *dmapConfig) load(dc *config.DMaps, name string) error { FILE: internal/dmap/config_test.go function TestDMap_Config (line 26) | func TestDMap_Config(t *testing.T) { FILE: internal/dmap/delete.go method deleteFromFragment (line 36) | func (dm *DMap) deleteFromFragment(key string, kind partitions.Kind) err... method deleteFromPreviousOwners (line 54) | func (dm *DMap) deleteFromPreviousOwners(key string, owners []discovery.... method deleteBackupOnCluster (line 72) | func (dm *DMap) deleteBackupOnCluster(hkey uint64, key string) error { method deleteOnCluster (line 92) | func (dm *DMap) deleteOnCluster(hkey uint64, key string, f *fragment) er... method deleteKey (line 121) | func (dm *DMap) deleteKey(key string) error { method deleteKeys (line 142) | func (dm *DMap) deleteKeys(ctx context.Context, keys ...string) (int, er... method Delete (line 174) | func (dm *DMap) Delete(ctx context.Context, keys ...string) (int, error) { FILE: internal/dmap/delete_handlers.go method delCommandHandler (line 23) | func (s *Service) delCommandHandler(conn redcon.Conn, cmd redcon.Command) { method delEntryCommandHandler (line 44) | func (s *Service) delEntryCommandHandler(conn redcon.Conn, cmd redcon.Co... FILE: internal/dmap/delete_test.go function checkEmptyStorageEngine (line 35) | func checkEmptyStorageEngine(t *testing.T, s *Service) { function TestDMap_Delete_Cluster (line 73) | func TestDMap_Delete_Cluster(t *testing.T) { function TestDMap_Delete_Lookup (line 100) | func TestDMap_Delete_Lookup(t *testing.T) { function TestDMap_Delete_StaleFragments (line 129) | func TestDMap_Delete_StaleFragments(t *testing.T) { function TestDMap_Delete_PreviousOwner (line 199) | func TestDMap_Delete_PreviousOwner(t *testing.T) { function TestDMap_Delete_DeleteKeyValFromPreviousOwners (line 222) | func TestDMap_Delete_DeleteKeyValFromPreviousOwners(t *testing.T) { function TestDMap_Delete_Backup (line 257) | func TestDMap_Delete_Backup(t *testing.T) { function TestDMap_Delete_Compaction (line 305) | func TestDMap_Delete_Compaction(t *testing.T) { FILE: internal/dmap/destroy.go method destroyOnCluster (line 27) | func (dm *DMap) destroyOnCluster(ctx context.Context) error { method Destroy (line 72) | func (dm *DMap) Destroy(ctx context.Context) error { FILE: internal/dmap/destroy_handlers.go method destroyFragmentOnPartition (line 26) | func (dm *DMap) destroyFragmentOnPartition(part *partitions.Partition) e... method destroyLocalDMap (line 38) | func (s *Service) destroyLocalDMap(name string) error { method destroyCommandHandler (line 72) | func (s *Service) destroyCommandHandler(conn redcon.Conn, cmd redcon.Com... FILE: internal/dmap/destroy_test.go function TestDMap_Destroy_Standalone (line 27) | func TestDMap_Destroy_Standalone(t *testing.T) { function TestDMap_Destroy_Cluster (line 59) | func TestDMap_Destroy_Cluster(t *testing.T) { function TestDMap_Destroy_destroyOperation (line 99) | func TestDMap_Destroy_destroyOperation(t *testing.T) { FILE: internal/dmap/dmap.go constant nilTimeout (line 26) | nilTimeout = 0 * time.Second type DMap (line 36) | type DMap struct method Name (line 45) | func (dm *DMap) Name() string { method getPartitionByHKey (line 115) | func (dm *DMap) getPartitionByHKey(hkey uint64, kind partitions.Kind) ... method getDMap (line 50) | func (s *Service) getDMap(name string) (*DMap, error) { method fragmentName (line 61) | func (s *Service) fragmentName(name string) string { method NewDMap (line 67) | func (s *Service) NewDMap(name string) (*DMap, error) { method getOrCreateDMap (line 107) | func (s *Service) getOrCreateDMap(name string) (*DMap, error) { function isKeyExpired (line 128) | func isKeyExpired(ttl int64) bool { FILE: internal/dmap/dmap_test.go function TestDMap_Name (line 25) | func TestDMap_Name(t *testing.T) { FILE: internal/dmap/env.go type env (line 24) | type env struct function newEnv (line 37) | func newEnv(ctx context.Context) *env { FILE: internal/dmap/eviction.go method isKeyIdleOnFragment (line 32) | func (dm *DMap) isKeyIdleOnFragment(hkey uint64, f *fragment) bool { method isKeyIdle (line 53) | func (dm *DMap) isKeyIdle(hkey uint64) bool { method evictKeysAtBackground (line 69) | func (s *Service) evictKeysAtBackground() { method evictKeys (line 102) | func (s *Service) evictKeys() { method scanFragmentForEviction (line 114) | func (s *Service) scanFragmentForEviction(partID uint64, name string, f ... type lruItem (line 202) | type lruItem struct method evictKeyWithLRU (line 207) | func (dm *DMap) evictKeyWithLRU(e *env) error { FILE: internal/dmap/eviction_test.go function TestDMap_Eviction_TTL (line 28) | func TestDMap_Eviction_TTL(t *testing.T) { function TestDMap_Eviction_Config_TTLDuration (line 67) | func TestDMap_Eviction_Config_TTLDuration(t *testing.T) { function TestDMap_Eviction_Config_MaxIdleDuration (line 106) | func TestDMap_Eviction_Config_MaxIdleDuration(t *testing.T) { function TestDMap_Eviction_LRU_Config_MaxKeys (line 146) | func TestDMap_Eviction_LRU_Config_MaxKeys(t *testing.T) { function TestDMap_Eviction_LRU_Config_MaxInuse (line 181) | func TestDMap_Eviction_LRU_Config_MaxInuse(t *testing.T) { FILE: internal/dmap/expire.go method Expire (line 24) | func (dm *DMap) Expire(ctx context.Context, key string, timeout time.Dur... FILE: internal/dmap/expire_handlers.go method expireCommandHandler (line 22) | func (s *Service) expireCommandHandler(conn redcon.Conn, cmd redcon.Comm... method pexpireCommandHandler (line 52) | func (s *Service) pexpireCommandHandler(conn redcon.Conn, cmd redcon.Com... FILE: internal/dmap/expire_test.go function TestDMap_Expire (line 27) | func TestDMap_Expire(t *testing.T) { function TestDMap_Expire_ErrKeyNotFound (line 53) | func TestDMap_Expire_ErrKeyNotFound(t *testing.T) { function TestDMap_Expire_expireCommandHandler (line 65) | func TestDMap_Expire_expireCommandHandler(t *testing.T) { function TestDMap_Expire_pexpireCommandHandler (line 90) | func TestDMap_Expire_pexpireCommandHandler(t *testing.T) { FILE: internal/dmap/fragment.go type fragment (line 32) | type fragment struct method Stats (line 41) | func (f *fragment) Stats() storage.Stats { method Compaction (line 48) | func (f *fragment) Compaction() (bool, error) { method Destroy (line 58) | func (f *fragment) Destroy() error { method Close (line 67) | func (f *fragment) Close() error { method Name (line 72) | func (f *fragment) Name() string { method Move (line 76) | func (f *fragment) Move(part *partitions.Partition, name string, owner... method newFragment (line 131) | func (dm *DMap) newFragment() (*fragment, error) { method loadOrCreateFragment (line 153) | func (dm *DMap) loadOrCreateFragment(part *partitions.Partition) (*fragm... method loadFragment (line 173) | func (dm *DMap) loadFragment(part *partitions.Partition) (*fragment, err... FILE: internal/dmap/fragment_test.go function TestDMap_Fragment (line 27) | func TestDMap_Fragment(t *testing.T) { function TestDMap_Fragment_Concurrent_Access (line 72) | func TestDMap_Fragment_Concurrent_Access(t *testing.T) { FILE: internal/dmap/get.go type Entry (line 32) | type Entry struct type version (line 53) | type version struct method getOnFragment (line 60) | func (dm *DMap) getOnFragment(e *env) (storage.Entry, error) { method lookupOnPreviousOwner (line 89) | func (dm *DMap) lookupOnPreviousOwner(owner *discovery.Member, key strin... method valueToVersion (line 108) | func (dm *DMap) valueToVersion(value storage.Entry) *version { method lookupOnThisNode (line 118) | func (dm *DMap) lookupOnThisNode(hkey uint64, key string) *version { method lookupOnOwners (line 151) | func (dm *DMap) lookupOnOwners(hkey uint64, key string) []*version { method sortVersions (line 194) | func (dm *DMap) sortVersions(versions []*version) []*version { method sanitizeAndSortVersions (line 206) | func (dm *DMap) sanitizeAndSortVersions(versions []*version) []*version { method lookupOnReplicas (line 222) | func (dm *DMap) lookupOnReplicas(hkey uint64, key string) []*version { method readRepair (line 274) | func (dm *DMap) readRepair(winner *version, versions []*version) { method getOnCluster (line 330) | func (dm *DMap) getOnCluster(hkey uint64, key string) (storage.Entry, er... method Get (line 371) | func (dm *DMap) Get(ctx context.Context, key string) (storage.Entry, err... FILE: internal/dmap/get_handlers.go method getCommandHandler (line 23) | func (s *Service) getCommandHandler(conn redcon.Conn, cmd redcon.Command) { method getEntryCommandHandler (line 48) | func (s *Service) getEntryCommandHandler(conn redcon.Conn, cmd redcon.Co... FILE: internal/dmap/get_test.go function TestDMap_Get_Standalone (line 27) | func TestDMap_Get_Standalone(t *testing.T) { function TestDMap_Get_Cluster (line 49) | func TestDMap_Get_Cluster(t *testing.T) { function TestDMap_Get_Lookup (line 75) | func TestDMap_Get_Lookup(t *testing.T) { function TestDMap_Get_NilValue (line 104) | func TestDMap_Get_NilValue(t *testing.T) { function TestDMap_Get_NilValue_Cluster (line 137) | func TestDMap_Get_NilValue_Cluster(t *testing.T) { function TestDMap_Put_ReadQuorum (line 166) | func TestDMap_Put_ReadQuorum(t *testing.T) { function TestDMap_Get_ReadRepair (line 187) | func TestDMap_Get_ReadRepair(t *testing.T) { FILE: internal/dmap/handlers.go method RegisterHandlers (line 21) | func (s *Service) RegisterHandlers() { FILE: internal/dmap/janitor.go function wipeOutFragment (line 24) | func wipeOutFragment(part *partitions.Partition, name string, f *fragmen... method janitor (line 40) | func (s *Service) janitor(part *partitions.Partition) { method deleteEmptyFragments (line 70) | func (s *Service) deleteEmptyFragments() { method janitorWorker (line 82) | func (s *Service) janitorWorker() { FILE: internal/dmap/lock.go method unlockKey (line 39) | func (dm *DMap) unlockKey(ctx context.Context, key string, token []byte)... method Unlock (line 74) | func (dm *DMap) Unlock(ctx context.Context, key string, token []byte) er... method tryLock (line 93) | func (dm *DMap) tryLock(e *env, deadline time.Duration) error { method Lock (line 138) | func (dm *DMap) Lock(ctx context.Context, key string, timeout, deadline ... method leaseKey (line 166) | func (dm *DMap) leaseKey(ctx context.Context, key string, token []byte, ... method Lease (line 207) | func (dm *DMap) Lease(ctx context.Context, key string, token []byte, tim... FILE: internal/dmap/lock_handlers.go method unlockCommandHandler (line 25) | func (s *Service) unlockCommandHandler(conn redcon.Conn, cmd redcon.Comm... method lockCommandHandler (line 52) | func (s *Service) lockCommandHandler(conn redcon.Conn, cmd redcon.Comman... method lockLeaseCommandHandler (line 83) | func (s *Service) lockLeaseCommandHandler(conn redcon.Conn, cmd redcon.C... method plockLeaseCommandHandler (line 110) | func (s *Service) plockLeaseCommandHandler(conn redcon.Conn, cmd redcon.... FILE: internal/dmap/lock_test.go function TestDMap_Lock_With_Timeout_Standalone (line 29) | func TestDMap_Lock_With_Timeout_Standalone(t *testing.T) { function TestDMap_Unlock_After_Timeout_Standalone (line 46) | func TestDMap_Unlock_After_Timeout_Standalone(t *testing.T) { function TestDMap_Lock_With_Timeout_ErrLockNotAcquired_Standalone (line 65) | func TestDMap_Lock_With_Timeout_ErrLockNotAcquired_Standalone(t *testing... function TestDMap_LockLease_Standalone (line 82) | func TestDMap_LockLease_Standalone(t *testing.T) { function TestDMap_Lock_Standalone (line 111) | func TestDMap_Lock_Standalone(t *testing.T) { function TestDMap_Lock_ErrLockNotAcquired_Standalone (line 128) | func TestDMap_Lock_ErrLockNotAcquired_Standalone(t *testing.T) { function TestDMap_LockWithTimeout_Cluster (line 145) | func TestDMap_LockWithTimeout_Cluster(t *testing.T) { function TestDMap_LockLease_Cluster (line 169) | func TestDMap_LockLease_Cluster(t *testing.T) { function TestDMap_Lock_Cluster (line 193) | func TestDMap_Lock_Cluster(t *testing.T) { function TestDMap_LockWithTimeout_ErrLockNotAcquired_Cluster (line 217) | func TestDMap_LockWithTimeout_ErrLockNotAcquired_Cluster(t *testing.T) { function TestDMap_Lock_After_Lock_With_Timeout_Cluster (line 241) | func TestDMap_Lock_After_Lock_With_Timeout_Cluster(t *testing.T) { function TestDMap_tryLock (line 264) | func TestDMap_tryLock(t *testing.T) { function TestDMap_lockCommandHandler (line 295) | func TestDMap_lockCommandHandler(t *testing.T) { function TestDMap_lockCommandHandler_EX (line 316) | func TestDMap_lockCommandHandler_EX(t *testing.T) { function TestDMap_lockCommandHandler_PX (line 337) | func TestDMap_lockCommandHandler_PX(t *testing.T) { function TestDMap_lockLeaseCommandHandler (line 359) | func TestDMap_lockLeaseCommandHandler(t *testing.T) { function TestDMap_plockLeaseCommandHandler (line 386) | func TestDMap_plockLeaseCommandHandler(t *testing.T) { FILE: internal/dmap/put.go function prepareTTL (line 47) | func prepareTTL(e *env) int64 { method putEntryOnFragment (line 68) | func (dm *DMap) putEntryOnFragment(e *env, nt storage.Entry) error { method prepareEntry (line 96) | func (dm *DMap) prepareEntry(e *env) storage.Entry { method putOnReplicaFragment (line 105) | func (dm *DMap) putOnReplicaFragment(e *env) error { method asyncPutOnBackup (line 133) | func (dm *DMap) asyncPutOnBackup(e *env, data []byte, owner discovery.Me... method asyncPutOnCluster (line 153) | func (dm *DMap) asyncPutOnCluster(e *env, nt storage.Entry) error { method syncPutOnCluster (line 174) | func (dm *DMap) syncPutOnCluster(e *env, nt storage.Entry) error { method setLRUEvictionStats (line 211) | func (dm *DMap) setLRUEvictionStats(e *env) error { method checkPutConditions (line 257) | func (dm *DMap) checkPutConditions(e *env) error { method putOnCluster (line 292) | func (dm *DMap) putOnCluster(e *env) error { method writePutCommand (line 337) | func (dm *DMap) writePutCommand(e *env) (*redis.StatusCmd, error) { method put (line 362) | func (dm *DMap) put(e *env) error { type PutConfig (line 383) | type PutConfig struct method Put (line 401) | func (dm *DMap) Put(ctx context.Context, key string, value interface{}, ... FILE: internal/dmap/put_handlers.go method putCommandHandler (line 25) | func (s *Service) putCommandHandler(conn redcon.Conn, cmd redcon.Command) { method putEntryCommandHandler (line 73) | func (s *Service) putEntryCommandHandler(conn redcon.Conn, cmd redcon.Co... FILE: internal/dmap/put_test.go function TestDMap_Put_Standalone (line 33) | func TestDMap_Put_Standalone(t *testing.T) { function TestDMap_Put_Cluster (line 54) | func TestDMap_Put_Cluster(t *testing.T) { function TestDMap_Put_AsyncReplicationMode (line 80) | func TestDMap_Put_AsyncReplicationMode(t *testing.T) { function TestDMap_Put_WriteQuorum (line 117) | func TestDMap_Put_WriteQuorum(t *testing.T) { function TestDMap_Put_PX (line 150) | func TestDMap_Put_PX(t *testing.T) { function TestDMap_Put_NX (line 182) | func TestDMap_Put_NX(t *testing.T) { function TestDMap_Put_XX (line 214) | func TestDMap_Put_XX(t *testing.T) { function TestDMap_Put_EX (line 242) | func TestDMap_Put_EX(t *testing.T) { function TestDMap_Put_EXAT (line 274) | func TestDMap_Put_EXAT(t *testing.T) { function TestDMap_Put_PXAT (line 304) | func TestDMap_Put_PXAT(t *testing.T) { function TestDMap_Put_ErrKeyTooLarge (line 334) | func TestDMap_Put_ErrKeyTooLarge(t *testing.T) { function TestDMap_Put_ErrEntryTooLarge (line 351) | func TestDMap_Put_ErrEntryTooLarge(t *testing.T) { function TestDMap_Put_PX_With_NX (line 368) | func TestDMap_Put_PX_With_NX(t *testing.T) { FILE: internal/dmap/scan_handlers.go method scanOnFragment (line 26) | func (dm *DMap) scanOnFragment(f *fragment, cursor uint64, sc *ScanConfi... method Scan (line 54) | func (dm *DMap) Scan(partID, cursor uint64, sc *ScanConfig) ([]string, u... type ScanConfig (line 71) | type ScanConfig struct type ScanOption (line 79) | type ScanOption function Count (line 81) | func Count(c int) ScanOption { function Match (line 88) | func Match(s string) ScanOption { method scanCommandHandler (line 95) | func (s *Service) scanCommandHandler(conn redcon.Conn, cmd redcon.Comman... FILE: internal/dmap/scan_test.go function testScanIterator (line 28) | func testScanIterator(t *testing.T, s *Service, allKeys map[string]bool,... function TestDMap_scanCommandHandler_Standalone (line 70) | func TestDMap_scanCommandHandler_Standalone(t *testing.T) { function TestDMap_scanCommandHandler_Cluster (line 95) | func TestDMap_scanCommandHandler_Cluster(t *testing.T) { function TestDMap_scanCommandHandler_match (line 148) | func TestDMap_scanCommandHandler_match(t *testing.T) { function TestDMap_scanCommandHandler_count (line 181) | func TestDMap_scanCommandHandler_count(t *testing.T) { FILE: internal/dmap/service.go type storageMap (line 38) | type storageMap struct type Service (line 43) | type Service struct method isAlive (line 97) | func (s *Service) isAlive() bool { method publishEvent (line 115) | func (s *Service) publishEvent(e events.Event) { method Start (line 132) | func (s *Service) Start() error { method Shutdown (line 145) | func (s *Service) Shutdown(ctx context.Context) error { function registerErrors (line 61) | func registerErrors() { function NewService (line 73) | func NewService(e *environment.Environment) (service.Service, error) { function getType (line 107) | func getType(data interface{}) string { FILE: internal/dmap/service_test.go function TestDMapService (line 24) | func TestDMapService(t *testing.T) { FILE: internal/dmap/stats_test.go function TestDMap_Stats (line 27) | func TestDMap_Stats(t *testing.T) { FILE: internal/environment/environment.go type Environment (line 19) | type Environment struct method Get (line 31) | func (e *Environment) Get(key string) interface{} { method Set (line 42) | func (e *Environment) Set(key string, value interface{}) { method Clone (line 49) | func (e *Environment) Clone() *Environment { function New (line 25) | func New() *Environment { FILE: internal/environment/environment_test.go type envTest (line 23) | type envTest struct function TestEnvironment (line 27) | func TestEnvironment(t *testing.T) { FILE: internal/locker/locker.go type Locker (line 26) | type Locker struct method Lock (line 72) | func (l *Locker) Lock(name string) { method Unlock (line 97) | func (l *Locker) Unlock(name string) error { type lockCtr (line 32) | type lockCtr struct method inc (line 40) | func (l *lockCtr) inc() { method dec (line 45) | func (l *lockCtr) dec() { method count (line 50) | func (l *lockCtr) count() int32 { method Lock (line 55) | func (l *lockCtr) Lock() { method Unlock (line 60) | func (l *lockCtr) Unlock() { function New (line 65) | func New() *Locker { FILE: internal/locker/locker_test.go function TestLockCounter (line 11) | func TestLockCounter(t *testing.T) { function TestLockerLock (line 25) | func TestLockerLock(t *testing.T) { function TestLockerUnlock (line 77) | func TestLockerUnlock(t *testing.T) { function TestLockerConcurrency (line 96) | func TestLockerConcurrency(t *testing.T) { function BenchmarkLocker (line 128) | func BenchmarkLocker(b *testing.B) { function BenchmarkLockerParallel (line 136) | func BenchmarkLockerParallel(b *testing.B) { function BenchmarkLockerMoreKeys (line 147) | func BenchmarkLockerMoreKeys(b *testing.B) { FILE: internal/protocol/cluster.go type ClusterRoutingTable (line 24) | type ClusterRoutingTable struct method Command (line 30) | func (c *ClusterRoutingTable) Command(ctx context.Context) *redis.Cmd { function NewClusterRoutingTable (line 26) | func NewClusterRoutingTable() *ClusterRoutingTable { function ParseClusterRoutingTable (line 36) | func ParseClusterRoutingTable(cmd redcon.Command) (*ClusterRoutingTable,... type ClusterMembers (line 45) | type ClusterMembers struct method Command (line 51) | func (c *ClusterMembers) Command(ctx context.Context) *redis.Cmd { function NewClusterMembers (line 47) | func NewClusterMembers() *ClusterMembers { function ParseClusterMembers (line 57) | func ParseClusterMembers(cmd redcon.Command) (*ClusterMembers, error) { FILE: internal/protocol/cluster_test.go function TestProtocol_ClusterRoutingTable (line 24) | func TestProtocol_ClusterRoutingTable(t *testing.T) { function TestProtocol_ClusterMembers (line 38) | func TestProtocol_ClusterMembers(t *testing.T) { FILE: internal/protocol/commands.go constant StatusOK (line 17) | StatusOK = "OK" type ClusterCommands (line 19) | type ClusterCommands struct type InternalCommands (line 29) | type InternalCommands struct type GenericCommands (line 42) | type GenericCommands struct type DMapCommands (line 54) | type DMapCommands struct type PubSubCommands (line 97) | type PubSubCommands struct FILE: internal/protocol/dmap.go type Put (line 30) | type Put struct method SetEX (line 50) | func (p *Put) SetEX(ex float64) *Put { method SetPX (line 55) | func (p *Put) SetPX(px int64) *Put { method SetEXAT (line 60) | func (p *Put) SetEXAT(exat float64) *Put { method SetPXAT (line 65) | func (p *Put) SetPXAT(pxat int64) *Put { method SetNX (line 70) | func (p *Put) SetNX() *Put { method SetXX (line 75) | func (p *Put) SetXX() *Put { method Command (line 80) | func (p *Put) Command(ctx context.Context) *redis.StatusCmd { function NewPut (line 42) | func NewPut(dmap, key string, value []byte) *Put { function ParsePutCommand (line 118) | func ParsePutCommand(cmd redcon.Command) (*Put, error) { type PutEntry (line 180) | type PutEntry struct method Command (line 194) | func (p *PutEntry) Command(ctx context.Context) *redis.StatusCmd { function NewPutEntry (line 186) | func NewPutEntry(dmap, key string, value []byte) *PutEntry { function ParsePutEntryCommand (line 203) | func ParsePutEntryCommand(cmd redcon.Command) (*PutEntry, error) { type Get (line 215) | type Get struct method SetRaw (line 228) | func (g *Get) SetRaw() *Get { method Command (line 233) | func (g *Get) Command(ctx context.Context) *redis.StringCmd { function NewGet (line 221) | func NewGet(dmap, key string) *Get { function ParseGetCommand (line 244) | func ParseGetCommand(cmd redcon.Command) (*Get, error) { type GetEntry (line 266) | type GetEntry struct method SetReplica (line 279) | func (g *GetEntry) SetReplica() *GetEntry { method Command (line 284) | func (g *GetEntry) Command(ctx context.Context) *redis.StringCmd { function NewGetEntry (line 272) | func NewGetEntry(dmap, key string) *GetEntry { function ParseGetEntryCommand (line 295) | func ParseGetEntryCommand(cmd redcon.Command) (*GetEntry, error) { type Del (line 317) | type Del struct method Command (line 329) | func (d *Del) Command(ctx context.Context) *redis.IntCmd { function NewDel (line 322) | func NewDel(dmap string, keys ...string) *Del { function ParseDelCommand (line 339) | func ParseDelCommand(cmd redcon.Command) (*Del, error) { type DelEntry (line 353) | type DelEntry struct method SetReplica (line 364) | func (d *DelEntry) SetReplica() *DelEntry { method Command (line 369) | func (d *DelEntry) Command(ctx context.Context) *redis.IntCmd { function NewDelEntry (line 358) | func NewDelEntry(dmap, key string) *DelEntry { function ParseDelEntryCommand (line 379) | func ParseDelEntryCommand(cmd redcon.Command) (*DelEntry, error) { type PExpire (line 401) | type PExpire struct method Command (line 415) | func (p *PExpire) Command(ctx context.Context) *redis.StatusCmd { function NewPExpire (line 407) | func NewPExpire(dmap, key string, milliseconds time.Duration) *PExpire { function ParsePExpireCommand (line 424) | func ParsePExpireCommand(cmd redcon.Command) (*PExpire, error) { type Expire (line 442) | type Expire struct method Command (line 456) | func (e *Expire) Command(ctx context.Context) *redis.StatusCmd { function NewExpire (line 448) | func NewExpire(dmap, key string, seconds time.Duration) *Expire { function ParseExpireCommand (line 465) | func ParseExpireCommand(cmd redcon.Command) (*Expire, error) { type Destroy (line 483) | type Destroy struct method SetLocal (line 494) | func (d *Destroy) SetLocal() *Destroy { method Command (line 499) | func (d *Destroy) Command(ctx context.Context) *redis.StatusCmd { function NewDestroy (line 488) | func NewDestroy(dmap string) *Destroy { function ParseDestroyCommand (line 509) | func ParseDestroyCommand(cmd redcon.Command) (*Destroy, error) { type Scan (line 530) | type Scan struct method SetMatch (line 547) | func (s *Scan) SetMatch(match string) *Scan { method SetCount (line 552) | func (s *Scan) SetCount(count int) *Scan { method SetReplica (line 557) | func (s *Scan) SetReplica() *Scan { method Command (line 562) | func (s *Scan) Command(ctx context.Context) *redis.ScanCmd { function NewScan (line 539) | func NewScan(partID uint64, dmap string, cursor uint64) *Scan { constant DefaultScanCount (line 582) | DefaultScanCount = 10 function ParseScanCommand (line 584) | func ParseScanCommand(cmd redcon.Command) (*Scan, error) { type Incr (line 635) | type Incr struct method Command (line 649) | func (i *Incr) Command(ctx context.Context) *redis.IntCmd { function NewIncr (line 641) | func NewIncr(dmap, key string, delta int) *Incr { function ParseIncrCommand (line 658) | func ParseIncrCommand(cmd redcon.Command) (*Incr, error) { type Decr (line 675) | type Decr struct method Command (line 685) | func (d *Decr) Command(ctx context.Context) *redis.IntCmd { function NewDecr (line 679) | func NewDecr(dmap, key string, delta int) *Decr { function ParseDecrCommand (line 691) | func ParseDecrCommand(cmd redcon.Command) (*Decr, error) { type GetPut (line 708) | type GetPut struct method SetRaw (line 723) | func (g *GetPut) SetRaw() *GetPut { method Command (line 728) | func (g *GetPut) Command(ctx context.Context) *redis.StringCmd { function NewGetPut (line 715) | func NewGetPut(dmap, key string, value []byte) *GetPut { function ParseGetPutCommand (line 740) | func ParseGetPutCommand(cmd redcon.Command) (*GetPut, error) { type IncrByFloat (line 762) | type IncrByFloat struct method Command (line 776) | func (i *IncrByFloat) Command(ctx context.Context) *redis.FloatCmd { function NewIncrByFloat (line 768) | func NewIncrByFloat(dmap, key string, delta float64) *IncrByFloat { function ParseIncrByFloatCommand (line 785) | func ParseIncrByFloatCommand(cmd redcon.Command) (*IncrByFloat, error) { type Lock (line 802) | type Lock struct method SetEX (line 818) | func (l *Lock) SetEX(ex float64) *Lock { method SetPX (line 823) | func (l *Lock) SetPX(px int64) *Lock { method Command (line 828) | func (l *Lock) Command(ctx context.Context) *redis.StringCmd { function NewLock (line 810) | func NewLock(dmap, key string, deadline float64) *Lock { function ParseLockCommand (line 849) | func ParseLockCommand(cmd redcon.Command) (*Lock, error) { type Unlock (line 892) | type Unlock struct method Command (line 906) | func (u *Unlock) Command(ctx context.Context) *redis.StatusCmd { function NewUnlock (line 898) | func NewUnlock(dmap, key, token string) *Unlock { function ParseUnlockCommand (line 915) | func ParseUnlockCommand(cmd redcon.Command) (*Unlock, error) { type LockLease (line 927) | type LockLease struct method Command (line 943) | func (l *LockLease) Command(ctx context.Context) *redis.StatusCmd { function NewLockLease (line 934) | func NewLockLease(dmap, key, token string, timeout float64) *LockLease { function ParseLockLeaseCommand (line 953) | func ParseLockLeaseCommand(cmd redcon.Command) (*LockLease, error) { type PLockLease (line 971) | type PLockLease struct method Command (line 987) | func (p *PLockLease) Command(ctx context.Context) *redis.StatusCmd { function NewPLockLease (line 978) | func NewPLockLease(dmap, key, token string, timeout int64) *PLockLease { function ParsePLockLeaseCommand (line 997) | func ParsePLockLeaseCommand(cmd redcon.Command) (*PLockLease, error) { FILE: internal/protocol/dmap_test.go function stringToCommand (line 27) | func stringToCommand(s string) redcon.Command { function TestProtocol_ParsePutCommand_EX (line 43) | func TestProtocol_ParsePutCommand_EX(t *testing.T) { function TestProtocol_ParsePutCommand_PX (line 57) | func TestProtocol_ParsePutCommand_PX(t *testing.T) { function TestProtocol_ParsePutCommand_NX (line 71) | func TestProtocol_ParsePutCommand_NX(t *testing.T) { function TestProtocol_ParsePutCommand_XX (line 86) | func TestProtocol_ParsePutCommand_XX(t *testing.T) { function TestProtocol_ParsePutCommand_EXAT (line 101) | func TestProtocol_ParsePutCommand_EXAT(t *testing.T) { function TestProtocol_ParsePutCommand_PXAT (line 116) | func TestProtocol_ParsePutCommand_PXAT(t *testing.T) { function TestProtocol_ParseScanCommand (line 131) | func TestProtocol_ParseScanCommand(t *testing.T) { function TestProtocol_ParseScanCommand_Replica (line 145) | func TestProtocol_ParseScanCommand_Replica(t *testing.T) { function TestProtocol_ParseScanCommand_Match (line 159) | func TestProtocol_ParseScanCommand_Match(t *testing.T) { function TestProtocol_ParseScanCommand_PartID (line 174) | func TestProtocol_ParseScanCommand_PartID(t *testing.T) { function TestProtocol_ParseScanCommand_Match_Count (line 189) | func TestProtocol_ParseScanCommand_Match_Count(t *testing.T) { function TestProtocol_ParseScanCommand_Match_Count_Replica (line 204) | func TestProtocol_ParseScanCommand_Match_Count_Replica(t *testing.T) { function TestProtocol_PutEntry (line 222) | func TestProtocol_PutEntry(t *testing.T) { function TestProtocol_Get (line 234) | func TestProtocol_Get(t *testing.T) { function TestProtocol_Get_RW (line 246) | func TestProtocol_Get_RW(t *testing.T) { function TestProtocol_GetEntry (line 259) | func TestProtocol_GetEntry(t *testing.T) { function TestProtocol_GetEntry_RC (line 271) | func TestProtocol_GetEntry_RC(t *testing.T) { function TestProtocol_Del (line 284) | func TestProtocol_Del(t *testing.T) { function TestProtocol_DelEntry (line 295) | func TestProtocol_DelEntry(t *testing.T) { function TestProtocol_DelEntry_RC (line 307) | func TestProtocol_DelEntry_RC(t *testing.T) { function TestProtocol_PExpire (line 320) | func TestProtocol_PExpire(t *testing.T) { function TestProtocol_Expire (line 332) | func TestProtocol_Expire(t *testing.T) { function TestProtocol_Destroy (line 344) | func TestProtocol_Destroy(t *testing.T) { function TestProtocol_Destroy_Local (line 355) | func TestProtocol_Destroy_Local(t *testing.T) { function TestProtocol_Incr (line 367) | func TestProtocol_Incr(t *testing.T) { function TestProtocol_Decr (line 379) | func TestProtocol_Decr(t *testing.T) { function TestProtocol_GetPut (line 391) | func TestProtocol_GetPut(t *testing.T) { function TestProtocol_GetPut_RW (line 404) | func TestProtocol_GetPut_RW(t *testing.T) { function TestProtocol_IncrByFloat (line 418) | func TestProtocol_IncrByFloat(t *testing.T) { function TestProtocol_Lock (line 430) | func TestProtocol_Lock(t *testing.T) { function TestProtocol_Lock_EX (line 442) | func TestProtocol_Lock_EX(t *testing.T) { function TestProtocol_Lock_PX (line 457) | func TestProtocol_Lock_PX(t *testing.T) { function TestProtocol_Unlock (line 472) | func TestProtocol_Unlock(t *testing.T) { function TestProtocol_LockLease (line 484) | func TestProtocol_LockLease(t *testing.T) { function TestProtocol_PLockLease (line 498) | func TestProtocol_PLockLease(t *testing.T) { function TestProtocol_Scan (line 512) | func TestProtocol_Scan(t *testing.T) { function TestProtocol_Scan_Count_Match_Replica (line 527) | func TestProtocol_Scan_Count_Match_Replica(t *testing.T) { FILE: internal/protocol/errors.go function init (line 39) | func init() { function SetError (line 43) | func SetError(prefix string, err error) { function GetError (line 55) | func GetError(prefix string) error { function getPrefix (line 62) | func getPrefix(err error) string { function GetPrefix (line 70) | func GetPrefix(err error) string { function ConvertError (line 81) | func ConvertError(err error) error { function WriteError (line 98) | func WriteError(conn redcon.Conn, err error) { function errWrongNumber (line 103) | func errWrongNumber(args [][]byte) error { FILE: internal/protocol/errors_test.go function TestProtocol_errWrongNumber (line 28) | func TestProtocol_errWrongNumber(t *testing.T) { function TestProtocol_GetPrefix (line 36) | func TestProtocol_GetPrefix(t *testing.T) { function TestProtocol_GetError (line 42) | func TestProtocol_GetError(t *testing.T) { function TestProtocol_ConvertError (line 48) | func TestProtocol_ConvertError(t *testing.T) { FILE: internal/protocol/pubsub.go type Publish (line 25) | type Publish struct method Command (line 37) | func (p *Publish) Command(ctx context.Context) *redis.IntCmd { function NewPublish (line 30) | func NewPublish(channel, message string) *Publish { function ParsePublishCommand (line 45) | func ParsePublishCommand(cmd redcon.Command) (*Publish, error) { type PublishInternal (line 56) | type PublishInternal struct method Command (line 68) | func (p *PublishInternal) Command(ctx context.Context) *redis.IntCmd { function NewPublishInternal (line 61) | func NewPublishInternal(channel, message string) *PublishInternal { function ParsePublishInternalCommand (line 76) | func ParsePublishInternalCommand(cmd redcon.Command) (*PublishInternal, ... type Subscribe (line 87) | type Subscribe struct method Command (line 97) | func (s *Subscribe) Command(ctx context.Context) *redis.SliceCmd { function NewSubscribe (line 91) | func NewSubscribe(channels ...string) *Subscribe { function ParseSubscribeCommand (line 106) | func ParseSubscribeCommand(cmd redcon.Command) (*Subscribe, error) { type PSubscribe (line 121) | type PSubscribe struct method Command (line 131) | func (s *PSubscribe) Command(ctx context.Context) *redis.SliceCmd { function NewPSubscribe (line 125) | func NewPSubscribe(patterns ...string) *PSubscribe { function ParsePSubscribeCommand (line 140) | func ParsePSubscribeCommand(cmd redcon.Command) (*PSubscribe, error) { type PubSubChannels (line 155) | type PubSubChannels struct method SetPattern (line 163) | func (ps *PubSubChannels) SetPattern(pattern string) *PubSubChannels { method Command (line 168) | func (ps *PubSubChannels) Command(ctx context.Context) *redis.SliceCmd { function NewPubSubChannels (line 159) | func NewPubSubChannels() *PubSubChannels { function ParsePubSubChannelsCommand (line 177) | func ParsePubSubChannelsCommand(cmd redcon.Command) (*PubSubChannels, er... type PubSubNumpat (line 189) | type PubSubNumpat struct method Command (line 195) | func (ps *PubSubNumpat) Command(ctx context.Context) *redis.IntCmd { function NewPubSubNumpat (line 191) | func NewPubSubNumpat() *PubSubNumpat { function ParsePubSubNumpatCommand (line 201) | func ParsePubSubNumpatCommand(cmd redcon.Command) (*PubSubNumpat, error) { type PubSubNumsub (line 209) | type PubSubNumsub struct method Command (line 219) | func (ps *PubSubNumsub) Command(ctx context.Context) *redis.SliceCmd { function NewPubSubNumsub (line 213) | func NewPubSubNumsub(channels ...string) *PubSubNumsub { function ParsePubSubNumsubCommand (line 228) | func ParsePubSubNumsubCommand(cmd redcon.Command) (*PubSubNumsub, error) { FILE: internal/protocol/pubsub_test.go function TestProtocol_ParsePublishCommand (line 10) | func TestProtocol_ParsePublishCommand(t *testing.T) { function TestProtocol_ParsePublishInternalCommand (line 21) | func TestProtocol_ParsePublishInternalCommand(t *testing.T) { function TestProtocol_ParseSubscribeCommand (line 32) | func TestProtocol_ParseSubscribeCommand(t *testing.T) { function TestProtocol_ParsePSubscribeCommand (line 43) | func TestProtocol_ParsePSubscribeCommand(t *testing.T) { function TestProtocol_PubSubChannels (line 54) | func TestProtocol_PubSubChannels(t *testing.T) { function TestProtocol_PubSubChannels_Patterns (line 63) | func TestProtocol_PubSubChannels_Patterns(t *testing.T) { function TestProtocol_PubSubNumpat (line 74) | func TestProtocol_PubSubNumpat(t *testing.T) { function TestProtocol_PubSubNumsub (line 82) | func TestProtocol_PubSubNumsub(t *testing.T) { FILE: internal/protocol/system.go type Ping (line 27) | type Ping struct method SetMessage (line 35) | func (p *Ping) SetMessage(m string) *Ping { method Command (line 40) | func (p *Ping) Command(ctx context.Context) *redis.StringCmd { function NewPing (line 31) | func NewPing() *Ping { function ParsePingCommand (line 49) | func ParsePingCommand(cmd redcon.Command) (*Ping, error) { type MoveFragment (line 61) | type MoveFragment struct method Command (line 71) | func (m *MoveFragment) Command(ctx context.Context) *redis.StatusCmd { function NewMoveFragment (line 65) | func NewMoveFragment(payload []byte) *MoveFragment { function ParseMoveFragmentCommand (line 78) | func ParseMoveFragmentCommand(cmd redcon.Command) (*MoveFragment, error) { type UpdateRouting (line 86) | type UpdateRouting struct method Command (line 98) | func (u *UpdateRouting) Command(ctx context.Context) *redis.StringCmd { function NewUpdateRouting (line 91) | func NewUpdateRouting(payload []byte, coordinatorID uint64) *UpdateRouti... function ParseUpdateRoutingCommand (line 106) | func ParseUpdateRoutingCommand(cmd redcon.Command) (*UpdateRouting, erro... type LengthOfPart (line 118) | type LengthOfPart struct method SetReplica (line 129) | func (l *LengthOfPart) SetReplica() *LengthOfPart { method Command (line 134) | func (l *LengthOfPart) Command(ctx context.Context) *redis.IntCmd { function NewLengthOfPart (line 123) | func NewLengthOfPart(partID uint64) *LengthOfPart { function ParseLengthOfPartCommand (line 144) | func ParseLengthOfPartCommand(cmd redcon.Command) (*LengthOfPart, error) { type Stats (line 166) | type Stats struct method SetCollectRuntime (line 174) | func (s *Stats) SetCollectRuntime() *Stats { method Command (line 179) | func (s *Stats) Command(ctx context.Context) *redis.StringCmd { function NewStats (line 170) | func NewStats() *Stats { function ParseStatsCommand (line 188) | func ParseStatsCommand(cmd redcon.Command) (*Stats, error) { type Auth (line 207) | type Auth struct method Command (line 219) | func (a *Auth) Command(ctx context.Context) *redis.StatusCmd { function NewAuth (line 212) | func NewAuth(password string) *Auth { function ParseAuthCommand (line 229) | func ParseAuthCommand(cmd redcon.Command) (*Auth, error) { FILE: internal/protocol/system_test.go function TestProtocol_Ping (line 24) | func TestProtocol_Ping(t *testing.T) { function TestProtocol_Ping_Message (line 34) | func TestProtocol_Ping_Message(t *testing.T) { function TestProtocol_MoveFragment (line 45) | func TestProtocol_MoveFragment(t *testing.T) { function TestProtocol_UpdateRoutingTable (line 55) | func TestProtocol_UpdateRoutingTable(t *testing.T) { function TestProtocol_LengthOfPart (line 66) | func TestProtocol_LengthOfPart(t *testing.T) { function TestProtocol_LengthOfPart_RC (line 77) | func TestProtocol_LengthOfPart_RC(t *testing.T) { function TestProtocol_Stats (line 89) | func TestProtocol_Stats(t *testing.T) { function TestProtocol_Stats_CR (line 99) | func TestProtocol_Stats_CR(t *testing.T) { function TestProtocol_Auth (line 110) | func TestProtocol_Auth(t *testing.T) { function TestProtocol_Auth_errWrongNumber (line 120) | func TestProtocol_Auth_errWrongNumber(t *testing.T) { FILE: internal/pubsub/handlers.go method subscribeCommandHandler (line 22) | func (s *Service) subscribeCommandHandler(conn redcon.Conn, cmd redcon.C... method publishCommandHandler (line 36) | func (s *Service) publishCommandHandler(conn redcon.Conn, cmd redcon.Com... method publishInternalCommandHandler (line 72) | func (s *Service) publishInternalCommandHandler(conn redcon.Conn, cmd re... method psubscribeCommandHandler (line 82) | func (s *Service) psubscribeCommandHandler(conn redcon.Conn, cmd redcon.... method pubsubChannelsCommandHandler (line 96) | func (s *Service) pubsubChannelsCommandHandler(conn redcon.Conn, cmd red... method pubsubNumpatCommandHandler (line 115) | func (s *Service) pubsubNumpatCommandHandler(conn redcon.Conn, cmd redco... method pubsubNumsubCommandHandler (line 125) | func (s *Service) pubsubNumsubCommandHandler(conn redcon.Conn, cmd redco... FILE: internal/pubsub/handlers_test.go function TestPubSub_Handler_Subscribe (line 28) | func TestPubSub_Handler_Subscribe(t *testing.T) { function TestPubSub_Handler_Unsubscribe (line 77) | func TestPubSub_Handler_Unsubscribe(t *testing.T) { function TestPubSub_Handler_PSubscribe (line 114) | func TestPubSub_Handler_PSubscribe(t *testing.T) { function TestPubSub_Handler_PUnsubscribe (line 164) | func TestPubSub_Handler_PUnsubscribe(t *testing.T) { function TestPubSub_Handler_Ping (line 204) | func TestPubSub_Handler_Ping(t *testing.T) { function TestPubSub_Handler_Close (line 225) | func TestPubSub_Handler_Close(t *testing.T) { function TestPubSub_Handler_PubSubChannels_Without_Patterns (line 246) | func TestPubSub_Handler_PubSubChannels_Without_Patterns(t *testing.T) { function TestPubSub_Handler_PubSubChannels_With_Patterns (line 273) | func TestPubSub_Handler_PubSubChannels_With_Patterns(t *testing.T) { function TestPubSub_Handler_PubSubNumpat (line 301) | func TestPubSub_Handler_PubSubNumpat(t *testing.T) { function TestPubSub_Handler_PubSubNumsub (line 322) | func TestPubSub_Handler_PubSubNumsub(t *testing.T) { function TestPubSub_Cluster (line 345) | func TestPubSub_Cluster(t *testing.T) { FILE: internal/pubsub/pubsub.go type PubSub (line 35) | type PubSub struct method Subscribe (line 48) | func (ps *PubSub) Subscribe(conn redcon.Conn, channel string) { method Psubscribe (line 53) | func (ps *PubSub) Psubscribe(conn redcon.Conn, channel string) { method Publish (line 58) | func (ps *PubSub) Publish(channel, message string) int { method subscribe (line 253) | func (ps *PubSub) subscribe(conn redcon.Conn, pattern bool, channel st... method unsubscribe (line 314) | func (ps *PubSub) unsubscribe(conn redcon.Conn, pattern, all bool, cha... method Channels (line 381) | func (ps *PubSub) Channels() []string { method ChannelsWithPatterns (line 403) | func (ps *PubSub) ChannelsWithPatterns(pattern string) []string { method Numpat (line 425) | func (ps *PubSub) Numpat() int { method Numsub (line 447) | func (ps *PubSub) Numsub(channel string) int { type pubSubConn (line 92) | type pubSubConn struct method writeMessage (line 106) | func (sconn *pubSubConn) writeMessage(pat bool, pchan, channel, msg st... method bgrunner (line 126) | func (sconn *pubSubConn) bgrunner(ps *PubSub) { type pubSubEntry (line 100) | type pubSubEntry struct function byEntry (line 227) | func byEntry(a, b interface{}) bool { FILE: internal/pubsub/pubsub_test.go function testPubSubServer (line 38) | func testPubSubServer(addr string, done chan bool) { function TestPubSub (line 102) | func TestPubSub(t *testing.T) { FILE: internal/pubsub/service.go type Service (line 44) | type Service struct method RegisterHandlers (line 57) | func (s *Service) RegisterHandlers() { method Start (line 91) | func (s *Service) Start() error { method Shutdown (line 96) | func (s *Service) Shutdown(ctx context.Context) error { function NewService (line 68) | func NewService(e *environment.Environment) (service.Service, error) { FILE: internal/ramblock/compaction.go method evictTable (line 26) | func (rb *RamBlock) evictTable(t *table.Table) error { method isTableExpired (line 69) | func (rb *RamBlock) isTableExpired(recycledAt int64) bool { method isCompactionOK (line 79) | func (rb *RamBlock) isCompactionOK(t *table.Table) bool { method Compaction (line 84) | func (rb *RamBlock) Compaction() (bool, error) { FILE: internal/ramblock/compaction_test.go function TestRamBlock_Compaction (line 28) | func TestRamBlock_Compaction(t *testing.T) { function TestRamBlock_Compaction_MaxIdleTableDuration (line 73) | func TestRamBlock_Compaction_MaxIdleTableDuration(t *testing.T) { FILE: internal/ramblock/entry/entry.go type Entry (line 28) | type Entry struct method SetKey (line 42) | func (e *Entry) SetKey(key string) { method Key (line 46) | func (e *Entry) Key() string { method SetValue (line 50) | func (e *Entry) SetValue(value []byte) { method Value (line 54) | func (e *Entry) Value() []byte { method SetTTL (line 58) | func (e *Entry) SetTTL(ttl int64) { method TTL (line 62) | func (e *Entry) TTL() int64 { method SetTimestamp (line 66) | func (e *Entry) SetTimestamp(timestamp int64) { method Timestamp (line 70) | func (e *Entry) Timestamp() int64 { method SetLastAccess (line 74) | func (e *Entry) SetLastAccess(lastAccess int64) { method LastAccess (line 78) | func (e *Entry) LastAccess() int64 { method Encode (line 82) | func (e *Entry) Encode() []byte { method Decode (line 120) | func (e *Entry) Decode(buf []byte) { function New (line 38) | func New() *Entry { FILE: internal/ramblock/entry/entry_test.go function TestEntryEncodeDecode (line 25) | func TestEntryEncodeDecode(t *testing.T) { function TestEntry_Encode_EmptyKey (line 45) | func TestEntry_Encode_EmptyKey(t *testing.T) { function TestEntry_Encode_EmptyValue (line 65) | func TestEntry_Encode_EmptyValue(t *testing.T) { function TestEntry_Encode_MaxLengthKey (line 85) | func TestEntry_Encode_MaxLengthKey(t *testing.T) { function TestEntry_Encode_KeyLengthOverflow (line 106) | func TestEntry_Encode_KeyLengthOverflow(t *testing.T) { FILE: internal/ramblock/ramblock.go constant maxGarbageRatio (line 36) | maxGarbageRatio = 0.40 constant defaultTableSize (line 38) | defaultTableSize = uint64(1 << 20) constant defaultMaxIdleTableTimeout (line 40) | defaultMaxIdleTableTimeout = 15 * time.Minute type RamBlock (line 44) | type RamBlock struct method SetConfig (line 81) | func (rb *RamBlock) SetConfig(c *storage.Config) { method makeTable (line 85) | func (rb *RamBlock) makeTable() error { method SetLogger (line 114) | func (rb *RamBlock) SetLogger(_ *log.Logger) {} method Start (line 116) | func (rb *RamBlock) Start() error { method Fork (line 182) | func (rb *RamBlock) Fork(c *storage.Config) (storage.Engine, error) { method Name (line 199) | func (rb *RamBlock) Name() string { method NewEntry (line 203) | func (rb *RamBlock) NewEntry() storage.Entry { method putWithRetry (line 209) | func (rb *RamBlock) putWithRetry(writeFn func(t *table.Table) error) e... method PutRaw (line 236) | func (rb *RamBlock) PutRaw(hkey uint64, value []byte) error { method Put (line 247) | func (rb *RamBlock) Put(hkey uint64, value storage.Entry) error { method GetRaw (line 258) | func (rb *RamBlock) GetRaw(hkey uint64) ([]byte, error) { method Get (line 281) | func (rb *RamBlock) Get(hkey uint64) (storage.Entry, error) { method GetTTL (line 302) | func (rb *RamBlock) GetTTL(hkey uint64) (int64, error) { method GetLastAccess (line 322) | func (rb *RamBlock) GetLastAccess(hkey uint64) (int64, error) { method GetKey (line 344) | func (rb *RamBlock) GetKey(hkey uint64) (string, error) { method Delete (line 365) | func (rb *RamBlock) Delete(hkey uint64) error { method UpdateTTL (line 384) | func (rb *RamBlock) UpdateTTL(hkey uint64, data storage.Entry) error { method Stats (line 404) | func (rb *RamBlock) Stats() storage.Stats { method Check (line 419) | func (rb *RamBlock) Check(hkey uint64) bool { method Range (line 437) | func (rb *RamBlock) Range(f func(hkey uint64, e storage.Entry) bool) { method RangeHKey (line 451) | func (rb *RamBlock) RangeHKey(f func(hkey uint64) bool) { method findCoefficient (line 461) | func (rb *RamBlock) findCoefficient(coefficient uint64) (uint64, error) { method scanCommon (line 475) | func (rb *RamBlock) scanCommon(cursor uint64, expr string, count int, ... method Scan (line 525) | func (rb *RamBlock) Scan(cursor uint64, count int, f func(e storage.En... method ScanRegexMatch (line 529) | func (rb *RamBlock) ScanRegexMatch(cursor uint64, expr string, count i... method Close (line 533) | func (rb *RamBlock) Close() error { method Destroy (line 537) | func (rb *RamBlock) Destroy() error { function DefaultConfig (line 52) | func DefaultConfig() *storage.Config { function New (line 59) | func New(c *storage.Config) (*RamBlock, error) { function requiredSizeForAnEntry (line 123) | func requiredSizeForAnEntry(e storage.Entry) uint64 { function prepareTableSize (line 127) | func prepareTableSize(raw interface{}) (size uint64, err error) { FILE: internal/ramblock/ramblock_test.go function bkey (line 33) | func bkey(i int) string { function bval (line 37) | func bval(i int) []byte { function testRamBlock (line 41) | func testRamBlock(t *testing.T, c *storage.Config) storage.Engine { function TestRamBlock_Put (line 54) | func TestRamBlock_Put(t *testing.T) { function TestRamBlock_Get (line 69) | func TestRamBlock_Get(t *testing.T) { function TestRamBlock_Delete (line 96) | func TestRamBlock_Delete(t *testing.T) { function TestRamBlock_ExportImport (line 133) | func TestRamBlock_ExportImport(t *testing.T) { function TestRamBlock_Stats_Length (line 178) | func TestRamBlock_Stats_Length(t *testing.T) { function TestRamBlock_Range (line 194) | func TestRamBlock_Range(t *testing.T) { function TestRamBlock_Check (line 218) | func TestRamBlock_Check(t *testing.T) { function TestRamBlock_UpdateTTL (line 240) | func TestRamBlock_UpdateTTL(t *testing.T) { function TestRamBlock_GetKey (line 277) | func TestRamBlock_GetKey(t *testing.T) { function TestRamBlock_PutRawGetRaw (line 296) | func TestRamBlock_PutRawGetRaw(t *testing.T) { function TestRamBlock_GetTTL (line 312) | func TestRamBlock_GetTTL(t *testing.T) { function TestRamBlock_GetLastAccess (line 332) | func TestRamBlock_GetLastAccess(t *testing.T) { function TestRamBlock_Fork (line 349) | func TestRamBlock_Fork(t *testing.T) { function TestRamBlock_StateChange (line 397) | func TestRamBlock_StateChange(t *testing.T) { function TestRamBlock_NewEntry (line 422) | func TestRamBlock_NewEntry(t *testing.T) { function TestRamBlock_Name (line 430) | func TestRamBlock_Name(t *testing.T) { function TestRamBlock_CloseDestroy (line 435) | func TestRamBlock_CloseDestroy(t *testing.T) { function TestStorage_Scan (line 441) | func TestStorage_Scan(t *testing.T) { function TestStorage_ScanRegexMatch (line 475) | func TestStorage_ScanRegexMatch(t *testing.T) { function TestStorage_ScanRegexMatch_OnlyOneEntry (line 516) | func TestStorage_ScanRegexMatch_OnlyOneEntry(t *testing.T) { function TestStorage_Scan_NonContiguousCoefficients (line 563) | func TestStorage_Scan_NonContiguousCoefficients(t *testing.T) { function TestRamBlock_Put_ErrEntryTooLarge (line 638) | func TestRamBlock_Put_ErrEntryTooLarge(t *testing.T) { function TestPrepareTableSize_NegativeValues (line 654) | func TestPrepareTableSize_NegativeValues(t *testing.T) { function TestPrepareTableSize_ValidValues (line 675) | func TestPrepareTableSize_ValidValues(t *testing.T) { function TestPrepareTableSize_InvalidType (line 697) | func TestPrepareTableSize_InvalidType(t *testing.T) { function TestRamBlock_New_NegativeTableSize (line 703) | func TestRamBlock_New_NegativeTableSize(t *testing.T) { function TestRamBlock_Start_NilConfig (line 712) | func TestRamBlock_Start_NilConfig(t *testing.T) { function TestRamBlock_PutRaw_ErrEntryTooLarge (line 722) | func TestRamBlock_PutRaw_ErrEntryTooLarge(t *testing.T) { function TestRamBlock_GetRaw_KeyNotFound (line 733) | func TestRamBlock_GetRaw_KeyNotFound(t *testing.T) { function TestRamBlock_GetTTL_KeyNotFound (line 742) | func TestRamBlock_GetTTL_KeyNotFound(t *testing.T) { function TestRamBlock_GetLastAccess_KeyNotFound (line 751) | func TestRamBlock_GetLastAccess_KeyNotFound(t *testing.T) { function TestRamBlock_GetKey_KeyNotFound (line 760) | func TestRamBlock_GetKey_KeyNotFound(t *testing.T) { function TestRamBlock_Delete_NonExistentKey (line 769) | func TestRamBlock_Delete_NonExistentKey(t *testing.T) { function TestRamBlock_UpdateTTL_KeyNotFound (line 777) | func TestRamBlock_UpdateTTL_KeyNotFound(t *testing.T) { function TestRamBlock_Check_KeyNotFound (line 789) | func TestRamBlock_Check_KeyNotFound(t *testing.T) { function TestRamBlock_RangeHKey (line 796) | func TestRamBlock_RangeHKey(t *testing.T) { function TestRamBlock_SetConfig (line 819) | func TestRamBlock_SetConfig(t *testing.T) { function TestRamBlock_Fork_CustomConfig (line 834) | func TestRamBlock_Fork_CustomConfig(t *testing.T) { function TestRamBlock_MakeTable_RecycledTableReuse (line 849) | func TestRamBlock_MakeTable_RecycledTableReuse(t *testing.T) { function TestRamBlock_EvictTable_PutRawError (line 923) | func TestRamBlock_EvictTable_PutRawError(t *testing.T) { function TestRamBlock_Compaction_NoTables (line 957) | func TestRamBlock_Compaction_NoTables(t *testing.T) { function TestRamBlock_IsCompactionOK_ExactThreshold (line 970) | func TestRamBlock_IsCompactionOK_ExactThreshold(t *testing.T) { function TestTransferIterator_Drop_EmptyTables (line 1024) | func TestTransferIterator_Drop_EmptyTables(t *testing.T) { function TestTransferIterator_Export_SkipsRecycledState (line 1052) | func TestTransferIterator_Export_SkipsRecycledState(t *testing.T) { FILE: internal/ramblock/table/pack.go type Pack (line 24) | type Pack struct function Encode (line 38) | func Encode(t *Table) ([]byte, error) { function Decode (line 61) | func Decode(data []byte) (*Table, error) { FILE: internal/ramblock/table/pack_test.go function bkey (line 27) | func bkey(i int) string { function bval (line 31) | func bval(i int) []byte { function TestTable_Pack_Decode_CorruptData (line 35) | func TestTable_Pack_Decode_CorruptData(t *testing.T) { function TestTable_Pack_EncodeDecode_GarbageAndRecycledAt (line 40) | func TestTable_Pack_EncodeDecode_GarbageAndRecycledAt(t *testing.T) { function TestTable_Pack_EncodeDecode (line 102) | func TestTable_Pack_EncodeDecode(t *testing.T) { FILE: internal/ramblock/table/table.go constant MaxKeyLength (line 32) | MaxKeyLength = 256 constant MetadataLength (line 36) | MetadataLength = 29 type State (line 40) | type State constant ReadWriteState (line 44) | ReadWriteState = State(iota + 1) constant ReadOnlyState (line 47) | ReadOnlyState constant RecycledState (line 50) | RecycledState type Stats (line 63) | type Stats struct type Table (line 87) | type Table struct method SetCoefficient (line 122) | func (t *Table) SetCoefficient(cf uint64) { method Coefficient (line 127) | func (t *Table) Coefficient() uint64 { method SetState (line 132) | func (t *Table) SetState(s State) { method State (line 137) | func (t *Table) State() State { method PutRaw (line 144) | func (t *Table) PutRaw(hkey uint64, value []byte) error { method Put (line 167) | func (t *Table) Put(hkey uint64, value storage.Entry) error { method GetRaw (line 227) | func (t *Table) GetRaw(hkey uint64) ([]byte, error) { method getRawKey (line 255) | func (t *Table) getRawKey(offset uint64) ([]byte, error) { method GetRawKey (line 263) | func (t *Table) GetRawKey(hkey uint64) ([]byte, error) { method GetKey (line 274) | func (t *Table) GetKey(hkey uint64) (string, error) { method GetTTL (line 284) | func (t *Table) GetTTL(hkey uint64) (int64, error) { method GetLastAccess (line 299) | func (t *Table) GetLastAccess(hkey uint64) (int64, error) { method get (line 316) | func (t *Table) get(offset uint64) storage.Entry { method Get (line 353) | func (t *Table) Get(hkey uint64) (storage.Entry, error) { method Delete (line 365) | func (t *Table) Delete(hkey uint64) error { method UpdateTTL (line 409) | func (t *Table) UpdateTTL(hkey uint64, value storage.Entry) error { method Check (line 435) | func (t *Table) Check(hkey uint64) bool { method Stats (line 441) | func (t *Table) Stats() Stats { method Range (line 453) | func (t *Table) Range(f func(hkey uint64, e storage.Entry) bool) { method RangeHKey (line 468) | func (t *Table) RangeHKey(f func(hkey uint64) bool) { method Reset (line 479) | func (t *Table) Reset() { method Scan (line 496) | func (t *Table) Scan(cursor uint64, count int, f func(e storage.Entry)... method ScanRegexMatch (line 524) | func (t *Table) ScanRegexMatch(cursor uint64, expr string, count int, ... function New (line 102) | func New(size uint64) *Table { FILE: internal/ramblock/table/table_test.go constant hkey (line 32) | hkey uint64 = 18071988 function setupTable (line 34) | func setupTable() (*Table, storage.Entry) { function TestTable_Put (line 42) | func TestTable_Put(t *testing.T) { function TestTable_Get (line 48) | func TestTable_Get(t *testing.T) { function TestTable_Delete (line 63) | func TestTable_Delete(t *testing.T) { function TestTable_Check (line 76) | func TestTable_Check(t *testing.T) { function TestTable_PutRaw (line 89) | func TestTable_PutRaw(t *testing.T) { function TestTable_GetRaw (line 100) | func TestTable_GetRaw(t *testing.T) { function TestTable_GetRawKey (line 118) | func TestTable_GetRawKey(t *testing.T) { function TestTable_GetKey (line 129) | func TestTable_GetKey(t *testing.T) { function TestTable_SetState (line 140) | func TestTable_SetState(t *testing.T) { function TestTable_GetTTL (line 146) | func TestTable_GetTTL(t *testing.T) { function TestTable_GetLastAccess (line 159) | func TestTable_GetLastAccess(t *testing.T) { function TestTable_UpdateTTL (line 170) | func TestTable_UpdateTTL(t *testing.T) { function TestTable_UpdateTTL_Update_LastAccess (line 187) | func TestTable_UpdateTTL_Update_LastAccess(t *testing.T) { function TestTable_State (line 210) | func TestTable_State(t *testing.T) { function TestTable_Range (line 215) | func TestTable_Range(t *testing.T) { function TestTable_Stats (line 246) | func TestTable_Stats(t *testing.T) { function TestTable_Reset (line 279) | func TestTable_Reset(t *testing.T) { function TestTable_Reset_RecycleScenario (line 312) | func TestTable_Reset_RecycleScenario(t *testing.T) { function TestTable_Scan (line 368) | func TestTable_Scan(t *testing.T) { function TestTable_ScanRegexMatch (line 396) | func TestTable_ScanRegexMatch(t *testing.T) { function TestTable_Put_ErrKeyTooLarge (line 434) | func TestTable_Put_ErrKeyTooLarge(t *testing.T) { function TestTable_Put_OverwriteExistingKey (line 445) | func TestTable_Put_OverwriteExistingKey(t *testing.T) { function TestTable_PutRaw_ErrNotEnoughSpace (line 473) | func TestTable_PutRaw_ErrNotEnoughSpace(t *testing.T) { function TestTable_Put_ErrNotEnoughSpace (line 480) | func TestTable_Put_ErrNotEnoughSpace(t *testing.T) { function TestTable_GetRaw_ErrHKeyNotFound (line 490) | func TestTable_GetRaw_ErrHKeyNotFound(t *testing.T) { function TestTable_Delete_ErrHKeyNotFound (line 496) | func TestTable_Delete_ErrHKeyNotFound(t *testing.T) { function TestTable_UpdateTTL_ErrHKeyNotFound (line 502) | func TestTable_UpdateTTL_ErrHKeyNotFound(t *testing.T) { function TestTable_RangeHKey (line 510) | func TestTable_RangeHKey(t *testing.T) { function TestTable_ScanRegexMatch_InvalidRegex (line 540) | func TestTable_ScanRegexMatch_InvalidRegex(t *testing.T) { function TestTable_Coefficient (line 554) | func TestTable_Coefficient(t *testing.T) { function TestTable_ScanRegexMatch_SingleMatch (line 565) | func TestTable_ScanRegexMatch_SingleMatch(t *testing.T) { FILE: internal/ramblock/transport.go type transferIterator (line 25) | type transferIterator struct method Next (line 29) | func (t *transferIterator) Next() bool { method Drop (line 33) | func (t *transferIterator) Drop(index int) error { method Export (line 45) | func (t *transferIterator) Export() ([]byte, int, error) { method Import (line 60) | func (rb *RamBlock) Import(data []byte, f func(uint64, storage.Entry) er... method TransferIterator (line 72) | func (rb *RamBlock) TransferIterator() storage.TransferIterator { FILE: internal/resp/encoder.go type encoder (line 39) | type encoder interface type Encoder (line 45) | type Encoder struct method Encode (line 61) | func (e *Encoder) Encode(v interface{}) error { method bytes (line 115) | func (e *Encoder) bytes(b []byte) error { method string (line 122) | func (e *Encoder) string(s string) error { method uint (line 126) | func (e *Encoder) uint(n uint64) error { method int (line 131) | func (e *Encoder) int(n int64) error { method float (line 136) | func (e *Encoder) float(f float64) error { function New (line 52) | func New(e encoder) *Encoder { FILE: internal/resp/encoder_test.go type MyType (line 13) | type MyType struct method MarshalBinary (line 17) | func (t *MyType) MarshalBinary() ([]byte, error) { method UnmarshalBinary (line 21) | func (t *MyType) UnmarshalBinary(data []byte) error { function TestWriter_WriteArg (line 28) | func TestWriter_WriteArg(t *testing.T) { FILE: internal/resp/scan.go function Scan (line 40) | func Scan(b []byte, v interface{}) error { FILE: internal/roundrobin/round_robin.go type RoundRobin (line 27) | type RoundRobin struct method Get (line 45) | func (r *RoundRobin) Get() (string, error) { method Add (line 68) | func (r *RoundRobin) Add(item string) { method Delete (line 76) | func (r *RoundRobin) Delete(item string) { method Length (line 89) | func (r *RoundRobin) Length() int { function New (line 37) | func New(items []string) *RoundRobin { FILE: internal/roundrobin/round_robin_test.go function TestRoundRobin (line 23) | func TestRoundRobin(t *testing.T) { function TestRoundRobin_Delete_NonExistent (line 75) | func TestRoundRobin_Delete_NonExistent(t *testing.T) { FILE: internal/server/client.go type Client (line 28) | type Client struct method Addresses (line 51) | func (c *Client) Addresses() map[string]struct{} { method Get (line 62) | func (c *Client) Get(addr string) *redis.Client { method pickNodeRoundRobin (line 91) | func (c *Client) pickNodeRoundRobin() (string, error) { method Pick (line 105) | func (c *Client) Pick() (*redis.Client, error) { method Close (line 113) | func (c *Client) Close(addr string) error { method Shutdown (line 130) | func (c *Client) Shutdown(ctx context.Context) error { function NewClient (line 36) | func NewClient(c *config.Client) *Client { FILE: internal/server/client_test.go function TestServer_Client_Get (line 29) | func TestServer_Client_Get(t *testing.T) { function TestServer_Client_Pick (line 59) | func TestServer_Client_Pick(t *testing.T) { function TestServer_Client_Close (line 99) | func TestServer_Client_Close(t *testing.T) { function TestServer_Client_Shutdown (line 118) | func TestServer_Client_Shutdown(t *testing.T) { FILE: internal/server/handler.go type ServeMuxWrapper (line 25) | type ServeMuxWrapper struct method HandleFunc (line 75) | func (m *ServeMuxWrapper) HandleFunc(command string, handler func(conn... type HandlerFunc (line 34) | type HandlerFunc type Handler (line 36) | type Handler struct method ServeRESP (line 42) | func (h Handler) ServeRESP(conn redcon.Conn, cmd redcon.Command) { FILE: internal/server/handler_test.go function respEcho (line 29) | func respEcho(t *testing.T, s *Server) { function TestHandler_ServeRESP_PreCondition (line 52) | func TestHandler_ServeRESP_PreCondition(t *testing.T) { function TestHandler_ServeRESP_PreCondition_DontCheck (line 67) | func TestHandler_ServeRESP_PreCondition_DontCheck(t *testing.T) { FILE: internal/server/mux.go type ServeMux (line 38) | type ServeMux struct method HandleFunc (line 53) | func (m *ServeMux) HandleFunc(command string, handler redcon.Handler) { method Handle (line 62) | func (m *ServeMux) Handle(command string, handler redcon.Handler) { method ServeRESP (line 77) | func (m *ServeMux) ServeRESP(conn redcon.Conn, cmd redcon.Command) { function NewServeMux (line 44) | func NewServeMux(c *Config) *ServeMux { FILE: internal/server/mux_test.go function TestMux_PubSub_Command (line 28) | func TestMux_PubSub_Command(t *testing.T) { FILE: internal/server/server.go type Config (line 48) | type Config struct type ConnContext (line 57) | type ConnContext struct method SetAuthenticated (line 70) | func (c *ConnContext) SetAuthenticated(authenticated bool) { method IsAuthenticated (line 78) | func (c *ConnContext) IsAuthenticated() bool { function NewConnContext (line 65) | func NewConnContext() *ConnContext { type ConnWrapper (line 86) | type ConnWrapper struct method Write (line 92) | func (cw *ConnWrapper) Write(b []byte) (n int, err error) { method Read (line 103) | func (cw *ConnWrapper) Read(b []byte) (n int, err error) { type ListenerWrapper (line 114) | type ListenerWrapper struct method Accept (line 120) | func (lw *ListenerWrapper) Accept() (net.Conn, error) { type Server (line 139) | type Server struct method SetPreConditionFunc (line 177) | func (s *Server) SetPreConditionFunc(f func(conn redcon.Conn, cmd redc... method ServeMux (line 187) | func (s *Server) ServeMux() *ServeMuxWrapper { method ListenAndServe (line 192) | func (s *Server) ListenAndServe() error { method Shutdown (line 237) | func (s *Server) Shutdown(ctx context.Context) error { function New (line 156) | func New(c *Config, l *flog.Logger) *Server { FILE: internal/server/server_test.go function getFreePort (line 33) | func getFreePort() (int, error) { function newServerWithPreConditionFunc (line 50) | func newServerWithPreConditionFunc(t *testing.T, precond func(conn redco... function newServer (line 85) | func newServer(t *testing.T) *Server { function defaultRedisOptions (line 93) | func defaultRedisOptions(c *Config) *redis.Options { function TestServer_RESP (line 99) | func TestServer_RESP(t *testing.T) { function TestServer_RESP_Stats (line 105) | func TestServer_RESP_Stats(t *testing.T) { function TestConnContext_Authentication (line 117) | func TestConnContext_Authentication(t *testing.T) { FILE: internal/service/service.go type Service (line 21) | type Service interface FILE: internal/stats/stats.go type Int64Counter (line 21) | type Int64Counter struct method Increase (line 31) | func (c *Int64Counter) Increase(delta int64) { method Read (line 36) | func (c *Int64Counter) Read() int64 { method Reset (line 41) | func (c *Int64Counter) Reset() { function NewInt64Counter (line 26) | func NewInt64Counter() *Int64Counter { type Int64Gauge (line 47) | type Int64Gauge struct method Increase (line 57) | func (c *Int64Gauge) Increase(delta int64) { method Decrease (line 62) | func (c *Int64Gauge) Decrease(delta int64) { method Read (line 67) | func (c *Int64Gauge) Read() int64 { method Reset (line 72) | func (c *Int64Gauge) Reset() { function NewInt64Gauge (line 52) | func NewInt64Gauge() *Int64Gauge { FILE: internal/stats/stats_test.go function TestUint64Counter (line 24) | func TestUint64Counter(t *testing.T) { function TestUint64Gauge (line 41) | func TestUint64Gauge(t *testing.T) { FILE: internal/testcluster/testcluster.go type TestCluster (line 36) | type TestCluster struct method newService (line 63) | func (t *TestCluster) newService(e *environment.Environment) service.S... method syncCluster (line 103) | func (t *TestCluster) syncCluster() { method AddMember (line 121) | func (t *TestCluster) AddMember(e *environment.Environment) service.Se... method Shutdown (line 174) | func (t *TestCluster) Shutdown() { function NewEnvironment (line 47) | func NewEnvironment(c *config.Config) *environment.Environment { function New (line 94) | func New(constructor func(e *environment.Environment) (service.Service, ... FILE: internal/testutil/mockfragment/mockfragment.go type Result (line 28) | type Result struct type MockFragment (line 33) | type MockFragment struct method Stats (line 46) | func (f *MockFragment) Stats() storage.Stats { method Name (line 54) | func (f *MockFragment) Name() string { method Put (line 58) | func (f *MockFragment) Put(key string, value interface{}) { method Get (line 64) | func (f *MockFragment) Get(key string) interface{} { method Delete (line 70) | func (f *MockFragment) Delete(key string) { method Fill (line 76) | func (f *MockFragment) Fill() { method Result (line 91) | func (f *MockFragment) Result() map[partitions.Kind]map[uint64]Result { method Move (line 95) | func (f *MockFragment) Move(part *partitions.Partition, name string, o... method Compaction (line 113) | func (f *MockFragment) Compaction() (bool, error) { method Destroy (line 117) | func (f *MockFragment) Destroy() error { method Close (line 124) | func (f *MockFragment) Close() error { function New (line 39) | func New() *MockFragment { FILE: internal/testutil/testutil.go function GetFreePort (line 31) | func GetFreePort() (int, error) { function NewFlogger (line 48) | func NewFlogger(c *config.Config) *flog.Logger { function NewEngineConfig (line 57) | func NewEngineConfig(t *testing.T) *config.Engine { function NewConfig (line 64) | func NewConfig() *config.Config { function NewServer (line 86) | func NewServer(c *config.Config) *server.Server { function TryWithInterval (line 96) | func TryWithInterval(max int, interval time.Duration, f func() error) er... function ToKey (line 119) | func ToKey(i int) string { function ToVal (line 123) | func ToVal(i int) []byte { FILE: internal/util/safe.go function BytesToString (line 32) | func BytesToString(b []byte) string { function StringToBytes (line 36) | func StringToBytes(s string) []byte { FILE: internal/util/strconv.go function Atoi (line 31) | func Atoi(b []byte) (int, error) { function ParseInt (line 35) | func ParseInt(b []byte, base int, bitSize int) (int64, error) { function ParseUint (line 39) | func ParseUint(b []byte, base int, bitSize int) (uint64, error) { function ParseFloat (line 43) | func ParseFloat(b []byte, bitSize int) (float64, error) { FILE: internal/util/unsafe.go function BytesToString (line 37) | func BytesToString(b []byte) string { function StringToBytes (line 42) | func StringToBytes(s string) []byte { FILE: olric.go constant ReleaseVersion (line 60) | ReleaseVersion string = "0.7.3" type Olric (line 108) | type Olric struct method preconditionFunc (line 262) | func (db *Olric) preconditionFunc(conn redcon.Conn, _ redcon.Command) ... method registerCommandHandlers (line 271) | func (db *Olric) registerCommandHandlers() { method callStartedCallback (line 281) | func (db *Olric) callStartedCallback() { method isOperable (line 317) | func (db *Olric) isOperable() error { method Start (line 327) | func (db *Olric) Start() error { method Shutdown (line 411) | func (db *Olric) Shutdown(ctx context.Context) error { function prepareConfig (line 140) | func prepareConfig(c *config.Config) (*config.Config, error) { function initializeServices (line 172) | func initializeServices(db *Olric) error { function New (line 195) | func New(c *config.Config) (*Olric, error) { function convertClusterError (line 303) | func convertClusterError(err error) error { function convertDMapError (line 468) | func convertDMapError(err error) error { function registerErrors (line 496) | func registerErrors() { FILE: olric_test.go function newTestOlricWithConfig (line 34) | func newTestOlricWithConfig(t *testing.T, c *config.Config) *Olric { type testOlricCluster (line 76) | type testOlricCluster struct method addMemberWithConfig (line 96) | func (cl *testOlricCluster) addMemberWithConfig(t *testing.T, c *confi... method addMember (line 114) | func (cl *testOlricCluster) addMember(t *testing.T) *Olric { function newTestOlricCluster (line 81) | func newTestOlricCluster(t *testing.T) *testOlricCluster { function TestOlric_StartAndShutdown (line 118) | func TestOlric_StartAndShutdown(t *testing.T) { function TestOlricCluster_StartAndShutdown (line 126) | func TestOlricCluster_StartAndShutdown(t *testing.T) { FILE: ping.go constant DefaultPingResponse (line 25) | DefaultPingResponse = "PONG" method ping (line 27) | func (db *Olric) ping(ctx context.Context, addr, message string) ([]byte... method pingCommandHandler (line 44) | func (db *Olric) pingCommandHandler(conn redcon.Conn, cmd redcon.Command) { FILE: ping_test.go function TestOlric_Ping (line 24) | func TestOlric_Ping(t *testing.T) { function TestOlric_PingWithMessage (line 33) | func TestOlric_PingWithMessage(t *testing.T) { FILE: pipeline.go type DMapPipeline (line 57) | type DMapPipeline struct method addCommand (line 70) | func (dp *DMapPipeline) addCommand(key string, cmd redis.Cmder) (uint6... method Put (line 117) | func (dp *DMapPipeline) Put(ctx context.Context, key string, value int... method Get (line 177) | func (dp *DMapPipeline) Get(ctx context.Context, key string) *FutureGet { method Delete (line 222) | func (dp *DMapPipeline) Delete(ctx context.Context, key string) *Futur... method Expire (line 264) | func (dp *DMapPipeline) Expire(ctx context.Context, key string, timeou... method Incr (line 309) | func (dp *DMapPipeline) Incr(ctx context.Context, key string, delta in... method Decr (line 354) | func (dp *DMapPipeline) Decr(ctx context.Context, key string, delta in... method GetPut (line 405) | func (dp *DMapPipeline) GetPut(ctx context.Context, key string, value ... method IncrByFloat (line 459) | func (dp *DMapPipeline) IncrByFloat(ctx context.Context, key string, d... method execOnPartition (line 471) | func (dp *DMapPipeline) execOnPartition(ctx context.Context, partID ui... method Exec (line 499) | func (dp *DMapPipeline) Exec(ctx context.Context) error { method Discard (line 541) | func (dp *DMapPipeline) Discard() error { method Close (line 581) | func (dp *DMapPipeline) Close() { method initContexts (line 617) | func (dp *DMapPipeline) initContexts() { type FuturePut (line 88) | type FuturePut struct method Result (line 97) | func (f *FuturePut) Result() error { type FutureGet (line 143) | type FutureGet struct method Result (line 152) | func (f *FutureGet) Result() (*GetResponse, error) { type FutureDelete (line 190) | type FutureDelete struct method Result (line 199) | func (f *FutureDelete) Result() (int, error) { type FutureExpire (line 235) | type FutureExpire struct method Result (line 244) | func (f *FutureExpire) Result() error { type FutureIncr (line 277) | type FutureIncr struct method Result (line 286) | func (f *FutureIncr) Result() (int, error) { type FutureDecr (line 322) | type FutureDecr struct method Result (line 331) | func (f *FutureDecr) Result() (int, error) { type FutureGetPut (line 367) | type FutureGetPut struct method Result (line 376) | func (f *FutureGetPut) Result() (*GetResponse, error) { type FutureIncrByFloat (line 426) | type FutureIncrByFloat struct method Result (line 435) | func (f *FutureIncrByFloat) Result() (float64, error) { method Pipeline (line 596) | func (dm *ClusterDMap) Pipeline(opts ...PipelineOption) (*DMapPipeline, ... function getPipelineCmdsFromPool (line 636) | func getPipelineCmdsFromPool() []redis.Cmder { function putPipelineCmdsIntoPool (line 640) | func putPipelineCmdsIntoPool(cmds []redis.Cmder) { FILE: pipeline_test.go function TestDMapPipeline_Put (line 27) | func TestDMapPipeline_Put(t *testing.T) { function TestDMapPipeline_Get (line 69) | func TestDMapPipeline_Get(t *testing.T) { function TestDMapPipeline_Delete (line 110) | func TestDMapPipeline_Delete(t *testing.T) { function TestDMapPipeline_Expire (line 148) | func TestDMapPipeline_Expire(t *testing.T) { function TestDMapPipeline_Incr (line 192) | func TestDMapPipeline_Incr(t *testing.T) { function TestDMapPipeline_Decr (line 226) | func TestDMapPipeline_Decr(t *testing.T) { function TestDMapPipeline_GetPut (line 260) | func TestDMapPipeline_GetPut(t *testing.T) { function TestDMapPipeline_IncrByFloat (line 296) | func TestDMapPipeline_IncrByFloat(t *testing.T) { function TestDMapPipeline_Discard (line 329) | func TestDMapPipeline_Discard(t *testing.T) { function TestDMapPipeline_Close (line 367) | func TestDMapPipeline_Close(t *testing.T) { function TestDMapPipeline_ErrNotReady (line 397) | func TestDMapPipeline_ErrNotReady(t *testing.T) { function TestDMapPipeline_EmbeddedClient (line 469) | func TestDMapPipeline_EmbeddedClient(t *testing.T) { function TestDMapPipeline_setOrGetClusterClient (line 510) | func TestDMapPipeline_setOrGetClusterClient(t *testing.T) { FILE: pkg/flog/flog.go type Logger (line 56) | type Logger struct method SetLevel (line 70) | func (f *Logger) SetLevel(level int32) { method ShowLineNumber (line 78) | func (f *Logger) ShowLineNumber(show int32) { method V (line 93) | func (f *Logger) V(level int32) Verbose { function New (line 63) | func New(logger *log.Logger) *Logger { type Verbose (line 86) | type Verbose struct method Ok (line 101) | func (v Verbose) Ok() bool { method Printf (line 107) | func (v Verbose) Printf(format string, i ...interface{}) { method Println (line 121) | func (v Verbose) Println(i ...interface{}) { FILE: pkg/service_discovery/service_discovery.go type ServiceDiscovery (line 21) | type ServiceDiscovery interface FILE: pkg/storage/config.go type Config (line 23) | type Config struct method Add (line 39) | func (c *Config) Add(key string, value interface{}) { method Get (line 46) | func (c *Config) Get(key string) (interface{}, error) { method Delete (line 57) | func (c *Config) Delete(key string) { method Copy (line 64) | func (c *Config) Copy() *Config { method ToMap (line 77) | func (c *Config) ToMap() map[string]interface{} { function NewConfig (line 29) | func NewConfig(cfg map[string]interface{}) *Config { FILE: pkg/storage/config_test.go function Test_Config (line 22) | func Test_Config(t *testing.T) { FILE: pkg/storage/engine.go type TransferIterator (line 38) | type TransferIterator interface type Engine (line 51) | type Engine interface FILE: pkg/storage/entry.go type Entry (line 18) | type Entry interface FILE: pkg/storage/stats.go type Stats (line 18) | type Stats struct FILE: pubsub.go type PubSub (line 25) | type PubSub struct method Subscribe (line 58) | func (ps *PubSub) Subscribe(ctx context.Context, channels ...string) *... method PSubscribe (line 62) | func (ps *PubSub) PSubscribe(ctx context.Context, channels ...string) ... method Publish (line 66) | func (ps *PubSub) Publish(ctx context.Context, channel string, message... method PubSubChannels (line 70) | func (ps *PubSub) PubSubChannels(ctx context.Context, pattern string) ... method PubSubNumSub (line 74) | func (ps *PubSub) PubSubNumSub(ctx context.Context, channels ...string... method PubSubNumPat (line 78) | func (ps *PubSub) PubSubNumPat(ctx context.Context) (int64, error) { function newPubSub (line 31) | func newPubSub(client *server.Client, options ...PubSubOption) (*PubSub,... FILE: pubsub_test.go function pubsubTestRunner (line 27) | func pubsubTestRunner(t *testing.T, ps *PubSub, kind, channel string) { function TestPubSub_Publish_Subscribe (line 82) | func TestPubSub_Publish_Subscribe(t *testing.T) { function TestPubSub_Publish_PSubscribe (line 99) | func TestPubSub_Publish_PSubscribe(t *testing.T) { function TestPubSub_PubSubChannels (line 115) | func TestPubSub_PubSubChannels(t *testing.T) { function TestPubSub_PubSubNumSub (line 145) | func TestPubSub_PubSubNumSub(t *testing.T) { function TestPubSub_PubSubNumPat (line 179) | func TestPubSub_PubSubNumPat(t *testing.T) { function TestPubSub_Cluster (line 208) | func TestPubSub_Cluster(t *testing.T) { FILE: stats.go function toMember (line 33) | func toMember(member discovery.Member) stats.Member { function toMembers (line 41) | func toMembers(members []discovery.Member) []stats.Member { method collectPartitionMetrics (line 49) | func (db *Olric) collectPartitionMetrics(partID uint64, part *partitions... method checkPartitionOwnership (line 76) | func (db *Olric) checkPartitionOwnership(part *partitions.Partition) bool { method stats (line 86) | func (db *Olric) stats(cfg statsConfig) stats.Stats { method statsCommandHandler (line 153) | func (db *Olric) statsCommandHandler(conn redcon.Conn, cmd redcon.Comman... FILE: stats/stats.go type PartitionID (line 22) | type PartitionID type MemberID (line 25) | type MemberID type SlabInfo (line 29) | type SlabInfo struct type DMap (line 41) | type DMap struct type Partition (line 53) | type Partition struct type Runtime (line 68) | type Runtime struct type Member (line 89) | type Member struct method String (line 102) | func (m Member) String() string { type Network (line 107) | type Network struct type DMaps (line 125) | type DMaps struct type PubSub (line 146) | type PubSub struct type Stats (line 164) | type Stats struct FILE: stats/stats_test.go function TestMember_String (line 24) | func TestMember_String(t *testing.T) { FILE: stats_test.go function resetPubSubStats (line 32) | func resetPubSubStats() { function TestOlric_Stats (line 40) | func TestOlric_Stats(t *testing.T) { function TestOlric_Stats_CollectRuntime (line 93) | func TestOlric_Stats_CollectRuntime(t *testing.T) { function TestOlric_Stats_Cluster (line 106) | func TestOlric_Stats_Cluster(t *testing.T) { function TestStats_PubSub (line 118) | func TestStats_PubSub(t *testing.T) { function TestStats_DMap (line 199) | func TestStats_DMap(t *testing.T) {