@@ -82,7 +82,6 @@ func (h *Handler) ListenToRequests() {
82
82
h .Log .Error (err )
83
83
continue
84
84
}
85
-
86
85
replySubject := payload .Reply
87
86
88
87
if ! allInformersCacheSynced {
@@ -97,14 +96,10 @@ func (h *Handler) ListenToRequests() {
97
96
continue
98
97
}
99
98
100
- h .Log .Info ("Sending the current state of the informer store to " , replySubject )
101
99
storeObjects := h .listStoreObjects ()
102
- newList := make ([]model.Object , 0 )
103
- for _ , obj := range storeObjects {
104
- newList = append (newList , model .ParseList (* obj .(* unstructured.Unstructured )))
105
- }
100
+ splitSlices := splitIntoMultipleSlices (storeObjects , 5 ) // performance of NATS is bound to degrade if huge messages are sent
106
101
107
- splitSlices := splitIntoMultipleSlices ( newList , 5 )
102
+ h . Log . Info ( "Publishing the data from informer stores to the subject: " , replySubject )
108
103
for _ , val := range splitSlices {
109
104
err = h .Broker .Publish (replySubject , & broker.Message {
110
105
Object : val ,
@@ -136,12 +131,16 @@ func (h *Handler) ListenToRequests() {
136
131
}
137
132
}
138
133
139
- func (h * Handler ) listStoreObjects () []interface {} {
134
+ func (h * Handler ) listStoreObjects () []model. Object {
140
135
objects := make ([]interface {}, 0 )
141
136
for _ , v := range h .stores {
142
137
objects = append (objects , v .List ()... )
143
138
}
144
- return objects
139
+ parsedObjects := make ([]model.Object , 0 )
140
+ for _ , obj := range objects {
141
+ parsedObjects = append (parsedObjects , model .ParseList (* obj .(* unstructured.Unstructured )))
142
+ }
143
+ return parsedObjects
145
144
}
146
145
147
146
// TODO: move this to meshkit
0 commit comments