Files
sacrificial-socket/backend/ssmongo/bson.go
2016-08-09 00:48:14 +00:00

61 lines
1.5 KiB
Go

package ssmongo
import (
"gopkg.in/mgo.v2/bson"
"sync"
"time"
)
type backendServer struct {
ID bson.ObjectId `bson:"_id,omitempty"`
ServerName string `bson:"ServerName"`
ServerGroup string `bson:"ServerGroup"`
Expire time.Time `bson:"Expire"`
l *sync.RWMutex
}
type broadcast struct {
ID bson.ObjectId `bson:"_id,omitempty"`
ServerName string `bson:"ServerName"`
ServerGroup string `bson:"ServerGroup"`
Expire time.Time `bson:"Expire"`
EventName string `bson:"EventName"`
Data interface{} `bson:"Data"`
JSON bool `bson:"JSON"`
Read bool `bson:"Read"`
}
type roomcast struct {
ID bson.ObjectId `bson:"_id,omitempty"`
ServerName string `bson:"ServerName"`
ServerGroup string `bson:"ServerGroup"`
Expire time.Time `bson:"Expire"`
RoomName string `bson:"RoomName"`
EventName string `bson:"EventName"`
Data interface{} `bson:"Data"`
JSON bool `bson:"JSON"`
Read bool `bson:"Read"`
}
func (s *backendServer) setNextExpire() {
s.l.Lock()
defer s.l.Unlock()
s.Expire = time.Now().Add(time.Minute * 5)
}
func (b *broadcast) setNextExpire() {
b.Expire = time.Now().Add(time.Minute * 5)
}
func (b *broadcast) expireNow() {
b.Expire = time.Now().Add(time.Minute * 5 * -1)
}
func (r *roomcast) setNextExpire() {
r.Expire = time.Now().Add(time.Minute * 5)
}
func (r *roomcast) expireNow() {
r.Expire = time.Now().Add(time.Minute * 5 * -1)
}