gitee.com/lh-her-team/common@v1.5.1/shardingbirdsnest/interface.go (about)

     1  // Package shardingbirdsnest interface
     2  package shardingbirdsnest
     3  
     4  import bn "gitee.com/lh-her-team/common/birdsnest"
     5  
     6  // ShardingAlgorithm sharding algorithm
     7  type ShardingAlgorithm interface {
     8  	// DoSharding do sharding
     9  	DoSharding(shardingValues []bn.Key) [][]bn.Key
    10  	// DoShardingOnce once sharding
    11  	DoShardingOnce(bn.Key) (index int)
    12  }
    13  
    14  // KeyModuloAlgorithm key modulo algorithm
    15  type KeyModuloAlgorithm func(key bn.Key, length int) int