+ Add a function to the Tools package to provide the local IP address and port + Add a function to the Tools package to provide a time as formated string as yyyyMMdd hhmmss.fff + Improved the ICCC startup message: Now, the message contains the IP address and port of the stared server + Add a new configuration to specific the necessary Ocean servers' port (internally, not the public port) + The template package reports now which version out of the grid FS is used. + The Ocean server is now bound to the correct IP address and port (rule: the local IP address!) + The order of the system shutdown handlers were wrong! + The early ICCC messages problem is now fixed! + Fixed an ICCC bug for the case, that a message does not have any payload! + Also the configuration database uses now the correct mgo MongoDB rules (SetSafe & SetMode)
		
			
				
	
	
		
			21 lines
		
	
	
		
			760 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			760 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package System
 | 
						|
 | 
						|
import "net/http"
 | 
						|
import "github.com/SommerEngineering/Ocean/Tools"
 | 
						|
import "github.com/SommerEngineering/Ocean/ICCC"
 | 
						|
import "github.com/SommerEngineering/Ocean/Log"
 | 
						|
import LM "github.com/SommerEngineering/Ocean/Log/Meta"
 | 
						|
 | 
						|
func StartAndBlockForever() {
 | 
						|
	ipAddressPort := Tools.LocalIPAddressAndPort()
 | 
						|
 | 
						|
	// Tell the whole cluster, that we are up and ready:
 | 
						|
	data := ICCCStartUpMessage{}
 | 
						|
	data.IPAddressAndPort = ipAddressPort
 | 
						|
	ICCC.WriteMessage2All(ICCC.ChannelSYSTEM, `System::Start`, data)
 | 
						|
 | 
						|
	// Start and block:
 | 
						|
	Log.LogShort(senderName, LM.CategorySYSTEM, LM.LevelINFO, LM.MessageNameSTARTUP, `Web server is now listening.`, `Configuration for hostname and port.`, ipAddressPort)
 | 
						|
	http.ListenAndServe(ipAddressPort, nil)
 | 
						|
}
 |