Some checks failed
release-tag / Resolve release metadata (push) Successful in 30s
release-tag / Build knowledge (push) Failing after 4m51s
release-tag / Build control (push) Failing after 5m0s
release-tag / Build agent (push) Failing after 5m0s
release-tag / Build agent-data-init (push) Failing after 5m5s
release-tag / Build neuroforge-worker (push) Failing after 5m7s
release-tag / Build neuroforge (push) Failing after 5m9s
50 lines
1008 B
Go
50 lines
1008 B
Go
package httpapi
|
|
|
|
import (
|
|
"net/http"
|
|
"time"
|
|
|
|
"neuroforge/internal/core"
|
|
)
|
|
|
|
func (s *Server) clusterRequestVote(w http.ResponseWriter, r *http.Request) {
|
|
var req core.ClusterVoteRequest
|
|
if err := decode(r, &req); err != nil {
|
|
s.err(w, 400, err)
|
|
return
|
|
}
|
|
resp, err := s.brain.ClusterVote(req)
|
|
if err != nil {
|
|
s.err(w, 409, err)
|
|
return
|
|
}
|
|
s.json(w, 200, resp)
|
|
}
|
|
|
|
func (s *Server) clusterHeartbeat(w http.ResponseWriter, r *http.Request) {
|
|
var req core.ClusterHeartbeat
|
|
if err := decode(r, &req); err != nil {
|
|
s.err(w, 400, err)
|
|
return
|
|
}
|
|
resp, err := s.brain.ClusterHeartbeat(req)
|
|
if err != nil {
|
|
s.err(w, 409, err)
|
|
return
|
|
}
|
|
s.json(w, 200, resp)
|
|
}
|
|
|
|
func (s *Server) adminTierStorage(w http.ResponseWriter, r *http.Request) {
|
|
s.json(w, 200, s.store.TierMemoryBodies(time.Now().UTC()))
|
|
}
|
|
|
|
func (s *Server) adminMergeIndex(w http.ResponseWriter, r *http.Request) {
|
|
out, err := s.store.CompactIndexSegments()
|
|
if err != nil {
|
|
s.err(w, 500, err)
|
|
return
|
|
}
|
|
s.json(w, 200, out)
|
|
}
|