// it's imperative to set the RC4Decoder now as else there's no guarantee that it'll be set before the next inbound packet arrives after you send the RC4 key
RC4Decoder rc4Decoder = new RC4Decoder(rc4Key);
ctx.pipeline().addFirst("rc4Decoder", rc4Decoder);
P5633_EncryptedRC4Key serverSeed = new P5633_EncryptedRC4Key();
serverSeed.setEncryptedRC4Key(xoredRandomShorts);
ChannelFuture cf = ctx.write(serverSeed);
cf.addListener((future) -> {// TODO: will this always execute right after sending the packet?
LOG.debug("P5633_EncryptedRC4Key sent, adding RC4Encoder to pipeline");
RC4Encoder rc4Encoder = new RC4Encoder(rc4Key);