mirror of
https://github.com/matrix-org/pinecone.git
synced 2026-01-16 23:00:32 +00:00
Allow access to manholes in pineconesim
This commit is contained in:
parent
fb51a311e4
commit
f83fe8f8ab
3 changed files with 21 additions and 0 deletions
|
|
@ -255,6 +255,16 @@ func configureHTTPRouting(log *log.Logger, sim *simulator.Simulator) {
|
|||
log.Printf("WebSocket peer %q connected to sim node %q\n", c.RemoteAddr(), nodeID)
|
||||
})
|
||||
|
||||
http.DefaultServeMux.HandleFunc("/manhole", func(w http.ResponseWriter, r *http.Request) {
|
||||
nodeID := r.URL.Query().Get("node")
|
||||
node := sim.Node(nodeID)
|
||||
if node == nil {
|
||||
w.WriteHeader(404)
|
||||
return
|
||||
}
|
||||
node.SimRouter.ManholeHandler(w, r)
|
||||
})
|
||||
|
||||
http.DefaultServeMux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
||||
_ = template.Must(template.ParseFiles("./cmd/pineconesim/page.html")).Execute(w, "")
|
||||
})
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import (
|
|||
"crypto/ed25519"
|
||||
"log"
|
||||
"net"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/matrix-org/pinecone/router"
|
||||
|
|
@ -150,6 +151,10 @@ func (a *AdversaryRouter) ConfigureFilterPeer(peer types.PublicKey, rates DropRa
|
|||
a.dropSettings.peers[peer] = rates
|
||||
}
|
||||
|
||||
func (a *AdversaryRouter) ManholeHandler(w http.ResponseWriter, req *http.Request) {
|
||||
a.rtr.ManholeHandler(w, req)
|
||||
}
|
||||
|
||||
func (a *AdversaryRouter) updatePacketCounts(from types.PublicKey, frameType types.FrameType) {
|
||||
a.packetsRx.overall.Inc()
|
||||
a.packetsRx.peers[from].overall.Inc()
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ package simulator
|
|||
import (
|
||||
"context"
|
||||
"net"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/matrix-org/pinecone/cmd/pineconesim/simulator/adversary"
|
||||
|
|
@ -33,6 +34,7 @@ type SimRouter interface {
|
|||
Coords() types.Coordinates
|
||||
ConfigureFilterDefaults(rates adversary.DropRates)
|
||||
ConfigureFilterPeer(peer types.PublicKey, rates adversary.DropRates)
|
||||
ManholeHandler(w http.ResponseWriter, req *http.Request)
|
||||
}
|
||||
|
||||
type DefaultRouter struct {
|
||||
|
|
@ -62,3 +64,7 @@ func (r *DefaultRouter) Coords() types.Coordinates {
|
|||
func (r *DefaultRouter) ConfigureFilterDefaults(rates adversary.DropRates) {}
|
||||
|
||||
func (r *DefaultRouter) ConfigureFilterPeer(peer types.PublicKey, rates adversary.DropRates) {}
|
||||
|
||||
func (r *DefaultRouter) ManholeHandler(w http.ResponseWriter, req *http.Request) {
|
||||
r.rtr.ManholeHandler(w, req)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue