MCPcopy Create free account
hub / github.com/ethstorage/es-node / UploadNodeState

Function UploadNodeState

cmd/priv-dashboard/test/main.go:144–185  ·  view source on GitHub ↗
(url string)

Source from the content-addressed store, hash-verified

142}
143
144func UploadNodeState(url string) {
145 helloUrl := fmt.Sprintf("%s/hello", url)
146 stateUrl := fmt.Sprintf("%s/reportstate", url)
147 states := make([]IState, 0)
148
149 for i := 0; i < TotalPeer; i++ {
150 s := generateState()
151 states = append(states, s)
152 _, err := sendMessage(helloUrl, s.ID())
153 if err != nil {
154 log.Warn("Send message to resp", "err", err.Error())
155 return
156 }
157 }
158
159 sendStates := func() {
160 for _, s := range states {
161 s.Update()
162 data, err := s.Serialize()
163 if err != nil {
164 log.Info("Fail to Marshal node state", "error", err.Error())
165 continue
166 }
167 res, err := sendMessage(stateUrl, data)
168 if err != nil {
169 log.Info("Fail to upload node state", "id", s.ID(), "error", err.Error())
170 } else {
171 log.Info("get response", "Serialize data", data, "response", res)
172 }
173 }
174 }
175
176 sendStates()
177 ticker := time.NewTicker(1 * time.Minute)
178 defer ticker.Stop()
179 for {
180 select {
181 case <-ticker.C:
182 sendStates()
183 }
184 }
185}
186
187func generateState() IState {
188 privateKey, _ := ecdsa.GenerateKey(crypto.S256(), crand.Reader)

Callers 1

mainFunction · 0.85

Calls 7

generateStateFunction · 0.85
sendMessageFunction · 0.70
IDMethod · 0.65
UpdateMethod · 0.65
SerializeMethod · 0.65
ErrorMethod · 0.45
StopMethod · 0.45

Tested by

no test coverage detected