123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package yamux
- import (
- "sync"
- "time"
- )
- // Logger is a abstract of *log.Logger
- type Logger interface {
- Debugf(format string, args ...interface{})
- Infof(format string, args ...interface{})
- Warnf(format string, args ...interface{})
- Errorf(format string, args ...interface{})
- }
- type discordLogger struct {
- }
- func (lg *discordLogger) Debugf(format string, args ...interface{}) {
- }
- func (lg *discordLogger) Infof(format string, args ...interface{}) {
- }
- func (lg *discordLogger) Warnf(format string, args ...interface{}) {
- }
- func (lg *discordLogger) Errorf(format string, args ...interface{}) {
- }
- var (
- timerPool = &sync.Pool{
- New: func() interface{} {
- timer := time.NewTimer(time.Hour * 1e6)
- timer.Stop()
- return timer
- },
- }
- )
- // asyncSendErr is used to try an async send of an error
- func asyncSendErr(ch chan error, err error) {
- if ch == nil {
- return
- }
- select {
- case ch <- err:
- default:
- }
- }
- // asyncNotify is used to signal a waiting goroutine
- func asyncNotify(ch chan struct{}) {
- select {
- case ch <- struct{}{}:
- default:
- }
- }
- // min computes the minimum of two values
- func min(a, b uint32) uint32 {
- if a < b {
- return a
- }
- return b
- }
|