// server call
        public override void setByteData(byte[] buf) {
            TransferInputStream tins = new TransferInputStream(buf);
            this.calleeClass = tins.readString();
            this.calleeMethod = tins.readString();
            this.returnType = tins.readByte();
            this.compress = tins.readBoolean();

            while (!tins.isFinished()) {
                byte type = tins.readByte();
                if (type == DATATYPE_BOOLEAN) {
                    putBoolean(tins.readBoolean());
                } else if (type == DATATYPE_BYTE) {
                    putByte(tins.readByte());
                } else if (type == DATATYPE_SHORT) {
                    putShort(tins.readShort());
                } else if (type == DATATYPE_CHAR) {
                    putChar(tins.readChar());
                } else if (type == DATATYPE_INT) {
                    putInt(tins.readInt());
                } else if (type == DATATYPE_LONG) {
                    putLong(tins.readLong());
                } else if (type == DATATYPE_FLOAT) {
                    putFloat(tins.readFloat());
                } else if (type == DATATYPE_DOUBLE) {
                    putDouble(tins.readDouble());
                } else if (type == DATATYPE_DATE) {
                    putDate(tins.readDate());
                } else if (type == DATATYPE_STRING) {
                    putString(tins.readString());

                } else if (type == DATATYPE_BYTEARRAY) {
                    putByteArray(tins.readByteArray());
                } else if (type == DATATYPE_INTARRAY) {
                    putIntArray(tins.readIntArray());
                } else if (type == DATATYPE_LONGARRAY) {
                    putLongArray(tins.readLongArray());
                } else if (type == DATATYPE_FLOATARRAY) {
                    putFloatArray(tins.readFloatArray());
                } else if (type == DATATYPE_DOUBLEARRAY) {
                    putDoubleArray(tins.readDoubleArray());
                } else if (type == DATATYPE_STRINGARRAY) {
                    putStringArray(tins.readStringArray());

                } else if (type == DATATYPE_WRAPPER) {
                    putWrapper(tins.readWrapper());
                }
            }

        }