You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							50 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							50 lines
						
					
					
						
							1.5 KiB
						
					
					
				| package protocol | |
| 
 | |
| import ( | |
| 	"github.com/seaweedfs/seaweedfs/weed/mq/kafka/consumer_offset" | |
| ) | |
| 
 | |
| // offsetStorageAdapter adapts consumer_offset.OffsetStorage to ConsumerOffsetStorage interface | |
| type offsetStorageAdapter struct { | |
| 	storage consumer_offset.OffsetStorage | |
| } | |
| 
 | |
| // newOffsetStorageAdapter creates a new adapter | |
| func newOffsetStorageAdapter(storage consumer_offset.OffsetStorage) ConsumerOffsetStorage { | |
| 	return &offsetStorageAdapter{storage: storage} | |
| } | |
| 
 | |
| func (a *offsetStorageAdapter) CommitOffset(group, topic string, partition int32, offset int64, metadata string) error { | |
| 	return a.storage.CommitOffset(group, topic, partition, offset, metadata) | |
| } | |
| 
 | |
| func (a *offsetStorageAdapter) FetchOffset(group, topic string, partition int32) (int64, string, error) { | |
| 	return a.storage.FetchOffset(group, topic, partition) | |
| } | |
| 
 | |
| func (a *offsetStorageAdapter) FetchAllOffsets(group string) (map[TopicPartition]OffsetMetadata, error) { | |
| 	offsets, err := a.storage.FetchAllOffsets(group) | |
| 	if err != nil { | |
| 		return nil, err | |
| 	} | |
| 
 | |
| 	// Convert from consumer_offset types to protocol types | |
| 	result := make(map[TopicPartition]OffsetMetadata, len(offsets)) | |
| 	for tp, om := range offsets { | |
| 		result[TopicPartition{Topic: tp.Topic, Partition: tp.Partition}] = OffsetMetadata{ | |
| 			Offset:   om.Offset, | |
| 			Metadata: om.Metadata, | |
| 		} | |
| 	} | |
| 
 | |
| 	return result, nil | |
| } | |
| 
 | |
| func (a *offsetStorageAdapter) DeleteGroup(group string) error { | |
| 	return a.storage.DeleteGroup(group) | |
| } | |
| 
 | |
| func (a *offsetStorageAdapter) Close() error { | |
| 	return a.storage.Close() | |
| } | |
| 
 |