// such as operation counters in servers. It exposes these variables via
// HTTP at /debug/vars in JSON format.
//
+// Operations to set or modify these public variables are atomic.
+//
// In addition to adding the HTTP handler, this package registers the
// following variables:
//
v.i += delta
}
+func (v *Int) Set(value int64) {
+ v.mu.Lock()
+ defer v.mu.Unlock()
+ v.i = value
+}
+
// Map is a string-to-Var map variable, and satisfies the Var interface.
type Map struct {
m map[string]Var
if s := reqs.String(); s != "4" {
t.Errorf("reqs.String() = %q, want \"4\"", s)
}
+
+ reqs.Set(-2)
+ if reqs.i != -2 {
+ t.Errorf("reqs.i = %v, want -2", reqs.i)
+ }
}
func TestString(t *testing.T) {