SpacePool  : Public   Class
	
		
			| Created: | 
			12/02/2024 18:39:29 | 
		
		
			| Modified: | 
			15/03/2024 15:23:13 | 
		
		 | 
		
			| Project: | 
			 | 
		
		
			| Author: | 
			steve | 
		
		
			| Version: | 
			1.0 | 
		
		
			| Phase: | 
			1.0 | 
		
		
			| Status: | 
			Proposed | 
		
		
			| Complexity: | 
			Easy | 
		
		
			| Difficulty: | 
			 | 
		
		
			| Priority: | 
			 | 
		
		
			| Multiplicity: | 
			 | 
		
		
			| Advanced: | 
			 | 
		
		
			| UUID: | 
			{CB76E5FF-530E-41a4-9681-FF75133CF03B} | 
		
		
			| Appears In: | 
			Heap, Access, C++ | 
		
	
	Pooled connections to hierspace files, with a background thread to close expired connections<br/>
	
		
			- Attributes
 
			- Operations
 
			- Associations From
 
			- Advanced
 
			- Other Links
 
		
	
		
			| Attribute | 
			Scope | 
			Type | 
		
						
				| 
					_stores
				 | 
				
					Private 
				 | 
				
					concurrent_hash_map <string, shared_ptr<SpaceConnection>>
				 | 
			
			
														
					
						
	
		| 
			Notes:  
		 | 
		
			Hashmap to a set of hyperspace files.<br/>
		 | 
	 
  
						
				 | 
			
			
				| 
					_sessions
				 | 
				
					Private 
				 | 
				
					concurrent_hash_map <string, shared_ptr<SpaceConnection>>
				 | 
			
			
														
					
						
	
		| 
			Notes:  
		 | 
		
			Hash map of current active sessions.<br/>
		 | 
	 
  
						
				 | 
			
			
				| 
					_alive
				 | 
				
					Private 
				 | 
				
					bool
				 | 
			
			
														
					
						
	
		| 
			Notes:  
		 | 
		
			Flag for graceful shutdown.<br/>
		 | 
	 
  
						
				 | 
			
			
				| 
					_ttl
				 | 
				
					Private 
				 | 
				
					chrono::seconds
				 | 
			
			
														
					
						
	
		| 
			Notes:  
		 | 
		
			Time out for sessions.<br/>
		 | 
	 
  
						
				 | 
			
			
				| 
					_timer
				 | 
				
					Private 
				 | 
				
					unique_ptr<std::thread>
				 | 
			
			
														
					
						
	
		| 
			Notes:  
		 | 
		
			Background thread to check for timed out sessions.<br/>
		 | 
	 
  
						
				 | 
			
	
 
	
		
			| Operation | 
		
						
				
					Public 
					CheckTime () : void
				 | 
			
			
				
					Details:
						 					
					
						 
[ Is static False. Is abstract False. Is return array False. Is query False. Is synchronized False. ] 
					 
				 | 
			
			
				
					Public 
					SpacePool (ttl: chrono::seconds, 
) : 
				 | 
			
			
				
					Details:
						 					
					
						 
[ Is static False. Is abstract False. Is return array False. Is query False. Is synchronized False. ] 
					 
				 | 
			
			
				
					Public 
					~SpacePool () : 
				 | 
			
			
				
					Details:
						 					
					
						 
[ Is static False. Is abstract False. Is return array False. Is query False. Is synchronized False. ] 
					 
				 | 
			
			
				
					Public 
					Open (request: OpenRequest*, 
) : shared_ptr<SpaceConnection>
				 | 
			
			
				
					Details:
						 					
					
						 
[ Is static False. Is abstract False. Is return array False. Is query False. Is synchronized False. ] 
					 
				 | 
			
			
				
					Public 
					Close (token: Token*, 
) : void
				 | 
			
			
				
					Details:
						 					
					
						 
[ Is static False. Is abstract False. Is return array False. Is query False. Is synchronized False. ] 
					 
				 | 
			
			
				
					Public 
					Find (token: Token&, 
) : shared_ptr<SpaceConnection>
				 | 
			
			
				
					Details:
						 					
					
						 
[ Is static False. Is abstract False. Is return array False. Is query False. Is synchronized False. ] 
					 
				 | 
			
		
 		
		
			
				
					| Property | 
					Value | 
				
			
				| isFinalSpecialization: | 
				0 |