more changes

This commit is contained in:
matst80
2025-10-10 09:34:40 +00:00
parent b97eb8f285
commit e7c67fbb9b
25 changed files with 1888 additions and 3689 deletions

View File

@@ -1,7 +1,6 @@
package main
import (
"encoding/json"
"fmt"
"log"
"sync"
@@ -27,8 +26,8 @@ var (
)
type GrainPool interface {
Process(id CartId, messages ...Message) (*FrameWithPayload, error)
Get(id CartId) (*FrameWithPayload, error)
Process(id CartId, mutations ...interface{}) (*CartGrain, error)
Get(id CartId) (*CartGrain, error)
}
type Ttl struct {
@@ -143,26 +142,20 @@ func (p *GrainLocalPool) GetGrain(id CartId) (*CartGrain, error) {
return grain, err
}
func (p *GrainLocalPool) Process(id CartId, messages ...Message) (*FrameWithPayload, error) {
func (p *GrainLocalPool) Process(id CartId, mutations ...interface{}) (*CartGrain, error) {
grain, err := p.GetGrain(id)
var result *FrameWithPayload
var result *CartGrain
if err == nil && grain != nil {
for _, message := range messages {
result, err = grain.HandleMessage(&message, false)
for _, m := range mutations {
result, err = grain.Apply(m, false)
if err != nil {
break
}
}
}
return result, err
}
func (p *GrainLocalPool) Get(id CartId) (*FrameWithPayload, error) {
grain, err := p.GetGrain(id)
if err != nil {
return nil, err
}
data, err := json.Marshal(grain)
if err != nil {
return nil, err
}
ret := MakeFrameWithPayload(0, 200, data)
return &ret, nil
func (p *GrainLocalPool) Get(id CartId) (*CartGrain, error) {
return p.GetGrain(id)
}