| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | 
							- @startuml OfflineTranmission
 
- header Message OfflineTranmission
 
- left to right direction
 
- skinparam actorStyle awesome
 
- skinparam usecase {
 
-     BackgroundColor<< Publisher >> Pink
 
-     BorderColor<< Publisher >> Red
 
-     BackgroundColor<< Subscriber >> YellowGreen
 
-     BorderColor<< Subscriber >> Green
 
- }
 
- 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   #YellowGreen;line:green;line.bold;text:Green
 
-     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
 
- ' note "Internet Connection Interrupted" as N3
 
- proxy1 <-- Publisher #line:Red;text:Red : Publish data to \ndesignated subsriber \nover proxy
 
- parentPub <-- Publisher : If internet is \ndown, NOTIFY \nparent publisher
 
- proxy2 --> Subscriber1  #line:Red;text:Red : Receive data \nfrom Publisher
 
- parentPub --> parentSub #line:blue;line.bold;text:Blue : Notify Internet \nWas Offline \nPlease Subscribe \nAgain
 
- proxy2 . proxy1 #line:Red;text:Red : Internet Connection \nInterruption
 
- ' N3 . proxy2 #line:Red;text:Red 
 
- proxy3 <-- Subscriber2 #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
 
 
  |