| 
					
				 | 
			
			
				@@ -0,0 +1,42 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@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 
			 |