This commit is contained in:
@@ -113,8 +113,7 @@ func (c *CartGrain) AddItem(sku string, qty int) ([]byte, error) {
|
|||||||
func (c *CartGrain) GetStorageMessage(since int64) []StorableMessage {
|
func (c *CartGrain) GetStorageMessage(since int64) []StorableMessage {
|
||||||
|
|
||||||
ret := make([]StorableMessage, 0)
|
ret := make([]StorableMessage, 0)
|
||||||
c.mu.RLock()
|
|
||||||
defer c.mu.RUnlock()
|
|
||||||
for _, message := range c.storageMessages {
|
for _, message := range c.storageMessages {
|
||||||
if *message.TimeStamp > since {
|
if *message.TimeStamp > since {
|
||||||
ret = append(ret, message)
|
ret = append(ret, message)
|
||||||
|
|||||||
5
main.go
5
main.go
@@ -58,6 +58,8 @@ type App struct {
|
|||||||
|
|
||||||
func (a *App) Save() error {
|
func (a *App) Save() error {
|
||||||
hasChanges := false
|
hasChanges := false
|
||||||
|
a.pool.mu.RLock()
|
||||||
|
defer a.pool.mu.RUnlock()
|
||||||
for id, grain := range a.pool.GetGrains() {
|
for id, grain := range a.pool.GetGrains() {
|
||||||
if grain == nil {
|
if grain == nil {
|
||||||
continue
|
continue
|
||||||
@@ -70,6 +72,7 @@ func (a *App) Save() error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !hasChanges {
|
if !hasChanges {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -128,7 +131,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
for range time.Tick(time.Minute) {
|
for range time.Tick(time.Minute * 10) {
|
||||||
|
|
||||||
err := app.Save()
|
err := app.Save()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -35,6 +35,9 @@ func ReadCartPacket(conn io.Reader, packet *CartPacket) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetPacketData(conn io.Reader, len uint64) ([]byte, error) {
|
func GetPacketData(conn io.Reader, len uint64) ([]byte, error) {
|
||||||
|
if len == 0 {
|
||||||
|
return []byte{}, nil
|
||||||
|
}
|
||||||
data := make([]byte, len)
|
data := make([]byte, len)
|
||||||
_, err := conn.Read(data)
|
_, err := conn.Read(data)
|
||||||
return data, err
|
return data, err
|
||||||
|
|||||||
Reference in New Issue
Block a user