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 }