auth-local.txt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. @startuml
  2. participant auth as "b10-auth"
  3. [-> auth: new/initial config\n(datasrc cfg)
  4. activate auth
  5. participant list as "Configurable\nClientList"
  6. create list
  7. auth -> list: <<construct>>
  8. auth -> list: configure(cfg)
  9. activate list
  10. create CacheConfig
  11. list -> CacheConfig: <<construct>> (cfg)
  12. participant zt_segment as "ZoneTable\nSegment\n(Local)"
  13. create zt_segment
  14. list -> zt_segment: <<construct>>
  15. activate zt_segment
  16. create ZoneTable
  17. zt_segment -> ZoneTable: <<construct>>
  18. deactivate zt_segment
  19. list -> zt_segment: isWritable()
  20. activate zt_segment
  21. note over zt_segment: Local segments are\nalways writable
  22. zt_segment --> list: true
  23. deactivate zt_segment
  24. loop for each zone in CacheConfig
  25. list -> CacheConfig: getLoadAction()
  26. activate CacheConfig
  27. create LoadAction
  28. CacheConfig -> LoadAction: <<construct>>
  29. participant LoadAction.2
  30. CacheConfig --> list : LoadAction
  31. deactivate CacheConfig
  32. create ZoneWriter
  33. list -> ZoneWriter: <<construct>> (load_action)
  34. participant ZoneWriter.2
  35. list -> ZoneWriter: load()
  36. activate ZoneWriter
  37. ZoneWriter -> LoadAction: (funcall)
  38. activate LoadAction
  39. create ZoneData
  40. LoadAction -> ZoneData: <<construct>> via helpers
  41. participant ZoneData.2
  42. LoadAction --> ZoneWriter: ZoneData
  43. deactivate LoadAction
  44. deactivate ZoneWriter
  45. list -> ZoneWriter: install()
  46. activate ZoneWriter
  47. ZoneWriter -> ZoneTable: addZone(ZoneData)
  48. activate ZoneTable
  49. ZoneTable --> ZoneWriter: NULL (no old data)
  50. deactivate ZoneTable
  51. deactivate ZoneWriter
  52. end
  53. deactivate list
  54. deactivate auth
  55. ...
  56. [-> auth: reload\n(zonename)
  57. activate auth
  58. auth -> list: getCachedZoneWriter\n(zone_name)
  59. activate list
  60. list -> CacheConfig: getLoadAction()
  61. activate CacheConfig
  62. create LoadAction.2
  63. CacheConfig -> LoadAction.2: <<construct>>
  64. CacheConfig --> list : LoadAction.2
  65. deactivate CacheConfig
  66. create ZoneWriter.2
  67. list -> ZoneWriter.2: <<construct>> (load_action)
  68. list --> auth: ZoneWriter.2
  69. deactivate list
  70. auth -> ZoneWriter.2: load()
  71. activate ZoneWriter.2
  72. ZoneWriter.2 -> LoadAction.2: (funcall)
  73. activate LoadAction.2
  74. create ZoneData.2
  75. LoadAction.2 -> ZoneData.2: <<construct>> via helpers
  76. LoadAction.2 --> ZoneWriter.2: ZoneData.2
  77. deactivate LoadAction.2
  78. deactivate ZoneWriter.2
  79. auth -> ZoneWriter.2: install()
  80. activate ZoneWriter.2
  81. ZoneWriter.2 -> ZoneTable: addZone(ZoneData.2)
  82. activate ZoneTable
  83. ZoneTable --> ZoneWriter.2: ZoneData (old data)
  84. deactivate ZoneTable
  85. deactivate ZoneWriter.2
  86. auth -> ZoneWriter.2: cleanup()
  87. activate ZoneWriter.2
  88. ZoneWriter.2 -> ZoneData: <<destroy>>
  89. destroy ZoneData
  90. deactivate ZoneWriter.2
  91. deactivate auth
  92. @enduml