1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- @startuml
- participant memmgr as "memmgr"
- [-> memmgr: reload\n(zonename)
- activate memmgr
- participant list as "Configurable\nClientList"
- memmgr -> list: getCachedZoneWriter\n(zone_name)
- activate list
- participant CacheConfig
- participant zt_segment as "ZoneTable\nSegment\n(Mapped)"
- participant segment as "Memory\nSegment\n(Mapped)"
- participant segment.2 as "Memory\nSegment\n(Mapped)\n2"
- list -> zt_segment: isWritable()
- activate zt_segment
- zt_segment --> list: true
- deactivate zt_segment
- list -> CacheConfig: getLoadAction()
- activate CacheConfig
- participant ZoneTable
- participant ZoneWriter
- create LoadAction
- CacheConfig -> LoadAction: <<construct>>
- CacheConfig --> list: LoadAction
- deactivate CacheConfig
- create ZoneWriter
- list -> ZoneWriter: <<construct>> (LoadAction)
- list --> memmgr: ZoneWriter
- deactivate list
- memmgr -> ZoneWriter: load()
- activate ZoneWriter
- ZoneWriter -> LoadAction: (funcall)
- activate LoadAction
- participant ZoneData
- create ZoneData.2
- LoadAction -> ZoneData.2: <<construct>> via helpers
- LoadAction --> ZoneWriter: ZoneData.2
- deactivate LoadAction
- deactivate ZoneWriter
- memmgr -> ZoneWriter: install()
- activate ZoneWriter
- ZoneWriter -> ZoneTable: addZone(ZoneData.2)
- activate ZoneTable
- ZoneTable --> ZoneWriter: ZoneData (old data)
- deactivate ZoneTable
- deactivate ZoneWriter
- memmgr -> ZoneWriter: cleanup()
- activate ZoneWriter
- ZoneWriter -> ZoneData: <<destroy>>
- destroy ZoneData
- deactivate ZoneWriter
- [<- memmgr: command to\nmodules\n(datasrc_name,\nsegmentparam)
- [--> memmgr: ack from all\nmodules
- memmgr -> list: resetMemorySegment\n(datasrc_name,\nREAD_WRITE,\nsegmentparam)
- activate list
- list -> zt_segment: reset\n(READ_WRITE,\nsegmentparam)
- activate zt_segment
- zt_segment -> segment: <<destroy>>
- destroy segment
- create segment.2
- zt_segment -> segment.2: <<construct>>
- deactivate zt_segment
- deactivate list
- note left of memmgr: (repeat the\nsame sequence\nfor loading to the\nother segment)
- memmgr -> list: getCachedZoneWriter\n(zone_name)
- ...
- @enduml
|