Files
jbergner a6bc71fb3a
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
Init
2026-08-26 18:34:41 +02:00

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)
}