offlinetransmission.plantuml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. @startuml OfflineTranmission
  2. header Message OfflineTranmission
  3. ' left to bottom direction
  4. skinparam actorStyle awesome
  5. skinparam usecase {
  6. BackgroundColor<< Publisher >> Pink
  7. BorderColor<< Publisher >> Red
  8. BackgroundColor<< Subscriber >> Pink
  9. BorderColor<< Subscriber >> Red
  10. }
  11. package PublisherSite {
  12. actor "Publisher" as Publisher #pink;line:red;line.bold;text:red
  13. (Parent) as (parentPub) << Publisher >>
  14. usecase "Parent" as parentPub
  15. () "Proxy" as proxy1
  16. }
  17. package SubscriberSite {
  18. () "Proxy" as proxy2
  19. () "Proxy" as proxy3
  20. (Parent) as (parentSub) << Subscriber >>
  21. actor "Subscriber" as Subscriber1 #pink;line:red;line.bold;text:red
  22. actor "Subscriber" as Subscriber2 #cyan;line:blue;line.bold;text:blue
  23. }
  24. note "<b><size:18>Blue COLOR</size></b> is the \nfirst triggering mechanism for \noffline transmission." as N1
  25. note "<b><size:18>Red COLOR</size></b> is the \nfirst line of streaming." as N2
  26. Publisher --> proxy1 #line:Red;text:Red : Publish data to \ndesignated subsriber \nover proxy
  27. Publisher -> parentPub : If internet is \ndown, NOTIFY \nparent publisher
  28. Subscriber1 --> proxy2 #line:Red;text:Red : Receive data \nfrom Publisher
  29. parentPub -> parentSub #line:blue;line.bold;text:Blue : Notify Internet \nWas Offline \nPlease Subscribe \nAgain
  30. proxy1 ... proxy2 #line:Red;text:Red : Internet Connection \nCut off
  31. Subscriber2 -> proxy3 #line:Blue;text:Blue : Subcribe to Publisher \nvia new Proxxy
  32. proxy1 . proxy3 #line:Blue;text:Blue : Subscribe to proxy \n to continue receiving \ndata
  33. Subscriber2 <- parentSub #line:Blue;text:Blue : Instantiate a \nnew Subsscriber
  34. parentSub <- Subscriber1 : Persists data \nreceived from \nPublisher
  35. @enduml