Source/Packages

Checkpoint.NativeTreePublication

packages/execution/persistence/src/Checkpoint/NativeTreePublication.alpha

1,138 lines56 declarations55.0 KiBSHA-256 a6e4225ebb3a

def · lines 726–760

nativeTreeReleaseChildren

Full file
Release each child, in role order, with the published version.
726def nativeTreeReleaseChildren =
727  (lambda unrestricted fanout : Nat .
728    (lambda unrestricted node : (family ParticipantTreeNode) .
729      (lambda unrestricted edges : (family StdList (family NativePeerEdge)) .
730        (lambda unrestricted release : (pi unrestricted child : Nat . (family RegionFrameLayout)) .
731          (lambda unrestricted epoch : (family NativePhysicalOperand) .
732            (lambda unrestricted version : (family NativePhysicalOperand) .
733              (lambda unrestricted tail : (family NativePhysicalCommands) .
734                (stdListFold
735                  (family ParticipantTreeNode)
736                  (family NativePhysicalCommands)
737                  (lambda unrestricted child : (family ParticipantTreeNode) .
738                    (lambda unrestricted rest : (family NativePhysicalCommands) .
739                      (let unrestricted role =
740                        (participantTreeRoleOf child)
741                        in
742                        (let unrestricted released =
743                          (release role)
744                          in
745                          (nativeFrameInitializeRound
746                            released
747                            epoch
748                            version
749                            (nativeMemoryStoreWord64
750                              b"tree-release-version"
751                              (framePayloadAt released)
752                              version
753                              (nativePeerPublicationIO
754                                (nativeLaunchRecipeSlotValue
755                                  (nativePeerEdgeConnectionTo edges role))
756                                1
757                                released
758                                rest)))))))
759                  tail
760                  (participantTreeChildren fanout node)))))))))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.