@startuml package Original { class Original.Object { key 256 MiB } package Part1 { class Original.Part1.Segment1 { 64 MiB 56 pieces } class Original.Part1.Segment2 { 64 MiB 56 pieces } class Original.Part1.Segment3 { 64 MiB 56 pieces } class Original.Part1.Segment4 { 64 MiB 56 pieces } } } @enduml @startuml package Destination { class Object { PENDING key ??? MiB } } @enduml @startuml package Destination { class Object { PENDING key ??? MiB } package PendingCopyRange { class Part1 { Source=Object1 1-160 MiB } } package Segments.Part1 { class Segment1 { 64 MiB 0 pieces } class Segment2 { 64 MiB 0 pieces } class Segment3 { 64 MiB 0 pieces } } } @enduml @startuml package Destination { class Object { PENDING key ??? MiB } package PendingCopyRange { class Part1 { Source=Object1 1-160 MiB } class Part2 { Source=Object1 160-320 MiB } } package Segments.Part1 { class Segment1 { 64 MiB 0 pieces } class Segment2 { 64 MiB 0 pieces } class Segment3 { 64 MiB 0 pieces } class Segment4 { 64 MiB 0 pieces } } } @enduml @startuml package Destination { class Object { COMMITTED key 256 MiB } class SegmentCopies { streamID ancestorStreamID } package Segments.Part1 { class Segment1 { 64 MiB 0 pieces } class Segment2 { 64 MiB 0 pieces } class Segment3 { 64 MiB 0 pieces } class Segment4 { 64 MiB 0 pieces } } } @enduml