memmgr-mapped-reload.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. @startuml
  2. participant memmgr as "memmgr"
  3. [-> memmgr: reload\n(zonename)
  4. activate memmgr
  5. participant list as "Configurable\nClientList"
  6. memmgr -> list: getCachedZoneWriter\n(zone_name)
  7. activate list
  8. participant CacheConfig
  9. participant zt_segment as "ZoneTable\nSegment\n(Mapped)"
  10. participant segment as "Memory\nSegment\n(Mapped)"
  11. participant segment.2 as "Memory\nSegment\n(Mapped)\n2"
  12. list -> zt_segment: isWritable()
  13. activate zt_segment
  14. zt_segment --> list: true
  15. deactivate zt_segment
  16. list -> CacheConfig: getLoadAction()
  17. activate CacheConfig
  18. participant ZoneTable
  19. participant ZoneWriter
  20. create LoadAction
  21. CacheConfig -> LoadAction: <<construct>>
  22. CacheConfig --> list: LoadAction
  23. deactivate CacheConfig
  24. create ZoneWriter
  25. list -> ZoneWriter: <<construct>> (LoadAction)
  26. list --> memmgr: ZoneWriter
  27. deactivate list
  28. memmgr -> ZoneWriter: load()
  29. activate ZoneWriter
  30. ZoneWriter -> LoadAction: (funcall)
  31. activate LoadAction
  32. participant ZoneData
  33. create ZoneData.2
  34. LoadAction -> ZoneData.2: <<construct>> via helpers
  35. LoadAction --> ZoneWriter: ZoneData.2
  36. deactivate LoadAction
  37. deactivate ZoneWriter
  38. memmgr -> ZoneWriter: install()
  39. activate ZoneWriter
  40. ZoneWriter -> ZoneTable: addZone(ZoneData.2)
  41. activate ZoneTable
  42. ZoneTable --> ZoneWriter: ZoneData (old data)
  43. deactivate ZoneTable
  44. deactivate ZoneWriter
  45. memmgr -> ZoneWriter: cleanup()
  46. activate ZoneWriter
  47. ZoneWriter -> ZoneData: <<destroy>>
  48. destroy ZoneData
  49. deactivate ZoneWriter
  50. [<- memmgr: command to\nmodules\n(datasrc_name,\nsegmentparam)
  51. [--> memmgr: ack from all\nmodules
  52. memmgr -> list: resetMemorySegment\n(datasrc_name,\nREAD_WRITE,\nsegmentparam)
  53. activate list
  54. list -> zt_segment: reset\n(READ_WRITE,\nsegmentparam)
  55. activate zt_segment
  56. zt_segment -> segment: <<destroy>>
  57. destroy segment
  58. create segment.2
  59. zt_segment -> segment.2: <<construct>>
  60. deactivate zt_segment
  61. deactivate list
  62. note left of memmgr: (repeat the\nsame sequence\nfor loading to the\nother segment)
  63. memmgr -> list: getCachedZoneWriter\n(zone_name)
  64. ...
  65. @enduml