     private func sendBytes(clientChannel: Channel) {
         var buffer = clientChannel.allocator.buffer(capacity: 1)
         buffer.writeInteger(3, as: UInt8.self)
-        // Send the data.
-        let envelope = AddressedEnvelope<ByteBuffer>(remoteAddress: remoteAddress, data: buffer)
+        // Send the data with ECN
+        let metadata = AddressedEnvelope<ByteBuffer>.Metadata(ecnState: .transportCapableFlag1)
+        let envelope = AddressedEnvelope<ByteBuffer>(remoteAddress: remoteAddress, data: buffer, metadata: metadata)
         clientChannel.writeAndFlush(self.wrapOutboundOut(envelope), promise: nil)
     }
     


func run(identifier: String) {
    let serverChannel = try! DatagramBootstrap(group: group)
        // Set the handlers that are applied to the bound channel
        .channelInitializer { channel in
            return channel.pipeline.addHandler(ServerEchoHandler())

    let clientHandler = ClientHandler(remoteAddress: remoteAddress)

    let clientChannel = try! DatagramBootstrap(group: group)
        .channelOption(ChannelOptions.explicitCongestionNotification, value: true)
        .channelInitializer { channel in
            channel.pipeline.addHandler(clientHandler)
        }
