if (verbose)
System.out.println("[" + this + "] INFO: FastPath update received. UpdateCode: " + updateCode + ", fragmentation: " + fragmentation + ", compression: "
+ compression + ", size: " + size + ".");
ByteBuffer data = buf.readBytes(size);
buf.putMetadata("fragmentation", fragmentation);
buf.putMetadata("compression", compression);
switch (updateCode) {
case FASTPATH_UPDATETYPE_ORDERS:
if (verbose)
System.out.println("[" + this + "] INFO: FASTPATH_UPDATETYPE_ORDERS.");
pushDataToPad(ORDERS_PAD, data);
break;
case FASTPATH_UPDATETYPE_BITMAP:
if (verbose)
System.out.println("[" + this + "] INFO: FASTPATH_UPDATETYPE_BITMAP.");
pushDataToPad(BITMAP_PAD, data);
break;
case FASTPATH_UPDATETYPE_PALETTE:
if (verbose)
System.out.println("[" + this + "] INFO: FASTPATH_UPDATETYPE_PALETTE.");
pushDataToPad(PALETTE_PAD, data);
break;
case FASTPATH_UPDATETYPE_SYNCHRONIZE:
// @see http://msdn.microsoft.com/en-us/library/cc240625.aspx
if (verbose)
System.out.println("[" + this + "] INFO: FASTPATH_UPDATETYPE_SYNCHRONIZE.");
data.unref();
if (size != 0)
throw new RuntimeException("Size of FastPath synchronize packet must be 0. UpdateCode: " + updateCode + ", fragmentation: " + fragmentation
+ ", compression: " + compression + ", size: " + size + ", data: " + data + ".");
break;