dt1t and counter and refactoring using embedded interfaces
This commit is contained in:
@ -1,6 +1,10 @@
|
||||
package handler
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"time"
|
||||
"log"
|
||||
"udi/counter"
|
||||
)
|
||||
|
||||
type MessageT struct {
|
||||
Timestamp time.Time
|
||||
@ -11,5 +15,32 @@ type MessageT struct {
|
||||
type Handler interface {
|
||||
GetId() string
|
||||
Handle(MessageT)
|
||||
Lost(msg string, err error, message MessageT)
|
||||
S()
|
||||
F()
|
||||
}
|
||||
|
||||
type CommonHandler struct {
|
||||
Id string
|
||||
}
|
||||
|
||||
func (self *CommonHandler) S() {
|
||||
counter.SH(self.Id)
|
||||
}
|
||||
func (self *CommonHandler) F() {
|
||||
counter.FH(self.Id)
|
||||
}
|
||||
|
||||
func (self *CommonHandler) GetId() string {
|
||||
return self.Id
|
||||
}
|
||||
|
||||
func (self *CommonHandler) Lost(msg string, err error, message MessageT) {
|
||||
if err != nil {
|
||||
log.Printf("Error: %s, message %s is lost", msg, message)
|
||||
} else {
|
||||
log.Printf("Error: %s (%s), message %s is lost", msg, err, message)
|
||||
}
|
||||
self.F()
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user