 			}
 			self.disposeStreams()
 			self.status = .closed(error)
-			self.delegateQueue?.async {
+			self.delegateQueue.async {
 				self.delegate?.socket(self, didDisconnectWithError: error)
 			}
 		}

	public init(with config: Config) {
		self.unsafeConfig = config
		self.unsafeStatus = .closed(nil)
		inputStreamDelegate = StreamDelegate(cInputStream)
		outputStreamDelegate = StreamDelegate(cOutputStream)
	}

		}
	}
	
	public var delegateQueue: DispatchQueue {
		get {
			return synchronized(self) {
				return unsafeDelegateQueue
