partition_list.go 879 B

1234567891011121314151617181920212223242526272829303132
  1. package sub_coordinator
  2. import "github.com/seaweedfs/seaweedfs/weed/mq/topic"
  3. type PartitionSlotToConsumerInstance struct {
  4. RangeStart int32
  5. RangeStop int32
  6. AssignedInstanceId string
  7. }
  8. type PartitionSlotToConsumerInstanceList struct {
  9. PartitionSlots []*PartitionSlotToConsumerInstance
  10. RingSize int32
  11. Version int64
  12. }
  13. func NewPartitionSlotToConsumerInstanceList(ringSize int32, version int64) *PartitionSlotToConsumerInstanceList {
  14. return &PartitionSlotToConsumerInstanceList{
  15. RingSize: ringSize,
  16. Version: version,
  17. }
  18. }
  19. func ToPartitionSlots(partitions []*topic.Partition) (partitionSlots []*PartitionSlotToConsumerInstance) {
  20. for _, partition := range partitions {
  21. partitionSlots = append(partitionSlots, &PartitionSlotToConsumerInstance{
  22. RangeStart: partition.RangeStart,
  23. RangeStop: partition.RangeStop,
  24. })
  25. }
  26. return
  27. }