Mac OSX Launcher: Misc updates related to router management.

This commit is contained in:
meeh
2019-05-02 19:26:52 +00:00
parent 315d7728d8
commit d1631643a5
4 changed files with 9 additions and 50 deletions

View File

@@ -57,7 +57,7 @@ import Foundation
// javaHome will have a trailing \n which we remove to not break the cli
self.javaBinary = (self.javaHome+"/bin/java").replace(target: "\n", withString: "")
print("DetectJava.javaHome did change to "+self.javaHome)
RouterManager.shared().eventManager.trigger(eventName: "java_found", information: self.javaHome)
//RouterManager.shared().eventManager.trigger(eventName: "java_found", information: self.javaHome)
}
};
private var testedEnv : Bool = false

View File

@@ -30,7 +30,7 @@ class RouterManager : NSObject {
private static func handleRouterException(information:Any?) {
Logger.MLog(level:1,"event! - handle router exception")
Logger.MLog(level:1,information as! String)
Logger.MLog(level:1,information as? String)
}
private static func handleRouterStart(information:Any?) {
Logger.MLog(level:1,"event! - handle router start")
@@ -49,14 +49,15 @@ class RouterManager : NSObject {
RouterProcessStatus.isRouterRunning = false
}
private static func handleRouterPid(information:Any?) {
Logger.MLog(level:1,"".appendingFormat("event! - handle router pid: ", information as! String!))
Logger.MLog(level:1,"".appendingFormat("event! - handle router pid: ", information as! String))
if (information != nil) {
let intPid = Int(information as! String)
print("Router pid is \(String(describing: intPid))..")
}
}
private static func handleRouterVersion(information:Any?) {
do {
Logger.MLog(level:1, "".appendingFormat("event! - handle router version: ", information as! String!))
Logger.MLog(level:1, "".appendingFormat("event! - handle router version: ", information as! String))
guard let currentVersion : String = information as? String else {
throw ErrorsInRouterMgmr.InvalidVersion
}

View File

@@ -56,47 +56,3 @@ extension RouterProcessStatus {
}
extension RouterProcessStatus {
static func checkTcpPortForListen(port: in_port_t) -> (Bool, descr: String){
let socketFileDescriptor = socket(AF_INET, SOCK_STREAM, 0)
if socketFileDescriptor == -1 {
return (false, "SocketCreationFailed, \(descriptionOfLastError())")
}
var addr = sockaddr_in()
let sizeOfSockkAddr = MemoryLayout<sockaddr_in>.size
addr.sin_len = __uint8_t(sizeOfSockkAddr)
addr.sin_family = sa_family_t(AF_INET)
addr.sin_port = Int(OSHostByteOrder()) == OSLittleEndian ? _OSSwapInt16(port) : port
addr.sin_addr = in_addr(s_addr: inet_addr("0.0.0.0"))
addr.sin_zero = (0, 0, 0, 0, 0, 0, 0, 0)
var bind_addr = sockaddr()
memcpy(&bind_addr, &addr, Int(sizeOfSockkAddr))
if Darwin.bind(socketFileDescriptor, &bind_addr, socklen_t(sizeOfSockkAddr)) == -1 {
let details = descriptionOfLastError()
release(socket: socketFileDescriptor)
return (false, "\(port), BindFailed, \(details)")
}
if listen(socketFileDescriptor, SOMAXCONN ) == -1 {
let details = descriptionOfLastError()
release(socket: socketFileDescriptor)
return (false, "\(port), ListenFailed, \(details)")
}
release(socket: socketFileDescriptor)
return (true, "\(port) is free for use")
}
static func release(socket: Int32) {
Darwin.shutdown(socket, SHUT_RDWR)
close(socket)
}
static func descriptionOfLastError() -> String {
return String(cString: UnsafePointer(strerror(errno)))
}
}

View File

@@ -24,7 +24,7 @@ class RouterRunner: NSObject {
let plistName = String(NSString(format: "%@.I2PRouter.plist", APPDOMAIN))
//let appSupportPath = FileManager.default.urls(for: FileManager.SearchPathDirectory.applicationSupportDirectory, in: FileManager.SearchPathDomainMask.userDomainMask)
let appSupportPath = FileManager.default.urls(for: FileManager.SearchPathDirectory.applicationSupportDirectory, in: FileManager.SearchPathDomainMask.userDomainMask)
override init() {
super.init()
@@ -72,7 +72,9 @@ class RouterRunner: NSObject {
let jars = try! FileManager.default.contentsOfDirectory(atPath: basePath+"/lib")
var classpath:String = "."
for jar in jars {
classpath += ":"+basePath+"/lib/"+jar
if (jar.hasSuffix(".jar")) {
classpath += ":"+basePath+"/lib/"+jar
}
}
var cliArgs:[String] = [