diff options
author | Ondřej Surý <ondrej@sury.org> | 2011-01-17 12:40:45 +0100 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2011-01-17 12:40:45 +0100 |
commit | 3e45412327a2654a77944249962b3652e6142299 (patch) | |
tree | bc3bf69452afa055423cbe0c5cfa8ca357df6ccf /src/pkg/rpc/debug.go | |
parent | c533680039762cacbc37db8dc7eed074c3e497be (diff) | |
download | golang-upstream/2011.01.12.tar.gz |
Imported Upstream version 2011.01.12upstream/2011.01.12
Diffstat (limited to 'src/pkg/rpc/debug.go')
-rw-r--r-- | src/pkg/rpc/debug.go | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/src/pkg/rpc/debug.go b/src/pkg/rpc/debug.go index 638584f49..44b32e04b 100644 --- a/src/pkg/rpc/debug.go +++ b/src/pkg/rpc/debug.go @@ -21,14 +21,14 @@ const debugText = `<html> <title>Services</title> {.repeated section @} <hr> - Service {name} + Service {Name} <hr> <table> <th align=center>Method</th><th align=center>Calls</th> - {.repeated section meth} + {.repeated section Method} <tr> - <td align=left font=fixed>{name}({m.argType}, {m.replyType}) os.Error</td> - <td align=center>{m.numCalls}</td> + <td align=left font=fixed>{Name}({Type.ArgType}, {Type.ReplyType}) os.Error</td> + <td align=center>{Type.NumCalls}</td> </tr> {.end} </table> @@ -39,30 +39,34 @@ const debugText = `<html> var debug = template.MustParse(debugText, nil) type debugMethod struct { - m *methodType - name string + Type *methodType + Name string } type methodArray []debugMethod type debugService struct { - s *service - name string - meth methodArray + Service *service + Name string + Method methodArray } type serviceArray []debugService func (s serviceArray) Len() int { return len(s) } -func (s serviceArray) Less(i, j int) bool { return s[i].name < s[j].name } +func (s serviceArray) Less(i, j int) bool { return s[i].Name < s[j].Name } func (s serviceArray) Swap(i, j int) { s[i], s[j] = s[j], s[i] } func (m methodArray) Len() int { return len(m) } -func (m methodArray) Less(i, j int) bool { return m[i].name < m[j].name } +func (m methodArray) Less(i, j int) bool { return m[i].Name < m[j].Name } func (m methodArray) Swap(i, j int) { m[i], m[j] = m[j], m[i] } +type debugHTTP struct { + *Server +} + // Runs at /debug/rpc -func debugHTTP(c *http.Conn, req *http.Request) { +func (server debugHTTP) ServeHTTP(w http.ResponseWriter, req *http.Request) { // Build a sorted version of the data. var services = make(serviceArray, len(server.serviceMap)) i := 0 @@ -71,16 +75,16 @@ func debugHTTP(c *http.Conn, req *http.Request) { services[i] = debugService{service, sname, make(methodArray, len(service.method))} j := 0 for mname, method := range service.method { - services[i].meth[j] = debugMethod{method, mname} + services[i].Method[j] = debugMethod{method, mname} j++ } - sort.Sort(services[i].meth) + sort.Sort(services[i].Method) i++ } server.Unlock() sort.Sort(services) - err := debug.Execute(services, c) + err := debug.Execute(services, w) if err != nil { - fmt.Fprintln(c, "rpc: error executing template:", err.String()) + fmt.Fprintln(w, "rpc: error executing template:", err.String()) } } |