467
updateFn func(chasm.MutableContext, chasm.Component) error,
468
options chasm.TransitionOptions,
469
>
) (retKey chasm.ExecutionKey, retRef []byte, created bool, retErr error) {
chasm_engine.go
470
>
currentExecutionReleaseFn, err := e.lockCurrentExecution(
471
>
ctx,
472
>
shardContext,
473
>
namespace.ID(executionRef.NamespaceID),
474
>
executionRef.BusinessID,
475
>
archetypeID,
476
>
)
477
>
if err != nil {
478
return chasm.ExecutionKey{}, nil, false, err
479
}
481
>
currentExecutionReleaseFn(retErr)
482
>
}()
483
484
>
newExecutionParams, err := e.createNewExecutionWithUpdate(
chasm_engine.go
485
>
ctx,
486
>
shardContext,
487
>
executionRef,
488
>
archetypeID,
489
>
startFn,
490
>
updateFn,
491
>
options,
492
>
)
493
>
if err != nil {
494
return chasm.ExecutionKey{}, nil, false, err
495
}