mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-11-01 09:50:39 +01:00
feat: start Phase 14 V2 core shell
Make the first V2 core owner explicit in sw-block by freezing Phase 14 docs, mode/readiness/publication semantics, and bounded command emission rules. This turns accepted Phase 13 constraints into executable core behavior without overclaiming live runtime cutover. Made-with: Cursor
This commit is contained in:
1 parent
6e1b8efd68
commit
fb0da91196
13 files changed
+2620
-81
No files matched your search
@@ -0,0 +1,42 @@
|
||||
package replication
|
||||
|
||||
// Command is one side-effect-free decision emitted by the Phase 14 core skeleton.
|
||||
// Adapters execute commands later; the core only decides them.
|
||||
type Command interface {
|
||||
commandName() string
|
||||
}
|
||||
|
||||
type ApplyRoleCommand struct {
|
||||
VolumeID string
|
||||
Epoch uint64
|
||||
Role VolumeRole
|
||||
}
|
||||
|
||||
func (ApplyRoleCommand) commandName() string { return "apply_role" }
|
||||
|
||||
type StartReceiverCommand struct {
|
||||
VolumeID string
|
||||
}
|
||||
|
||||
func (StartReceiverCommand) commandName() string { return "start_receiver" }
|
||||
|
||||
type ConfigureShipperCommand struct {
|
||||
VolumeID string
|
||||
Replicas []ReplicaAssignment
|
||||
}
|
||||
|
||||
func (ConfigureShipperCommand) commandName() string { return "configure_shipper" }
|
||||
|
||||
type InvalidateSessionCommand struct {
|
||||
VolumeID string
|
||||
Reason string
|
||||
}
|
||||
|
||||
func (InvalidateSessionCommand) commandName() string { return "invalidate_session" }
|
||||
|
||||
type PublishProjectionCommand struct {
|
||||
VolumeID string
|
||||
Projection PublicationProjection
|
||||
}
|
||||
|
||||
func (PublishProjectionCommand) commandName() string { return "publish_projection" }
|
||||
Reference in new issue
Block a user