github.com/ydb-platform/ydb-go-sdk/v3@v3.89.2/internal/topic/topicreadercommon/init_message.go (about)

     1  package topicreadercommon
     2  
     3  import "github.com/ydb-platform/ydb-go-sdk/v3/internal/grpcwrapper/rawtopic/rawtopicreader"
     4  
     5  func CreateInitMessage(consumer string, selectors []*PublicReadSelector) *rawtopicreader.InitRequest {
     6  	res := &rawtopicreader.InitRequest{
     7  		Consumer: consumer,
     8  	}
     9  
    10  	res.TopicsReadSettings = make([]rawtopicreader.TopicReadSettings, len(selectors))
    11  	for i, selector := range selectors {
    12  		settings := &res.TopicsReadSettings[i]
    13  		settings.Path = selector.Path
    14  		settings.PartitionsID = selector.Partitions
    15  		if !selector.ReadFrom.IsZero() {
    16  			settings.ReadFrom.HasValue = true
    17  			settings.ReadFrom.Value = selector.ReadFrom
    18  		}
    19  		if selector.MaxTimeLag != 0 {
    20  			settings.MaxLag.HasValue = true
    21  			settings.MaxLag.Value = selector.MaxTimeLag
    22  		}
    23  	}
    24  
    25  	return res
    26  }