auth-local.txt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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. participant cache_config as ":CacheConfig"
  11. create cache_config
  12. list -> cache_config: <<construct>> (cfg)
  13. participant zt_segment as ":ZoneTable\nSegment\n(Local)"
  14. create zt_segment
  15. list -> zt_segment: <<construct>>
  16. activate zt_segment
  17. participant zone_table as ":ZoneTable"
  18. create zone_table
  19. zt_segment -> zone_table: <<construct>>
  20. deactivate zt_segment
  21. list -> zt_segment: isWritable()
  22. activate zt_segment
  23. note over zt_segment: Local segments are\nalways writable
  24. zt_segment --> list: true
  25. deactivate zt_segment
  26. loop for each zone in cache_config
  27. list -> cache_config: getLoadAction()
  28. activate cache_config
  29. participant la1 as "la1:LoadAction"
  30. create la1
  31. cache_config -> la1: <<construct>>
  32. participant la2 as "la2:LoadAction"
  33. cache_config --> list : la1
  34. deactivate cache_config
  35. participant w1 as "w1:ZoneWriter"
  36. create w1
  37. list -> w1: <<construct>> (la1)
  38. participant w2 as "w2:ZoneWriter"
  39. list -> w1: load()
  40. activate w1
  41. w1 -> la1: (funcall)
  42. activate la1
  43. participant zd1 as "zd1:ZoneData"
  44. create zd1
  45. la1 -> zd1: <<construct>> via helpers
  46. participant zd2 as "zd2:ZoneData"
  47. la1 --> w1: zd1
  48. deactivate la1
  49. deactivate w1
  50. list -> w1: install()
  51. activate w1
  52. w1 -> zone_table: addZone(zd1)
  53. activate zone_table
  54. zone_table --> w1: NULL (no old data)
  55. deactivate zone_table
  56. deactivate w1
  57. end
  58. deactivate list
  59. deactivate auth
  60. ...
  61. [-> auth: reload\n(zonename)
  62. activate auth
  63. auth -> list: getCachedw1\n(zone_name)
  64. activate list
  65. list -> cache_config: getLoadAction()
  66. activate cache_config
  67. create la2
  68. cache_config -> la2: <<construct>>
  69. cache_config --> list : la2
  70. deactivate cache_config
  71. create w2
  72. list -> w2: <<construct>> (la2)
  73. list --> auth: w2
  74. deactivate list
  75. auth -> w2: load()
  76. activate w2
  77. w2 -> la2: (funcall)
  78. activate la2
  79. create zd2
  80. la2 -> zd2: <<construct>> via helpers
  81. la2 --> w2: zd2
  82. deactivate la2
  83. deactivate w2
  84. auth -> w2: install()
  85. activate w2
  86. w2 -> zone_table: addZone(zd2)
  87. activate zone_table
  88. zone_table --> w2: zd1 (old data)
  89. deactivate zone_table
  90. deactivate w2
  91. auth -> w2: cleanup()
  92. activate w2
  93. w2 -> zd1: <<destroy>>
  94. destroy zd1
  95. deactivate w2
  96. deactivate auth
  97. @enduml