nimo

package module
v0.0.0-...-37065ea Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2022 License: Apache-2.0 Imports: 22 Imported by: 0

README

nimo4go

Documentation

Index

Constants

View Source
const (
	DefaultSeparator = ";"

	GenericTypeRaw  = 1
	GenericTypeDate = 2
)
View Source
const (
	HttpGet    = "GET"
	HttpPost   = "POST"
	HttpUpdate = "UPDATE"
)
View Source
const (
	// LogDebug lowest debug
	LogDebug = 2
	// LogTrace trace
	LogTrace = 4
	// LogInfo trace
	LogInfo = 8
	// LogError only error
	LogError = 16
	// LogFatal fatal error
	LogFatal = 32
)

new log files perm mode

Variables

This section is empty.

Functions

func Assert

func Assert(message string)

func AssertTrue

func AssertTrue(assert bool, message string)

func GetRoutineId

func GetRoutineId() uint64

func GoRoutine

func GoRoutine(function func())

func GoRoutineInLoop

func GoRoutineInLoop(function func())

func GoRoutineInTimer

func GoRoutineInTimer(duration time.Duration, function func())

func GoVarLoop

func GoVarLoop(n uint64, function func())

func Profiling

func Profiling(port int)

func RegisterSignalForPrintStack

func RegisterSignalForPrintStack(sig os.Signal, callback func([]byte))

func RegisterSignalForProfiling

func RegisterSignalForProfiling(sig ...os.Signal)

Types

type ConfigLoader

type ConfigLoader struct {
	// contains filtered or unexported fields
}

ConfigLoader load config from file

func NewConfigLoader

func NewConfigLoader(file *os.File) *ConfigLoader

NewConfigLoader new loader

func (*ConfigLoader) Load

func (loader *ConfigLoader) Load(target interface{}) error

Load load config from file to target's field by reflect

func (*ConfigLoader) SetDateFormat

func (loader *ConfigLoader) SetDateFormat(format string)

func (*ConfigLoader) SetSliceSeparator

func (loader *ConfigLoader) SetSliceSeparator(sep string)

type HandlerFunc

type HandlerFunc func(body []byte) interface{}

type HttpRestProvider

type HttpRestProvider struct {
	// contains filtered or unexported fields
}

func NewHttpRestProvider

func NewHttpRestProvider(port int) *HttpRestProvider

func (*HttpRestProvider) Listen

func (rest *HttpRestProvider) Listen() error

func (*HttpRestProvider) RegisterAPI

func (rest *HttpRestProvider) RegisterAPI(url string, method string, handler func(body []byte) interface{})

type HttpURL

type HttpURL struct {
	Uri    string
	Method string
}

type LogHelper

type LogHelper struct {
	LogFileNames [2]string      // file names include .log and .log.wf
	Logger       [2]*log.Logger // logger handle
	Level        LogLevel
}

LogHelper global logger instance

func NewLogHelper

func NewLogHelper(v ...interface{}) (*LogHelper, error)

NewLogHelper new logger

func (*LogHelper) Error

func (log *LogHelper) Error(v ...interface{})

Error log

func (*LogHelper) Info

func (log *LogHelper) Info(v ...interface{})

Trace log

func (*LogHelper) LogLevel

func (log *LogHelper) LogLevel(level LogLevel)

LogLevel hidden low level log record

func (*LogHelper) Trace

func (log *LogHelper) Trace(v ...interface{})

Trace log

type LogLevel

type LogLevel uint8

LogLevel logger record level

type RateController

type RateController interface {
	// take one from controller. if no more in the
	// pool (or tokens). make it block.
	//
	// return true. if need to be blocked
	Control(threshold int64) bool
}

type SimpleRateController

type SimpleRateController struct {
	// contains filtered or unexported fields
}

SimpleRateController. simply increase a inner counter and block if the counter grew up to it's threshold and yield current routine for a while

func NewSimpleRateController

func NewSimpleRateController() *SimpleRateController

func (*SimpleRateController) Control

func (controller *SimpleRateController) Control(threshold, n int64) bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL