update
This commit is contained in:
@@ -768,6 +768,17 @@ func (s *PoolServer) AdyenSessionHandler(w http.ResponseWriter, r *http.Request,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *PoolServer) GetAnywhere(ctx context.Context, cartId cart.CartId) (*cart.CartGrain, error) {
|
||||||
|
id := uint64(cartId)
|
||||||
|
if host, isOnOtherHost := s.OwnerHost(id); isOnOtherHost {
|
||||||
|
grain := &cart.CartGrain{}
|
||||||
|
|
||||||
|
err := host.Get(ctx, id, grain)
|
||||||
|
return grain, err
|
||||||
|
}
|
||||||
|
return s.Get(ctx, id)
|
||||||
|
}
|
||||||
|
|
||||||
func (s *PoolServer) ApplyAnywhere(ctx context.Context, cartId cart.CartId, msgs ...proto.Message) error {
|
func (s *PoolServer) ApplyAnywhere(ctx context.Context, cartId cart.CartId, msgs ...proto.Message) error {
|
||||||
id := uint64(cartId)
|
id := uint64(cartId)
|
||||||
if host, isOnOtherHost := s.OwnerHost(id); isOnOtherHost {
|
if host, isOnOtherHost := s.OwnerHost(id); isOnOtherHost {
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ type Host interface {
|
|||||||
Name() string
|
Name() string
|
||||||
Proxy(id uint64, w http.ResponseWriter, r *http.Request, customBody io.Reader) (bool, error)
|
Proxy(id uint64, w http.ResponseWriter, r *http.Request, customBody io.Reader) (bool, error)
|
||||||
Apply(ctx context.Context, id uint64, mutation ...proto.Message) (bool, error)
|
Apply(ctx context.Context, id uint64, mutation ...proto.Message) (bool, error)
|
||||||
|
Get(ctx context.Context, id uint64, grain any) error
|
||||||
GetActorIds() []uint64
|
GetActorIds() []uint64
|
||||||
Close() error
|
Close() error
|
||||||
Ping() bool
|
Ping() bool
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ func (h *RemoteHost[V]) Ping() bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *RemoteHost[V]) Get(ctx context.Context, id uint64, grain *V) error {
|
func (h *RemoteHost[V]) Get(ctx context.Context, id uint64, grain any) error {
|
||||||
ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
|
ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
reply, error := h.controlClient.Get(ctx, &messages.GetRequest{Id: id})
|
reply, error := h.controlClient.Get(ctx, &messages.GetRequest{Id: id})
|
||||||
|
|||||||
Reference in New Issue
Block a user