Squashed the decoding into the listener and copied the data from the
buffer into the client struct datain byte array