issue: step 1: start the server step 2: stop the server step 3: start the same server. it will fail. it seems like the stop func does not set acceptScoket to nil so it will failed to start again. public func start() throws { guard acceptSocket == nil else { logger.error("Server already started") return }