FreeBSD 12 support (NOTE: xc not yet functional)

Signed-off-by: Russ Magee <rmagee@gmail.com>
This commit is contained in:
Russ Magee 2020-04-26 01:03:29 +00:00
parent 09c2408c06
commit cba36b66f1
891 changed files with 351 additions and 304834 deletions

View file

@ -1,97 +0,0 @@
package cexp
import "gopkg.in/hlandau/measurable.v1"
import "sync/atomic"
// Counter
type Counter struct {
name string
value int64
}
func (c *Counter) MsName() string {
return c.name
}
func (c *Counter) MsInt64() int64 {
return atomic.LoadInt64(&c.value)
}
func (c *Counter) Get() int64 {
return c.MsInt64()
}
// v must be non-negative.
func (c *Counter) Add(v int64) {
atomic.AddInt64(&c.value, v)
}
func (c *Counter) Inc() {
c.Add(1)
}
func (c *Counter) MsType() measurable.Type {
return measurable.CounterType
}
func NewCounter(name string) *Counter {
c := &Counter{
name: name,
}
measurable.Register(c)
return c
}
// Gauge
type Gauge struct {
name string
value int64
}
func (c *Gauge) MsName() string {
return c.name
}
func (c *Gauge) MsInt64() int64 {
return atomic.LoadInt64(&c.value)
}
func (c *Gauge) Add(v int64) {
atomic.AddInt64(&c.value, v)
}
func (c *Gauge) Sub(v int64) {
c.Add(-v)
}
func (c *Gauge) Set(v int64) {
atomic.StoreInt64(&c.value, v)
}
func (c *Gauge) Get() int64 {
return c.MsInt64()
}
func (c *Gauge) Inc() {
c.Add(1)
}
func (c *Gauge) Dec() {
c.Add(-1)
}
func (c *Gauge) MsType() measurable.Type {
return measurable.GaugeType
}
func NewGauge(name string) *Gauge {
c := &Gauge{
name: name,
}
measurable.Register(c)
return c
}