let descriptor = NWMultiplexGroup(to: .hostPort(host: "example.com", port: 443)
let group = NWConnectionGroup(with: descriptor, using: .quic(alpn: ["myproto"]))

group.stateUpdateHandler = { newState in
	switch newState {
		case .ready:
			print("Connected using QUIC!")
		default:
			break
	}
}

group.start(queue: queue)

/// outgoing stream 생성
let connection = NWConnection(from: group)

// 새로운 커넥션이 생겼을 때의 처리
group.newConnectionHandler = { newConneciton in
	
	newConnection.stateUpdateHandler = { newState in
	
	}
	
	newConnection.start(queue: queue)
}
let options = NWProtocolQUIC.Options()
options.initialMaxStreamsBidirectional = 100

let options = NWProtocolQUIC.Options()
options.direction = .unidirectional
let connection = NWConnection(from: group, using: options)
listener.newConnectionGroupHandler = { group in
	
	group.stateUpdateHandler = { newState in

	}

	group.newConnectionHandler = { stream in

	}

	group.start(queue: queue)
}
if let metadata = connection.metadata(definition: NWProtocolQUIC.definition)
														as? NWProtocolQUIC.Metadata {
	print("QUIC Stream ID is \\(metadata.streamIdentifier)")

	// 시간이 지난 후

	metadata.applicationError = 0x100
		
	connection.cancel()
}