123456789101112131415161718192021222324252627282930313233343536373839404142 |
- @startuml OfflineTranmission
- header Message OfflineTranmission
- ' left to bottom direction
- skinparam actorStyle awesome
- skinparam usecase {
- BackgroundColor<< Publisher >> Pink
- BorderColor<< Publisher >> Red
- BackgroundColor<< Subscriber >> Pink
- BorderColor<< Subscriber >> Red
- }
- package PublisherSite {
- actor "Publisher" as Publisher #pink;line:red;line.bold;text:red
- (Parent) as (parentPub) << Publisher >>
- usecase "Parent" as parentPub
- () "Proxy" as proxy1
- }
- package SubscriberSite {
- () "Proxy" as proxy2
- () "Proxy" as proxy3
- (Parent) as (parentSub) << Subscriber >>
- actor "Subscriber" as Subscriber1 #pink;line:red;line.bold;text:red
- actor "Subscriber" as Subscriber2 #cyan;line:blue;line.bold;text:blue
- }
- note "<b><size:18>Blue COLOR</size></b> is the \nfirst triggering mechanism for \noffline transmission." as N1
- note "<b><size:18>Red COLOR</size></b> is the \nfirst line of streaming." as N2
- Publisher --> proxy1 #line:Red;text:Red : Publish data to \ndesignated subsriber \nover proxy
- Publisher -> parentPub : If internet is \ndown, NOTIFY \nparent publisher
- Subscriber1 --> proxy2 #line:Red;text:Red : Receive data \nfrom Publisher
- parentPub -> parentSub #line:blue;line.bold;text:Blue : Notify Internet \nWas Offline \nPlease Subscribe \nAgain
- proxy1 ... proxy2 #line:Red;text:Red : Internet Connection \nCut off
- Subscriber2 -> proxy3 #line:Blue;text:Blue : Subcribe to Publisher \nvia new Proxxy
- proxy1 . proxy3 #line:Blue;text:Blue : Subscribe to proxy \n to continue receiving \ndata
- Subscriber2 <- parentSub #line:Blue;text:Blue : Instantiate a \nnew Subsscriber
- parentSub <- Subscriber1 : Persists data \nreceived from \nPublisher
- @enduml
|