Commit a9be6f59 authored by Fernando Carvajal's avatar Fernando Carvajal

Remove compatibility code for nxcomp before 3.5.0

As a part of nxcomp's clean-up process, compatibility with old protocol versions has been set now at 3.5.0. This commit removes compatibility code from nxcomp so the minimum supported version changes from 1.5.0 (protocol step 6) to 3.5.0 (protocol step 10). At this moment the removal is not complete and it will be followed by some other commits, in order to get rid of several components and files that are no longer used as they were only needed to work with old protocol versions. Refs: ArcticaProject/nx-libs#108
parent 2ffe52c5
......@@ -386,16 +386,14 @@ int Channel::handleDecode(DecodeBuffer &decodeBuffer, ChannelCache *channelCache
if (store -> enableSplit == 1)
{
if (control -> isProtoStep7() == 1)
{
#ifdef DEBUG
*logofs << "handleDecode: " << store -> name()
<< ": Checking if the message was split.\n"
<< logofs_flush;
#endif
// Since ProtoStep7 (#issue 108)
#ifdef DEBUG
*logofs << "handleDecode: " << store -> name()
<< ": Checking if the message was split.\n"
<< logofs_flush;
#endif
decodeBuffer.decodeBoolValue(split);
}
decodeBuffer.decodeBoolValue(split);
if (split == 1)
{
......@@ -537,16 +535,9 @@ int Channel::handleEncodeCached(EncodeBuffer &encodeBuffer, ChannelCache *channe
if (control -> LocalDeltaCompression == 0 ||
enableCache_ == 0 || store -> enableCache == 0)
{
if (control -> isProtoStep7() == 1)
{
encodeBuffer.encodeActionValue(is_discarded,
store -> lastActionCache);
}
else
{
encodeBuffer.encodeActionValueCompat(is_discarded,
store -> lastActionCacheCompat);
}
// Since ProtoStep7 (#issue 108)
encodeBuffer.encodeActionValue(is_discarded,
store -> lastActionCache);
store -> lastAction = is_discarded;
......@@ -601,19 +592,9 @@ int Channel::handleEncodeCached(EncodeBuffer &encodeBuffer, ChannelCache *channe
store -> lastRemoved = position;
if (control -> isProtoStep7() == 1)
{
encodeBuffer.encodeActionValue(is_removed, store -> lastRemoved,
store -> lastActionCache);
}
else
{
encodeBuffer.encodeActionValueCompat(is_removed,
store -> lastActionCacheCompat);
encodeBuffer.encodePositionValueCompat(store -> lastRemoved,
store -> lastRemovedCacheCompat);
}
// Since ProtoStep7 (#issue 108)
encodeBuffer.encodeActionValue(is_removed, store -> lastRemoved,
store -> lastActionCache);
#ifdef DEBUG
*logofs << "handleEncodeCached: " << store -> name() << ": Going to "
......@@ -679,16 +660,9 @@ int Channel::handleEncodeCached(EncodeBuffer &encodeBuffer, ChannelCache *channe
<< logofs_flush;
#endif
if (control -> isProtoStep7() == 1)
{
encodeBuffer.encodeActionValue(is_discarded,
store -> lastActionCache);
}
else
{
encodeBuffer.encodeActionValueCompat(is_discarded,
store -> lastActionCacheCompat);
}
// Since ProtoStep7 (#issue 108)
encodeBuffer.encodeActionValue(is_discarded,
store -> lastActionCache);
store -> lastAction = is_discarded;
......@@ -759,16 +733,9 @@ int Channel::handleEncodeCached(EncodeBuffer &encodeBuffer, ChannelCache *channe
<< logofs_flush;
#endif
if (control -> isProtoStep7() == 1)
{
encodeBuffer.encodeActionValue(is_discarded,
store -> lastActionCache);
}
else
{
encodeBuffer.encodeActionValueCompat(is_discarded,
store -> lastActionCacheCompat);
}
// Since ProtoStep7 (#issue 108)
encodeBuffer.encodeActionValue(is_discarded,
store -> lastActionCache);
store -> lastAction = is_discarded;
......@@ -793,16 +760,9 @@ int Channel::handleEncodeCached(EncodeBuffer &encodeBuffer, ChannelCache *channe
cerr << "Warning" << ": Message of size " << store -> plainSize(position)
<< " at position " << position << " is locked.\n";
if (control -> isProtoStep7() == 1)
{
encodeBuffer.encodeActionValue(is_discarded,
store -> lastActionCache);
}
else
{
encodeBuffer.encodeActionValueCompat(is_discarded,
store -> lastActionCacheCompat);
}
// Since ProtoStep7 (#issue 108)
encodeBuffer.encodeActionValue(is_discarded,
store -> lastActionCache);
store -> lastAction = is_discarded;
......@@ -843,20 +803,9 @@ int Channel::handleEncodeCached(EncodeBuffer &encodeBuffer, ChannelCache *channe
store -> lastAdded = position;
if (control -> isProtoStep7() == 1)
{
encodeBuffer.encodeActionValue(IS_ADDED, store -> lastAdded,
store -> lastActionCache);
}
else
{
encodeBuffer.encodeActionValueCompat(IS_ADDED,
store -> lastActionCacheCompat);
encodeBuffer.encodePositionValueCompat(store -> lastAdded,
store -> lastAddedCacheCompat);
}
// Since ProtoStep7 (#issue 108)
encodeBuffer.encodeActionValue(IS_ADDED, store -> lastAdded,
store -> lastActionCache);
return 0;
}
......@@ -898,19 +847,9 @@ int Channel::handleEncodeCached(EncodeBuffer &encodeBuffer, ChannelCache *channe
store -> lastHit = position;
if (control -> isProtoStep7() == 1)
{
encodeBuffer.encodeActionValue(IS_HIT, store -> lastHit,
store -> lastActionCache);
}
else
{
encodeBuffer.encodeActionValueCompat(IS_HIT,
store -> lastActionCacheCompat);
encodeBuffer.encodePositionValueCompat(store -> lastHit,
store -> lastHitCacheCompat);
}
// Since ProtoStep7 (#issue 108)
encodeBuffer.encodeActionValue(IS_HIT, store -> lastHit,
store -> lastActionCache);
//
// Send the field by field differences in
......@@ -997,16 +936,9 @@ int Channel::handleDecodeCached(DecodeBuffer &decodeBuffer, ChannelCache *channe
unsigned char action;
unsigned short int position;
if (control -> isProtoStep7() == 1)
{
decodeBuffer.decodeActionValue(action, position,
store -> lastActionCache);
}
else
{
decodeBuffer.decodeActionValueCompat(action,
store -> lastActionCacheCompat);
}
// Since ProtoStep7 (#issue 108)
decodeBuffer.decodeActionValue(action, position,
store -> lastActionCache);
//
// Clean operations must always come
......@@ -1015,15 +947,8 @@ int Channel::handleDecodeCached(DecodeBuffer &decodeBuffer, ChannelCache *channe
while (action == is_removed)
{
if (control -> isProtoStep7() == 1)
{
store -> lastRemoved = position;
}
else
{
decodeBuffer.decodePositionValueCompat(store -> lastRemoved,
store -> lastRemovedCacheCompat);
}
// Since ProtoStep7 (#issue 108)
store -> lastRemoved = position;
#ifdef DEBUG
......@@ -1046,16 +971,9 @@ int Channel::handleDecodeCached(DecodeBuffer &decodeBuffer, ChannelCache *channe
store -> remove(store -> lastRemoved, discard_checksum, use_data);
if (control -> isProtoStep7() == 1)
{
decodeBuffer.decodeActionValue(action, position,
store -> lastActionCache);
}
else
{
decodeBuffer.decodeActionValueCompat(action,
store -> lastActionCacheCompat);
}
// Since ProtoStep7 (#issue 108)
decodeBuffer.decodeActionValue(action, position,
store -> lastActionCache);
}
//
......@@ -1065,15 +983,8 @@ int Channel::handleDecodeCached(DecodeBuffer &decodeBuffer, ChannelCache *channe
if ((T_store_action) action == IS_HIT)
{
if (control -> isProtoStep7() == 1)
{
store -> lastHit = position;
}
else
{
decodeBuffer.decodePositionValueCompat(store -> lastHit,
store -> lastHitCacheCompat);
}
// Since ProtoStep7 (#issue 108)
store -> lastHit = position;
//
// Get data from the cache at given position.
......@@ -1139,15 +1050,8 @@ int Channel::handleDecodeCached(DecodeBuffer &decodeBuffer, ChannelCache *channe
}
else if ((T_store_action) action == IS_ADDED)
{
if (control -> isProtoStep7() == 1)
{
store -> lastAdded = position;
}
else
{
decodeBuffer.decodePositionValueCompat(store -> lastAdded,
store -> lastAddedCacheCompat);
}
// Since ProtoStep7 (#issue 108)
store -> lastAdded = position;
#ifdef DEBUG
*logofs << "handleDecodeCached: " << store -> name()
......@@ -2037,12 +1941,10 @@ Split *Channel::handleSplitCommitRemove(int request, int resource, int position)
<< ".\n" << logofs_flush;
#endif
if ((control -> isProtoStep7() == 1 &&
(resource != split -> getResource() ||
request != split -> getRequest() ||
position != split -> getPosition())) ||
(request != split -> getRequest() ||
position != split -> getPosition()))
// Since ProtoStep7 (#issue 108)
if (resource != split -> getResource() ||
request != split -> getRequest() ||
position != split -> getPosition())
{
#ifdef PANIC
*logofs << "handleSplitCommitRemove: PANIC! The data in "
......
......@@ -25,7 +25,6 @@ ClientCache::ClientCache() :
changePropertyPropertyCache(16), changePropertyTypeCache(16),
changePropertyData32Cache(16),
changePropertyTextCompressor(textCache, CLIENT_TEXT_CACHE_SIZE),
configureWindowBitmaskCache(4),
......@@ -53,17 +52,11 @@ ClientCache::ClientCache() :
imageTextLengthCache(8),
imageTextLastX(0), imageTextLastY(0),
imageTextCacheX(8), imageTextCacheY(8),
imageTextTextCompressor(textCache, CLIENT_TEXT_CACHE_SIZE),
internAtomTextCompressor(textCache, CLIENT_TEXT_CACHE_SIZE),
openFontTextCompressor(textCache, CLIENT_TEXT_CACHE_SIZE),
polySegmentCacheX(8), polySegmentCacheY(8), polySegmentCacheIndex(0),
polyTextLastX(0), polyTextLastY(0), polyTextCacheX(8),
polyTextCacheY(8), polyTextFontCache(8),
polyTextTextCompressor(textCache, CLIENT_TEXT_CACHE_SIZE),
putImageWidthCache(8), putImageHeightCache(8), putImageLastX(0),
putImageLastY(0), putImageXCache(8), putImageYCache(8),
......
......@@ -85,7 +85,6 @@ class ClientCache : public ChannelCache
IntCache changePropertyPropertyCache;
IntCache changePropertyTypeCache;
IntCache changePropertyData32Cache;
TextCompressor changePropertyTextCompressor;
//
// ClearArea request.
......@@ -188,19 +187,6 @@ class ClientCache : public ChannelCache
unsigned int imageTextLastY;
IntCache imageTextCacheX;
IntCache imageTextCacheY;
TextCompressor imageTextTextCompressor;
//
// InternAtom request.
//
TextCompressor internAtomTextCompressor;
//
// OpenFont request.
//
TextCompressor openFontTextCompressor;
//
// PolyFillRectangle request.
......@@ -251,7 +237,6 @@ class ClientCache : public ChannelCache
IntCache polyTextCacheY;
IntCache polyTextFontCache;
CharCache polyTextDeltaCache;
TextCompressor polyTextTextCompressor;
//
// PutImage request.
......
......@@ -158,23 +158,6 @@ class ClientChannel : public Channel
int handleTaintRequest(unsigned char &opcode, const unsigned char *&buffer,
unsigned int &size)
{
if (control -> isProtoStep7() == 0)
{
if (opcode == X_NXFreeSplit || opcode == X_NXAbortSplit ||
opcode == X_NXFinishSplit)
{
return handleTaintSplitRequest(opcode, buffer, size);
}
else if (opcode == X_NXSetCacheParameters)
{
return handleTaintCacheRequest(opcode, buffer, size);
}
else if (opcode == X_NXGetFontParameters)
{
return handleTaintFontRequest(opcode, buffer, size);
}
}
if (control -> TaintReplies > 0 &&
opcode == X_GetInputFocus)
{
......@@ -190,15 +173,6 @@ class ClientChannel : public Channel
return 0;
}
int handleTaintCacheRequest(unsigned char &opcode, const unsigned char *&buffer,
unsigned int &size);
int handleTaintFontRequest(unsigned char &opcode, const unsigned char *&buffer,
unsigned int &size);
int handleTaintSplitRequest(unsigned char &opcode, const unsigned char *&buffer,
unsigned int &size);
int handleTaintLameRequest(unsigned char &opcode, const unsigned char *&buffer,
unsigned int &size);
......@@ -261,20 +235,6 @@ class ClientChannel : public Channel
int handleSplitChecksum(EncodeBuffer &encodeBuffer, T_checksum checksum);
void handleSplitEnable()
{
if (control -> isProtoStep7() == 0)
{
#if defined(TEST) || defined(SPLIT)
*logofs << "handleSplitEnable: WARNING! Disabling split "
<< "with an old proxy version.\n"
<< logofs_flush;
#endif
enableSplit_ = 0;
}
}
void handleSplitPending(int resource)
{
if (splitState_.pending == 0)
......
......@@ -84,14 +84,8 @@ class ClientProxy : public Proxy
virtual int checkLocalChannelMap(int channelId)
{
if (control -> isProtoStep7() == 1)
{
return ((channelId & control -> ChannelMask) != 0);
}
else
{
return 1;
}
// Since ProtoStep7 (#issue 108)
return ((channelId & control -> ChannelMask) != 0);
}
//
......
......@@ -54,11 +54,6 @@
#include "PutPackedImage.h"
#include "GenericRequest.h"
#include "ChangeGCCompat.h"
#include "CreatePixmapCompat.h"
#include "SetUnpackColormapCompat.h"
#include "SetUnpackAlphaCompat.h"
//
// Set the verbosity level.
//
......@@ -111,20 +106,11 @@ ClientStore::ClientStore(StaticCompressor *compressor)
requests_[X_NXSetUnpackGeometry] = new SetUnpackGeometryStore(compressor);
requests_[X_NXPutPackedImage] = new PutPackedImageStore(compressor);
if (control -> isProtoStep7() == 1)
{
requests_[X_ChangeGC] = new ChangeGCStore();
requests_[X_CreatePixmap] = new CreatePixmapStore();
requests_[X_NXSetUnpackColormap] = new SetUnpackColormapStore(compressor);
requests_[X_NXSetUnpackAlpha] = new SetUnpackAlphaStore(compressor);
}
else
{
requests_[X_ChangeGC] = new ChangeGCCompatStore();
requests_[X_CreatePixmap] = new CreatePixmapCompatStore();
requests_[X_NXSetUnpackColormap] = new SetUnpackColormapCompatStore(compressor);
requests_[X_NXSetUnpackAlpha] = new SetUnpackAlphaCompatStore(compressor);
}
// Since ProtoStep7 (#issue 108)
requests_[X_ChangeGC] = new ChangeGCStore();
requests_[X_CreatePixmap] = new CreatePixmapStore();
requests_[X_NXSetUnpackColormap] = new SetUnpackColormapStore(compressor);
requests_[X_NXSetUnpackAlpha] = new SetUnpackAlphaStore(compressor);
for (int i = 0; i < CHANNEL_STORE_RESOURCE_LIMIT; i++)
{
......
......@@ -349,6 +349,14 @@
#define FILE_SIZE_CHECK_TIMEOUT 60000
//
// Protocol version compatibility values
//
const int Control::NX_MIN_PROTO_STEP = 10;
const int Control::NX_MAX_PROTO_STEP = 10;
const char* const Control::NXPROXY_COMPATIBILITY_VERSION = "3.5.0";
//
// Set defaults for control. They should be what
// you get in case of 'local' connection.
//
......@@ -633,11 +641,7 @@ Control::Control()
// time the session is negotiated.
//
protoStep6_ = 0;
protoStep7_ = 0;
protoStep8_ = 0;
protoStep9_ = 0;
protoStep10_ = 0;
protoStep_ = 0;
}
Control::~Control()
......@@ -705,92 +709,27 @@ Control::~Control()
void Control::setProtoStep(int step)
{
switch (step)
if (isValidProtoStep(step))
{
case 6:
{
protoStep6_ = 1;
protoStep7_ = 0;
protoStep8_ = 0;
protoStep9_ = 0;
protoStep10_ = 0;
break;
}
case 7:
{
protoStep6_ = 1;
protoStep7_ = 1;
protoStep8_ = 0;
protoStep9_ = 0;
protoStep10_ = 0;
break;
}
case 8:
{
protoStep6_ = 1;
protoStep7_ = 1;
protoStep8_ = 1;
protoStep9_ = 0;
protoStep10_ = 0;
break;
}
case 9:
{
protoStep6_ = 1;
protoStep7_ = 1;
protoStep8_ = 1;
protoStep9_ = 1;
protoStep10_ = 0;
break;
}
case 10:
{
protoStep6_ = 1;
protoStep7_ = 1;
protoStep8_ = 1;
protoStep9_ = 1;
protoStep10_ = 1;
break;
}
default:
{
#ifdef PANIC
*logofs << "Control: PANIC! Invalid protocol step "
<< "with value " << step << ".\n"
<< logofs_flush;
#endif
HandleCleanup();
}
protoStep_ = step;
}
else
{
#ifdef PANIC
*logofs << "Control: PANIC! Invalid protocol step "
<< "with value " << step << ".\n"
<< logofs_flush;
#endif
HandleCleanup();
}
}
int Control::getProtoStep()
{
if (protoStep10_ == 1)
{
return 10;
}
else if (protoStep9_ == 1)
{
return 9;
}
else if (protoStep8_ == 1)
{
return 8;
}
else if (protoStep7_ == 1)
{
return 7;
}
else if (protoStep6_ == 1)
if (isValidProtoStep(protoStep_))
{
return 6;
return protoStep_;
}
else
{
......
......@@ -321,6 +321,12 @@ class Control
int CompatVersionMaintenancePatch;
//
// Compatibility version for the proxy
//
static const char* const NXPROXY_COMPATIBILITY_VERSION;
//
// Which unpack methods are implemented in proxy?
//
......@@ -713,26 +719,6 @@ class Control
int getProtoStep();
int isProtoStep7()
{
return protoStep7_;
}
int isProtoStep8()
{
return protoStep8_;
}
int isProtoStep9()
{
return protoStep9_;
}
int isProtoStep10()
{
return protoStep10_;
}
private:
//
......@@ -746,11 +732,25 @@ class Control
// to the protocol version.
//
int protoStep6_;
int protoStep7_;
int protoStep8_;
int protoStep9_;
int protoStep10_;
int protoStep_;
//
// Min and max values allowed for protocol step
// depending on protocol version compatibility
//
static const int NX_MIN_PROTO_STEP;
static const int NX_MAX_PROTO_STEP;
//
// Check the validity of protocol step
//
bool isValidProtoStep(int step)
{
return ((step >= NX_MIN_PROTO_STEP) && (step <= NX_MAX_PROTO_STEP));
}
};
#endif /* Control_H */
......@@ -146,39 +146,17 @@ void CreateGCStore::updateIdentity(EncodeBuffer &encodeBuffer, const Message *me
ClientCache *clientCache = (ClientCache *) channelCache;
if (control -> isProtoStep7() == 1)
{
#ifdef TEST
*logofs << name() << ": Encoding value " << createGC -> gcontext
<< " as gcontext field.\n" << logofs_flush;
#endif
encodeBuffer.encodeNewXidValue(createGC -> gcontext, clientCache -> lastId,
clientCache -> lastIdCache, clientCache -> gcCache,
clientCache -> freeGCCache);
cachedCreateGC -> gcontext = createGC -> gcontext;
}
else
{
#ifdef TEST
*logofs << name() << ": Encoding value " << createGC -> drawable
<< " as drawable field.\n" << logofs_flush;
#endif
encodeBuffer.encodeXidValue(createGC -> drawable, clientCache -> drawableCache);
cachedCreateGC -> drawable = createGC -> drawable;
#ifdef TEST
*logofs << name() << ": Encoding value " << createGC -> gcontext
<< " as gcontext field.\n" << logofs_flush;
#endif
// Since ProtoStep7 (#issue 108)
#ifdef TEST
*logofs << name() << ": Encoding value " << createGC -> gcontext
<< " as gcontext field.\n" << logofs_flush;
#endif
encodeBuffer.encodeXidValue(createGC -> gcontext, clientCache -> gcCache);
encodeBuffer.encodeNewXidValue(createGC -> gcontext, clientCache -> lastId,
clientCache -> lastIdCache, clientCache -> gcCache,
clientCache -> freeGCCache);
cachedCreateGC -> gcontext = createGC -> gcontext;
}
cachedCreateGC -> gcontext = createGC -> gcontext;
}
void CreateGCStore::updateIdentity(DecodeBuffer &decodeBuffer, const Message *message,
......@@ -190,37 +168,15 @@ void CreateGCStore::updateIdentity(DecodeBuffer &decodeBuffer, const Message *me
unsigned int value;
if (control -> isProtoStep7() == 1)
{
decodeBuffer.decodeNewXidValue(value, clientCache -> lastId,
clientCache -> lastIdCache, clientCache -> gcCache,
clientCache -> freeGCCache);
// Since ProtoStep7 (#issue 108)
decodeBuffer.decodeNewXidValue(value, clientCache -> lastId,
clientCache -> lastIdCache, clientCache -> gcCache,
clientCache -> freeGCCache);
createGC -> gcontext = value;
createGC -> gcontext = value;
#ifdef TEST
*logofs << name() << ": Decoded value " << createGC -> gcontext
<< " as gcontext field.\n" << logofs_flush;
#endif
}
else
{
decodeBuffer.decodeXidValue(value, clientCache -> drawableCache);
createGC -> drawable = value;
#ifdef TEST
*logofs << name() << ": Decoded value " << createGC -> drawable
<< " as drawable field.\n" << logofs_flush;
#endif
decodeBuffer.decodeXidValue(value, clientCache -> gcCache);
createGC -> gcontext = value;
#ifdef TEST
*logofs << name() << ": Decoded value " << createGC -> gcontext
<< " as gcontext field.\n" << logofs_flush;
#endif
}
#ifdef TEST
*logofs << name() << ": Decoded value " << createGC -> gcontext
<< " as gcontext field.\n" << logofs_flush;
#endif
}
......@@ -34,10 +34,8 @@ DecodeBuffer::DecodeBuffer(const unsigned char *data, unsigned int length)
: buffer_(data), end_(buffer_ + length), nextSrc_(buffer_), srcMask_(0x80)
{
if (control -> isProtoStep7() == 1)
{
end_ = buffer_ + length - DECODE_BUFFER_POSTFIX_SIZE;
}
// Since ProtoStep7 (#issue 108)
end_ = buffer_ + length - DECODE_BUFFER_POSTFIX_SIZE;
}
int DecodeBuffer::decodeValue(unsigned int &value, unsigned int numBits,
......@@ -277,63 +275,25 @@ int DecodeBuffer::decodeCachedValue(unsigned int &value, unsigned int numBits,
if (index == 2)
{
if (control -> isProtoStep8() == 1)
{
blockSize = cache.getBlockSize(blockSize);
if (decodeValue(value, numBits, blockSize, endOkay))
{
cache.insert(value, IntMask[numBits]);
return 1;
}
// Since ProtoStep8 (#issue 108)
blockSize = cache.getBlockSize(blockSize);
#ifdef PANIC
*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [H] "
<< "in decodeCacheValue() with no value found.\n"
<< logofs_flush;
#endif
cerr << "Error" << ": Failure decoding data in context [H].\n";
HandleAbort();
}
else
if (decodeValue(value, numBits, blockSize, endOkay))
{
unsigned int sameDiff;
decodeBoolValue(sameDiff);
if (sameDiff)
{
value = cache.getLastDiff(IntMask[numBits]);
cache.insert(value, IntMask[numBits]);
cache.insert(value, IntMask[numBits]);
return 1;
}
else
{
blockSize = cache.getBlockSize(blockSize);
if (decodeValue(value, numBits, blockSize, endOkay))
{
cache.insert(value, IntMask[numBits]);
return 1;
}
return 1;
}
#ifdef PANIC
*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [H] "
<< "in decodeCacheValue() with no value found.\n"
<< logofs_flush;
#endif
#ifdef PANIC
*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [H] "
<< "in decodeCacheValue() with no value found.\n"
<< logofs_flush;
#endif
cerr << "Error" << ": Failure decoding data in context [H].\n";
cerr << "Error" << ": Failure decoding data in context [H].\n";
HandleAbort();
}
}
HandleAbort();
}
else
{
......@@ -665,28 +625,3 @@ void DecodeBuffer::decodeFreeXidValue(unsigned int &value, FreeCache &cache)
decodeCachedValue(value, 29, cache);
}
void DecodeBuffer::decodePositionValueCompat(short int &value, PositionCacheCompat &cache)
{
unsigned int t;
decodeCachedValue(t, 13, *(cache.base_[cache.slot_]));
cache.last_ += t;
cache.last_ &= 0x1fff;
value = cache.last_;
#ifdef DEBUG
*logofs << "DecodeBuffer: Decoded position "
<< value << " with base " << cache.slot_
<< ".\n" << logofs_flush;
#endif
#ifdef DEBUG
*logofs << "DecodeBuffer: Position block prediction is "
<< (*(cache.base_[cache.slot_])).getBlockSize(13)
<< ".\n" << logofs_flush;
#endif
cache.slot_ = (value & 0x1f);
}
......@@ -27,9 +27,6 @@
#include "OpcodeCache.h"
#include "ActionCache.h"
#include "ActionCacheCompat.h"
#include "PositionCacheCompat.h"
#define DECODE_BUFFER_OVERFLOW_SIZE 4194304
#define DECODE_BUFFER_POSTFIX_SIZE 1
......@@ -99,15 +96,6 @@ class DecodeBuffer
void decodeFreeXidValue(unsigned int &value, FreeCache &cache);
void decodeActionValueCompat(unsigned char &value, ActionCacheCompat &cache)
{
decodeCachedValue(value, 2, cache.base_[cache.slot_]);
cache.slot_ = value;
}
void decodePositionValueCompat(short int &value, PositionCacheCompat &cache);
void decodeTextData(unsigned char *buffer, unsigned int numBytes)
{
decodeMemory(buffer, numBytes);
......
......@@ -261,47 +261,14 @@ void EncodeBuffer::encodeCachedValue(unsigned int value, unsigned int numBits,
// Avoid to encode the additional bool.
//
if (control -> isProtoStep8() == 1)
{
#ifdef DUMP
*logofs << "EncodeBuffer: Encoded missed int using "
<< diffBits() << " bits out of " << numBits
<< ".\n" << logofs_flush;
#endif
encodeValue(value, numBits, blockSize);
}
else
{
if (sameDiff)
{
#ifdef DUMP
*logofs << "EncodeBuffer: Matched difference with block size "
<< cache.getBlockSize(blockSize) << ".\n"
<< logofs_flush;
#endif
encodeBoolValue(1);
}
else
{
#ifdef DUMP
*logofs << "EncodeBuffer: Missed difference with block size "
<< cache.getBlockSize(blockSize) << ".\n"
<< logofs_flush;
#endif
encodeBoolValue(0);
encodeValue(value, numBits, blockSize);
}
// Since ProtoStep8 (#issue 108)
#ifdef DUMP
*logofs << "EncodeBuffer: Encoded missed int using "
<< diffBits() << " bits out of " << numBits
<< ".\n" << logofs_flush;
#endif
#ifdef DUMP
*logofs << "EncodeBuffer: Encoded missed int using "
<< diffBits() << " bits out of " << numBits
<< ".\n" << logofs_flush;
#endif
}
encodeValue(value, numBits, blockSize);
}
}
......@@ -454,7 +421,8 @@ unsigned int EncodeBuffer::getLength() const
length++;
}
if (length > 0 && control -> isProtoStep7() == 1)
// Since ProtoStep7 (#issue 108)
if (length > 0)
{
return length + ENCODE_BUFFER_POSTFIX_SIZE;
}
......@@ -641,20 +609,3 @@ void EncodeBuffer::encodeFreeXidValue(unsigned int value, FreeCache &cache)
{
encodeCachedValue(value, 29, cache);
}
void EncodeBuffer::encodePositionValueCompat(short int value, PositionCacheCompat &cache)
{
unsigned int t = (value - cache.last_);
encodeCachedValue(t, 13, *(cache.base_[cache.slot_]));
cache.last_ = value;
#ifdef DEBUG
*logofs << "EncodeBuffer: Encoded position "
<< value << " with base " << cache.slot_
<< ".\n" << logofs_flush;
#endif
cache.slot_ = (value & 0x1f);
}
......@@ -25,9 +25,6 @@
#include "OpcodeCache.h"
#include "ActionCache.h"
#include "ActionCacheCompat.h"
#include "PositionCacheCompat.h"
#define ENCODE_BUFFER_DEFAULT_SIZE 16384
//
......@@ -117,15 +114,6 @@ class EncodeBuffer
void encodeFreeXidValue(unsigned int value, FreeCache &cache);
void encodeActionValueCompat(unsigned char value, ActionCacheCompat &cache)
{
encodeCachedValue(value, 2, cache.base_[cache.slot_]);
cache.slot_ = value;
}
void encodePositionValueCompat(short int value, PositionCacheCompat &cache);
void encodeTextData(const unsigned char *buffer, unsigned int numBytes)
{
encodeMemory(buffer, numBytes);
......
......@@ -51,8 +51,8 @@ int FillPolyStore::parseIdentity(Message *message, const unsigned char *buffer,
fillPoly -> shape = *(buffer + 12);
fillPoly -> mode = *(buffer + 13);
if (control -> isProtoStep8() == 1 &&
size >= (unsigned int) dataOffset)
// Since ProtoStep8 (#issue 108)
if (size >= (unsigned int) dataOffset)
{
fillPoly -> x_origin = GetUINT(buffer + 16, bigEndian);
fillPoly -> y_origin = GetUINT(buffer + 18, bigEndian);
......@@ -85,8 +85,8 @@ int FillPolyStore::unparseIdentity(const Message *message, unsigned char *buffer
*(buffer + 12) = fillPoly -> shape;
*(buffer + 13) = fillPoly -> mode;
if (control -> isProtoStep8() == 1 &&
size >= (unsigned int) dataOffset)
// Since ProtoStep8 (#issue 108)
if (size >= (unsigned int) dataOffset)
{
PutUINT(fillPoly -> x_origin, buffer + 16, bigEndian);
PutUINT(fillPoly -> y_origin, buffer + 18, bigEndian);
......@@ -151,8 +151,8 @@ void FillPolyStore::updateIdentity(EncodeBuffer &encodeBuffer, const Message *me
cachedFillPoly -> gcontext = fillPoly -> gcontext;
if (control -> isProtoStep8() == 1 &&
fillPoly -> size_ >= dataOffset)
// Since ProtoStep8 (#issue 108)
if (fillPoly -> size_ >= dataOffset)
{
#ifdef TEST
*logofs << name() << ": Encoding value " << fillPoly -> x_origin
......@@ -197,8 +197,8 @@ void FillPolyStore::updateIdentity(DecodeBuffer &decodeBuffer, const Message *me
<< " as gcontext field.\n" << logofs_flush;
#endif
if (control -> isProtoStep8() == 1 &&
fillPoly -> size_ >= dataOffset)
// Since ProtoStep8 (#issue 108)
if (fillPoly -> size_ >= dataOffset)
{
unsigned int value;
......
......@@ -40,7 +40,6 @@
#define FILLPOLY_ENABLE_COMPRESS 0
#define FILLPOLY_DATA_LIMIT 512
#define FILLPOLY_DATA_OFFSET 16
#define FILLPOLY_CACHE_SLOTS 2000
#define FILLPOLY_CACHE_THRESHOLD 3
......@@ -98,12 +97,9 @@ class FillPolyStore : public MessageStore
enableCompress = FILLPOLY_ENABLE_COMPRESS;
dataLimit = FILLPOLY_DATA_LIMIT;
dataOffset = FILLPOLY_DATA_OFFSET;
if (control -> isProtoStep8() == 1)
{
dataOffset = FILLPOLY_DATA_OFFSET_IF_PROTO_STEP_8;
}
// Since ProtoStep8 (#issue 108)
dataOffset = FILLPOLY_DATA_OFFSET_IF_PROTO_STEP_8;
cacheSlots = FILLPOLY_CACHE_SLOTS;
cacheThreshold = FILLPOLY_CACHE_THRESHOLD;
......@@ -169,11 +165,9 @@ class FillPolyStore : public MessageStore
virtual int identitySize(const unsigned char *buffer, unsigned int size)
{
unsigned int offset = (control -> isProtoStep8() == 1 ?
FILLPOLY_DATA_OFFSET_IF_PROTO_STEP_8 :
FILLPOLY_DATA_OFFSET);
return (size >= offset ? offset : size);
// Since ProtoStep8 (#issue 108)
return (size >= FILLPOLY_DATA_OFFSET_IF_PROTO_STEP_8 ?
FILLPOLY_DATA_OFFSET_IF_PROTO_STEP_8 : size);
}
virtual int parseIdentity(Message *message, const unsigned char *buffer,
......
......@@ -209,11 +209,7 @@ class CupsChannel : public GenericChannel
virtual int isCompressed()
{
if (control -> isProtoStep8() == 0)
{
return 1;
}
// Since ProtoStep8 (#issue 108)
return 0;
}
......@@ -252,11 +248,7 @@ class SmbChannel : public GenericChannel
virtual int isCompressed()
{
if (control -> isProtoStep8() == 0)
{
return 1;
}
// Since ProtoStep8 (#issue 108)
return 0;
}
......@@ -344,11 +336,7 @@ class HttpChannel : public GenericChannel
virtual int isCompressed()
{
if (control -> isProtoStep8() == 0)
{
return 1;
}
// Since ProtoStep8 (#issue 108)
return 0;
}
......@@ -387,11 +375,7 @@ class FontChannel : public GenericChannel
virtual int isCompressed()
{
if (control -> isProtoStep8() == 0)
{
return 1;
}
// Since ProtoStep8 (#issue 108)
return 0;
}
......
......@@ -45,12 +45,9 @@ GenericReplyStore::GenericReplyStore(StaticCompressor *compressor)
enableCache = GENERICREPLY_ENABLE_CACHE;
enableData = GENERICREPLY_ENABLE_DATA;
enableSplit = GENERICREPLY_ENABLE_SPLIT;
enableCompress = GENERICREPLY_ENABLE_COMPRESS;
if (control -> isProtoStep7() == 1)
{
enableCompress = GENERICREPLY_ENABLE_COMPRESS_IF_PROTO_STEP_7;
}
// Since ProtoStep7 (#issue 108)
enableCompress = GENERICREPLY_ENABLE_COMPRESS_IF_PROTO_STEP_7;
dataLimit = GENERICREPLY_DATA_LIMIT;
dataOffset = GENERICREPLY_DATA_OFFSET;
......
......@@ -37,7 +37,6 @@
#define GENERICREPLY_ENABLE_CACHE 1
#define GENERICREPLY_ENABLE_DATA 1
#define GENERICREPLY_ENABLE_SPLIT 0
#define GENERICREPLY_ENABLE_COMPRESS 1
#define GENERICREPLY_DATA_LIMIT 1048576 - 32
#define GENERICREPLY_DATA_OFFSET 32
......
......@@ -45,14 +45,9 @@ GenericRequestStore::GenericRequestStore(StaticCompressor *compressor)
enableCache = GENERICREQUEST_ENABLE_CACHE;
enableData = GENERICREQUEST_ENABLE_DATA;
enableSplit = GENERICREQUEST_ENABLE_SPLIT;
enableCompress = GENERICREQUEST_ENABLE_COMPRESS;
if (control -> isProtoStep7() == 1)
{
enableCompress = GENERICREQUEST_ENABLE_COMPRESS_IF_PROTO_STEP_7;
enableCompress = 0;
}
// Since ProtoStep7 (#issue 108)
enableCompress = GENERICREQUEST_ENABLE_COMPRESS_IF_PROTO_STEP_7;
dataLimit = GENERICREQUEST_DATA_LIMIT;
dataOffset = GENERICREQUEST_DATA_OFFSET;
......
......@@ -37,7 +37,6 @@
#define GENERICREQUEST_ENABLE_CACHE 1
#define GENERICREQUEST_ENABLE_DATA 1
#define GENERICREQUEST_ENABLE_SPLIT 0
#define GENERICREQUEST_ENABLE_COMPRESS 1
#define GENERICREQUEST_DATA_LIMIT 262144 - 20
#define GENERICREQUEST_DATA_OFFSET 20
......
......@@ -43,12 +43,9 @@ GetImageReplyStore::GetImageReplyStore(StaticCompressor *compressor)
enableCache = GETIMAGEREPLY_ENABLE_CACHE;
enableData = GETIMAGEREPLY_ENABLE_DATA;
enableSplit = GETIMAGEREPLY_ENABLE_SPLIT;
enableCompress = GETIMAGEREPLY_ENABLE_COMPRESS;
if (control -> isProtoStep7() == 1)
{
enableCompress = GETIMAGEREPLY_ENABLE_COMPRESS_IF_PROTO_STEP_7;
}
// Since ProtoStep7 (#issue 108)
enableCompress = GETIMAGEREPLY_ENABLE_COMPRESS_IF_PROTO_STEP_7;
dataLimit = GETIMAGEREPLY_DATA_LIMIT;
dataOffset = GETIMAGEREPLY_DATA_OFFSET;
......
......@@ -37,7 +37,6 @@
#define GETIMAGEREPLY_ENABLE_CACHE 1
#define GETIMAGEREPLY_ENABLE_DATA 1
#define GETIMAGEREPLY_ENABLE_SPLIT 0
#define GETIMAGEREPLY_ENABLE_COMPRESS 1
#define GETIMAGEREPLY_DATA_LIMIT 1048576 - 32
#define GETIMAGEREPLY_DATA_OFFSET 32
......
......@@ -45,12 +45,9 @@ GetPropertyReplyStore::GetPropertyReplyStore(StaticCompressor *compressor)
enableCache = GETPROPERTYREPLY_ENABLE_CACHE;
enableData = GETPROPERTYREPLY_ENABLE_DATA;
enableSplit = GETPROPERTYREPLY_ENABLE_SPLIT;
enableCompress = GETPROPERTYREPLY_ENABLE_COMPRESS;
if (control -> isProtoStep7() == 1)
{
enableCompress = GETPROPERTYREPLY_ENABLE_COMPRESS_IF_PROTO_STEP_7;
}
// Since ProtoStep7 (#issue 108)
enableCompress = GETPROPERTYREPLY_ENABLE_COMPRESS_IF_PROTO_STEP_7;
dataLimit = GETPROPERTYREPLY_DATA_LIMIT;
dataOffset = GETPROPERTYREPLY_DATA_OFFSET;
......
......@@ -37,7 +37,6 @@
#define GETPROPERTYREPLY_ENABLE_CACHE 1
#define GETPROPERTYREPLY_ENABLE_DATA 1
#define GETPROPERTYREPLY_ENABLE_SPLIT 0
#define GETPROPERTYREPLY_ENABLE_COMPRESS 1
#define GETPROPERTYREPLY_DATA_LIMIT 1048576 - 32
#define GETPROPERTYREPLY_DATA_OFFSET 32
......
......@@ -39,12 +39,9 @@ ListFontsReplyStore::ListFontsReplyStore(StaticCompressor *compressor)
enableCache = LISTFONTSREPLY_ENABLE_CACHE;
enableData = LISTFONTSREPLY_ENABLE_DATA;
enableSplit = LISTFONTSREPLY_ENABLE_SPLIT;
enableCompress = LISTFONTSREPLY_ENABLE_COMPRESS;
if (control -> isProtoStep7() == 1)
{
enableCompress = LISTFONTSREPLY_ENABLE_COMPRESS_IF_PROTO_STEP_7;
}
// Since ProtoStep7 (#issue 108)
enableCompress = LISTFONTSREPLY_ENABLE_COMPRESS_IF_PROTO_STEP_7;
dataLimit = LISTFONTSREPLY_DATA_LIMIT;
dataOffset = LISTFONTSREPLY_DATA_OFFSET;
......
......@@ -37,7 +37,6 @@
#define LISTFONTSREPLY_ENABLE_CACHE 1
#define LISTFONTSREPLY_ENABLE_DATA 1
#define LISTFONTSREPLY_ENABLE_SPLIT 0
#define LISTFONTSREPLY_ENABLE_COMPRESS 1
#define LISTFONTSREPLY_DATA_LIMIT 1048576 - 32
#define LISTFONTSREPLY_DATA_OFFSET 32
......
......@@ -113,20 +113,6 @@ MessageStore::MessageStore(StaticCompressor *compressor)
lastAction = is_discarded;
//
// This is used only for compatibility
// with older proxies.
//
if (control -> isProtoStep7() == 1)
{
lastResize = -1;
}
else
{
lastResize = 0;
}
//
// Private members.
//
......
......@@ -30,9 +30,6 @@
#include "ActionCache.h"
#include "ActionCacheCompat.h"
#include "PositionCacheCompat.h"
#include "StaticCompressor.h"
//
......@@ -346,16 +343,6 @@ class MessageStore
ActionCache lastActionCache;
//
// Used in old protocol versions.
//
ActionCacheCompat lastActionCacheCompat;
PositionCacheCompat lastAddedCacheCompat;
PositionCacheCompat lastHitCacheCompat;
PositionCacheCompat lastRemovedCacheCompat;
//
// Position in cache where next insertion
// is going to take place.
//
......@@ -363,14 +350,6 @@ class MessageStore
short int lastRated;
//
// Size of data part of last split message
// once compressed. This is used only for
// compatibility with older proxies.
//
int lastResize;
//
// Constructors and destructors.
//
......
......@@ -93,10 +93,8 @@ void PolyLineStore::dumpIdentity(const Message *message) const
void PolyLineStore::identityChecksum(const Message *message, const unsigned char *buffer,
unsigned int size, int bigEndian) const
{
if (control -> isProtoStep8() == 1)
{
md5_append(md5_state_, buffer + 1, 1);
}
// Since ProtoStep8 (#issue 108)
md5_append(md5_state_, buffer + 1, 1);
}
void PolyLineStore::updateIdentity(EncodeBuffer &encodeBuffer, const Message *message,
......@@ -108,11 +106,6 @@ void PolyLineStore::updateIdentity(EncodeBuffer &encodeBuffer, const Message *me
ClientCache *clientCache = (ClientCache *) channelCache;
if (control -> isProtoStep8() == 0)
{
encodeBuffer.encodeBoolValue((unsigned int) polyLine -> mode);
}
#ifdef TEST
*logofs << name() << ": Encoding value " << polyLine -> drawable
<< " as drawable field.\n" << logofs_flush;
......@@ -141,13 +134,6 @@ void PolyLineStore::updateIdentity(DecodeBuffer &decodeBuffer, const Message *me
unsigned int value;
if (control -> isProtoStep8() == 0)
{
decodeBuffer.decodeBoolValue(value);
polyLine -> mode = value;
}
decodeBuffer.decodeXidValue(value, clientCache -> drawableCache);
polyLine -> drawable = value;
......
......@@ -93,10 +93,8 @@ void PolyPointStore::dumpIdentity(const Message *message) const
void PolyPointStore::identityChecksum(const Message *message, const unsigned char *buffer,
unsigned int size, int bigEndian) const
{
if (control -> isProtoStep8() == 1)
{
md5_append(md5_state_, buffer + 1, 1);
}
// Since ProtoStep8 (#issue 108)
md5_append(md5_state_, buffer + 1, 1);
}
void PolyPointStore::updateIdentity(EncodeBuffer &encodeBuffer, const Message *message,
......@@ -108,11 +106,6 @@ void PolyPointStore::updateIdentity(EncodeBuffer &encodeBuffer, const Message *m
ClientCache *clientCache = (ClientCache *) channelCache;
if (control -> isProtoStep8() == 0)
{
encodeBuffer.encodeBoolValue((unsigned int) polyPoint -> mode);
}
#ifdef TEST
*logofs << name() << ": Encoding value " << polyPoint -> drawable
<< " as drawable field.\n" << logofs_flush;
......@@ -141,13 +134,6 @@ void PolyPointStore::updateIdentity(DecodeBuffer &decodeBuffer, const Message *m
unsigned int value;
if (control -> isProtoStep8() == 0)
{
decodeBuffer.decodeBoolValue(value);
polyPoint -> mode = value;
}
decodeBuffer.decodeXidValue(value, clientCache -> drawableCache);
polyPoint -> drawable = value;
......
......@@ -21,25 +21,8 @@
PositionCacheCompat::PositionCacheCompat()
{
if (control -> isProtoStep7() == 0)
{
for (int i = 0; i < 32; i++)
{
base_[i] = new IntCache(8);
}
slot_ = 0;
last_ = 0;
}
}
PositionCacheCompat::~PositionCacheCompat()
{
if (control -> isProtoStep7() == 0)
{
for (int i = 0; i < 32; i++)
{
delete base_[i];
}
}
}
......@@ -767,11 +767,6 @@ class Proxy
handleSplitEvent(encodeBuffer_, split);
}
int handleAsyncInit()
{
return handleFlush();
}
int handleAsyncPriority()
{
if (control -> FlushPriority == 1)
......
......@@ -44,13 +44,9 @@ PutImageStore::PutImageStore(StaticCompressor *compressor)
{
enableCache = PUTIMAGE_ENABLE_CACHE;
enableData = PUTIMAGE_ENABLE_DATA;
enableSplit = PUTIMAGE_ENABLE_SPLIT;
enableCompress = PUTIMAGE_ENABLE_COMPRESS;
if (control -> isProtoStep7() == 1)
{
enableCompress = PUTIMAGE_ENABLE_COMPRESS_IF_PROTO_STEP_7;
}
// Since ProtoStep7 (#issue 108)
enableCompress = PUTIMAGE_ENABLE_COMPRESS_IF_PROTO_STEP_7;
dataLimit = PUTIMAGE_DATA_LIMIT;
dataOffset = PUTIMAGE_DATA_OFFSET;
......@@ -59,10 +55,8 @@ PutImageStore::PutImageStore(StaticCompressor *compressor)
cacheThreshold = PUTIMAGE_CACHE_THRESHOLD;
cacheLowerThreshold = PUTIMAGE_CACHE_LOWER_THRESHOLD;
if (control -> isProtoStep8() == 1)
{
enableSplit = PUTIMAGE_ENABLE_SPLIT_IF_PROTO_STEP_8;
}
// Since ProtoStep8 (#issue 108)
enableSplit = PUTIMAGE_ENABLE_SPLIT_IF_PROTO_STEP_8;
messages_ -> resize(cacheSlots);
......
......@@ -36,8 +36,6 @@
#define PUTIMAGE_ENABLE_CACHE 1
#define PUTIMAGE_ENABLE_DATA 1
#define PUTIMAGE_ENABLE_SPLIT 1
#define PUTIMAGE_ENABLE_COMPRESS 1
#define PUTIMAGE_DATA_LIMIT 262144 - 24
#define PUTIMAGE_DATA_OFFSET 24
......
......@@ -44,7 +44,6 @@ PutPackedImageStore::PutPackedImageStore(StaticCompressor *compressor)
{
enableCache = PUTPACKEDIMAGE_ENABLE_CACHE;
enableData = PUTPACKEDIMAGE_ENABLE_DATA;
enableSplit = PUTPACKEDIMAGE_ENABLE_SPLIT;
enableCompress = PUTPACKEDIMAGE_ENABLE_COMPRESS;
dataLimit = PUTPACKEDIMAGE_DATA_LIMIT;
......@@ -54,10 +53,8 @@ PutPackedImageStore::PutPackedImageStore(StaticCompressor *compressor)
cacheThreshold = PUTPACKEDIMAGE_CACHE_THRESHOLD;
cacheLowerThreshold = PUTPACKEDIMAGE_CACHE_LOWER_THRESHOLD;
if (control -> isProtoStep8() == 1)
{
enableSplit = PUTPACKEDIMAGE_ENABLE_SPLIT_IF_PROTO_STEP_8;
}
// Since ProtoStep8 (#issue 108)
enableSplit = PUTPACKEDIMAGE_ENABLE_SPLIT_IF_PROTO_STEP_8;
messages_ -> resize(cacheSlots);
......
......@@ -36,7 +36,6 @@
#define PUTPACKEDIMAGE_ENABLE_CACHE 1
#define PUTPACKEDIMAGE_ENABLE_DATA 1
#define PUTPACKEDIMAGE_ENABLE_SPLIT 1
#define PUTPACKEDIMAGE_ENABLE_COMPRESS 0
//
......
......@@ -39,12 +39,9 @@ QueryFontReplyStore::QueryFontReplyStore(StaticCompressor *compressor)
enableCache = QUERYFONTREPLY_ENABLE_CACHE;
enableData = QUERYFONTREPLY_ENABLE_DATA;
enableSplit = QUERYFONTREPLY_ENABLE_SPLIT;
enableCompress = QUERYFONTREPLY_ENABLE_COMPRESS;
if (control -> isProtoStep7() == 1)
{
enableCompress = QUERYFONTREPLY_ENABLE_COMPRESS_IF_PROTO_STEP_7;
}
// Since ProtoStep7 (#issue 108)
enableCompress = QUERYFONTREPLY_ENABLE_COMPRESS_IF_PROTO_STEP_7;
dataLimit = QUERYFONTREPLY_DATA_LIMIT;
dataOffset = QUERYFONTREPLY_DATA_OFFSET;
......
......@@ -36,7 +36,6 @@
#define QUERYFONTREPLY_ENABLE_CACHE 1
#define QUERYFONTREPLY_ENABLE_DATA 1
#define QUERYFONTREPLY_ENABLE_SPLIT 0
#define QUERYFONTREPLY_ENABLE_COMPRESS 1
#define QUERYFONTREPLY_DATA_LIMIT 1048576 - 32
#define QUERYFONTREPLY_DATA_OFFSET 8
......
......@@ -102,26 +102,14 @@ MESSAGE_BEGIN_ENCODE_MESSAGE
unsigned int src_x = GetUINT(buffer + 24, bigEndian);
unsigned int src_y = GetUINT(buffer + 26, bigEndian);
if (control -> isProtoStep8() == 1)
{
encodeBuffer.encodeDiffCachedValue(src_x,
clientCache -> renderGlyphX, 16,
clientCache -> renderGlyphXCache, 11);
encodeBuffer.encodeDiffCachedValue(src_y,
clientCache -> renderGlyphY, 16,
clientCache -> renderGlyphYCache, 11);
}
else
{
encodeBuffer.encodeDiffCachedValue(src_x,
clientCache -> renderLastX, 16,
clientCache -> renderXCache, 11);
// Since ProtoStep8 (#issue 108)
encodeBuffer.encodeDiffCachedValue(src_x,
clientCache -> renderGlyphX, 16,
clientCache -> renderGlyphXCache, 11);
encodeBuffer.encodeDiffCachedValue(src_y,
clientCache -> renderLastY, 16,
clientCache -> renderYCache, 11);
}
encodeBuffer.encodeDiffCachedValue(src_y,
clientCache -> renderGlyphY, 16,
clientCache -> renderGlyphYCache, 11);
#ifdef TEST
*logofs << name() << ": Encoded source X "
......@@ -147,8 +135,8 @@ MESSAGE_BEGIN_ENCODE_MESSAGE
// tive to the first offset coordinates.
//
if (control -> isProtoStep8() == 1 &&
size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
// Since ProtoStep8 (#issue 108)
if (size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
{
unsigned int numGlyphs = *(buffer + 28);
......@@ -232,32 +220,20 @@ MESSAGE_BEGIN_DECODE_MESSAGE
unsigned int src_x;
unsigned int src_y;
if (control -> isProtoStep8() == 1)
{
decodeBuffer.decodeDiffCachedValue(src_x,
clientCache -> renderGlyphX, 16,
clientCache -> renderGlyphXCache, 11);
decodeBuffer.decodeDiffCachedValue(src_y,
clientCache -> renderGlyphY, 16,
clientCache -> renderGlyphYCache, 11);
}
else
{
decodeBuffer.decodeDiffCachedValue(src_x,
clientCache -> renderLastX, 16,
clientCache -> renderXCache, 11);
// Since ProtoStep8 (#issue 108)
decodeBuffer.decodeDiffCachedValue(src_x,
clientCache -> renderGlyphX, 16,
clientCache -> renderGlyphXCache, 11);
decodeBuffer.decodeDiffCachedValue(src_y,
clientCache -> renderLastY, 16,
clientCache -> renderYCache, 11);
}
decodeBuffer.decodeDiffCachedValue(src_y,
clientCache -> renderGlyphY, 16,
clientCache -> renderGlyphYCache, 11);
PutUINT(src_x, buffer + 24, bigEndian);
PutUINT(src_y, buffer + 26, bigEndian);
if (control -> isProtoStep8() == 1 &&
size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
// Since ProtoStep8 (#issue 108)
if (size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
{
decodeBuffer.decodeCachedValue(value, 8,
clientCache -> renderNumGlyphsCache);
......@@ -297,8 +273,8 @@ MESSAGE_END_DECODE_MESSAGE
MESSAGE_BEGIN_ENCODE_DATA
{
if (control -> isProtoStep8() == 1 &&
size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
// Since ProtoStep8 (#issue 108)
if (size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
{
encodeCharData(encodeBuffer, buffer, MESSAGE_OFFSET_IF_PROTO_STEP_8,
size, bigEndian, channelCache);
......@@ -318,8 +294,8 @@ MESSAGE_END_ENCODE_DATA
MESSAGE_BEGIN_DECODE_DATA
{
if (control -> isProtoStep8() == 1 &&
size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
// Since ProtoStep8 (#issue 108)
if (size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
{
decodeCharData(decodeBuffer, buffer, MESSAGE_OFFSET_IF_PROTO_STEP_8,
size, bigEndian, channelCache);
......@@ -353,8 +329,8 @@ MESSAGE_BEGIN_PARSE_IDENTITY
renderExtension -> data.composite_glyphs.src_x = GetUINT(buffer + 24, bigEndian);
renderExtension -> data.composite_glyphs.src_y = GetUINT(buffer + 26, bigEndian);
if (control -> isProtoStep8() == 1 &&
size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
// Since ProtoStep8 (#issue 108)
if (size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
{
renderExtension -> data.composite_glyphs.num_elm = *(buffer + 28);
......@@ -387,8 +363,8 @@ MESSAGE_BEGIN_UNPARSE_IDENTITY
PutUINT(renderExtension -> data.composite_glyphs.src_x, buffer + 24, bigEndian);
PutUINT(renderExtension -> data.composite_glyphs.src_y, buffer + 26, bigEndian);
if (control -> isProtoStep8() == 1 &&
size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
// Since ProtoStep8 (#issue 108)
if (size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
{
*(buffer + 28) = renderExtension -> data.composite_glyphs.num_elm;
......@@ -426,8 +402,8 @@ MESSAGE_BEGIN_IDENTITY_CHECKSUM
// first string.
//
if (control -> isProtoStep8() == 1 &&
size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
// Since ProtoStep8 (#issue 108)
if (size >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
{
md5_append(md5_state, buffer + 28, 1);
}
......@@ -470,42 +446,22 @@ MESSAGE_BEGIN_ENCODE_UPDATE
unsigned int value;
unsigned int previous;
if (control -> isProtoStep8() == 1)
{
value = renderExtension -> data.composite_glyphs.src_x;
previous = cachedRenderExtension -> data.composite_glyphs.src_x;
encodeBuffer.encodeDiffCachedValue(value, previous, 16,
clientCache -> renderGlyphXCache, 11);
// Since ProtoStep8 (#issue 108)
value = renderExtension -> data.composite_glyphs.src_x;
previous = cachedRenderExtension -> data.composite_glyphs.src_x;
cachedRenderExtension -> data.composite_glyphs.src_x = value;
encodeBuffer.encodeDiffCachedValue(value, previous, 16,
clientCache -> renderGlyphXCache, 11);
value = renderExtension -> data.composite_glyphs.src_y;
previous = cachedRenderExtension -> data.composite_glyphs.src_y;
cachedRenderExtension -> data.composite_glyphs.src_x = value;
encodeBuffer.encodeDiffCachedValue(value, previous, 16,
clientCache -> renderGlyphYCache, 11);
value = renderExtension -> data.composite_glyphs.src_y;
previous = cachedRenderExtension -> data.composite_glyphs.src_y;
cachedRenderExtension -> data.composite_glyphs.src_y = value;
}
else
{
value = renderExtension -> data.composite_glyphs.src_x;
previous = cachedRenderExtension -> data.composite_glyphs.src_x;
encodeBuffer.encodeDiffCachedValue(value, previous, 16,
clientCache -> renderXCache, 11);
cachedRenderExtension -> data.composite_glyphs.src_x = value;
encodeBuffer.encodeDiffCachedValue(value, previous, 16,
clientCache -> renderGlyphYCache, 11);
value = renderExtension -> data.composite_glyphs.src_y;
previous = cachedRenderExtension -> data.composite_glyphs.src_y;
encodeBuffer.encodeDiffCachedValue(value, previous, 16,
clientCache -> renderYCache, 11);
cachedRenderExtension -> data.composite_glyphs.src_y = value;
}
cachedRenderExtension -> data.composite_glyphs.src_y = value;
#ifdef TEST
*logofs << name() << ": Encoded source X "
......@@ -514,8 +470,8 @@ MESSAGE_BEGIN_ENCODE_UPDATE
<< logofs_flush;
#endif
if (control -> isProtoStep8() == 1 &&
renderExtension -> size_ >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
// Since ProtoStep8 (#issue 108)
if (renderExtension -> size_ >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
{
//
// Offset X and Y.
......@@ -601,41 +557,23 @@ MESSAGE_BEGIN_DECODE_UPDATE
unsigned int value;
unsigned int previous;
if (control -> isProtoStep8() == 1)
{
previous = renderExtension -> data.composite_glyphs.src_x;
decodeBuffer.decodeDiffCachedValue(value, previous, 16,
clientCache -> renderGlyphXCache, 11);
renderExtension -> data.composite_glyphs.src_x = value;
previous = renderExtension -> data.composite_glyphs.src_y;
decodeBuffer.decodeDiffCachedValue(value, previous, 16,
clientCache -> renderGlyphYCache, 11);
// Since ProtoStep8 (#issue 108)
previous = renderExtension -> data.composite_glyphs.src_x;
renderExtension -> data.composite_glyphs.src_y = value;
}
else
{
previous = renderExtension -> data.composite_glyphs.src_x;
decodeBuffer.decodeDiffCachedValue(value, previous, 16,
clientCache -> renderGlyphXCache, 11);
decodeBuffer.decodeDiffCachedValue(value, previous, 16,
clientCache -> renderXCache, 11);
renderExtension -> data.composite_glyphs.src_x = value;
renderExtension -> data.composite_glyphs.src_x = value;
previous = renderExtension -> data.composite_glyphs.src_y;
previous = renderExtension -> data.composite_glyphs.src_y;
decodeBuffer.decodeDiffCachedValue(value, previous, 16,
clientCache -> renderGlyphYCache, 11);
decodeBuffer.decodeDiffCachedValue(value, previous, 16,
clientCache -> renderYCache, 11);
renderExtension -> data.composite_glyphs.src_y = value;
}
renderExtension -> data.composite_glyphs.src_y = value;
if (control -> isProtoStep8() == 1 &&
renderExtension -> size_ >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
// Since ProtoStep8 (#issue 108)
if (renderExtension -> size_ >= MESSAGE_OFFSET_IF_PROTO_STEP_8)
{
//
// Offset X and Y.
......
......@@ -80,9 +80,8 @@ class MESSAGE_STORE : public MESSAGE_CLASS
virtual int identitySize(const unsigned char *buffer,
unsigned int size)
{
unsigned int offset = (control -> isProtoStep8() == 1 ?
MESSAGE_OFFSET_IF_PROTO_STEP_8 :
MESSAGE_OFFSET);
// Since ProtoStep8 (#issue 108)
unsigned int offset = MESSAGE_OFFSET_IF_PROTO_STEP_8;
return (size >= offset ? offset : size);
}
......
......@@ -44,7 +44,6 @@
#define RENDEREXTENSION_DATA_LIMIT 6144
#define RENDEREXTENSION_DATA_OFFSET 36
#define RENDEREXTENSION_CACHE_SLOTS 6000
#define RENDEREXTENSION_CACHE_THRESHOLD 20
#define RENDEREXTENSION_CACHE_LOWER_THRESHOLD 10
......
......@@ -71,7 +71,6 @@ ServerCache::ServerCache() :
getKeyboardMappingKeysymCache(8),
getPropertyTypeCache(8),
getPropertyTextCompressor(textCache, SERVER_TEXT_CACHE_SIZE),
getSelectionOwnerCache(8),
......@@ -85,9 +84,7 @@ ServerCache::ServerCache() :
translateCoordsChildCache(8), translateCoordsXCache(8),
translateCoordsYCache(8),
queryTreeWindowCache(8),
getAtomNameTextCompressor(textCache, SERVER_TEXT_CACHE_SIZE)
queryTreeWindowCache(8)
{
unsigned int i;
......
......@@ -215,7 +215,6 @@ class ServerCache : public ChannelCache
CharCache getPropertyFormatCache;
IntCache getPropertyTypeCache;
TextCompressor getPropertyTextCompressor;
static BlockCache xResources;
//
......@@ -273,13 +272,6 @@ class ServerCache : public ChannelCache
IntCache queryTreeWindowCache;
//
// GetAtomName reply in protocol
// versions >= 3.
//
TextCompressor getAtomNameTextCompressor;
//
// Generic reply. Use short data
// in protocol versions >= 3.
//
......
......@@ -312,21 +312,6 @@ class ServerChannel : public Channel
int handleSplitChecksum(DecodeBuffer &decodeBuffer, T_checksum &checksum);
void handleSplitEnable()
{
if (control -> isProtoStep7() == 0)
{
#if defined(TEST) || defined(SPLIT)
*logofs << "handleSplitEnable: WARNING! Disabling load "
<< "and save with an old proxy version.\n"
<< logofs_flush;
#endif
splitState_.save = 0;
splitState_.load = 0;
}
}
//
// Allocate and free the shared memory
// support resources.
......
......@@ -102,14 +102,8 @@ class ServerProxy : public Proxy
virtual int checkLocalChannelMap(int channelId)
{
if (control -> isProtoStep7() == 1)
{
return ((channelId & control -> ChannelMask) == 0);
}
else
{
return 0;
}
// Since ProtoStep7 (#issue 108)
return ((channelId & control -> ChannelMask) == 0);
}
private:
......
......@@ -44,7 +44,6 @@ SetUnpackAlphaStore::SetUnpackAlphaStore(StaticCompressor *compressor)
{
enableCache = SETUNPACKALPHA_ENABLE_CACHE;
enableData = SETUNPACKALPHA_ENABLE_DATA;
enableSplit = SETUNPACKALPHA_ENABLE_SPLIT_IF_PROTO_STEP_7;
enableCompress = SETUNPACKALPHA_ENABLE_COMPRESS_IF_PROTO_STEP_7;
dataLimit = SETUNPACKALPHA_DATA_LIMIT;
......@@ -54,10 +53,8 @@ SetUnpackAlphaStore::SetUnpackAlphaStore(StaticCompressor *compressor)
cacheThreshold = SETUNPACKALPHA_CACHE_THRESHOLD;
cacheLowerThreshold = SETUNPACKALPHA_CACHE_LOWER_THRESHOLD;
if (control -> isProtoStep8() == 1)
{
enableSplit = SETUNPACKALPHA_ENABLE_SPLIT_IF_PROTO_STEP_8;
}
// Since ProtoStep8 (#issue 108)
enableSplit = SETUNPACKALPHA_ENABLE_SPLIT_IF_PROTO_STEP_8;
messages_ -> resize(cacheSlots);
......
......@@ -36,18 +36,14 @@
#define SETUNPACKALPHA_ENABLE_CACHE 1
#define SETUNPACKALPHA_ENABLE_DATA 1
#define SETUNPACKALPHA_ENABLE_SPLIT 0
#define SETUNPACKALPHA_ENABLE_COMPRESS 1
#define SETUNPACKALPHA_DATA_LIMIT 16384
#define SETUNPACKALPHA_DATA_OFFSET 8
#define SETUNPACKALPHA_CACHE_SLOTS 2000
#define SETUNPACKALPHA_CACHE_THRESHOLD 10
#define SETUNPACKALPHA_CACHE_LOWER_THRESHOLD 5
#define SETUNPACKALPHA_DATA_OFFSET_IF_PROTO_STEP_7 16
#define SETUNPACKALPHA_ENABLE_SPLIT_IF_PROTO_STEP_7 1
#define SETUNPACKALPHA_ENABLE_COMPRESS_IF_PROTO_STEP_7 0
#define SETUNPACKALPHA_ENABLE_SPLIT_IF_PROTO_STEP_8 0
......
......@@ -44,7 +44,6 @@ SetUnpackColormapStore::SetUnpackColormapStore(StaticCompressor *compressor)
{
enableCache = SETUNPACKCOLORMAP_ENABLE_CACHE;
enableData = SETUNPACKCOLORMAP_ENABLE_DATA;
enableSplit = SETUNPACKCOLORMAP_ENABLE_SPLIT;
enableCompress = SETUNPACKCOLORMAP_ENABLE_COMPRESS_IF_PROTO_STEP_7;
dataLimit = SETUNPACKCOLORMAP_DATA_LIMIT;
......@@ -54,10 +53,8 @@ SetUnpackColormapStore::SetUnpackColormapStore(StaticCompressor *compressor)
cacheThreshold = SETUNPACKCOLORMAP_CACHE_THRESHOLD;
cacheLowerThreshold = SETUNPACKCOLORMAP_CACHE_LOWER_THRESHOLD;
if (control -> isProtoStep8() == 1)
{
enableSplit = SETUNPACKCOLORMAP_ENABLE_SPLIT_IF_PROTO_STEP_8;
}
// Since ProtoStep8 (#issue 108)
enableSplit = SETUNPACKCOLORMAP_ENABLE_SPLIT_IF_PROTO_STEP_8;
messages_ -> resize(cacheSlots);
......
......@@ -36,11 +36,8 @@
#define SETUNPACKCOLORMAP_ENABLE_CACHE 1
#define SETUNPACKCOLORMAP_ENABLE_DATA 1
#define SETUNPACKCOLORMAP_ENABLE_SPLIT 1
#define SETUNPACKCOLORMAP_ENABLE_COMPRESS 1
#define SETUNPACKCOLORMAP_DATA_LIMIT 4096
#define SETUNPACKCOLORMAP_DATA_OFFSET 8
#define SETUNPACKCOLORMAP_CACHE_SLOTS 2000
#define SETUNPACKCOLORMAP_CACHE_THRESHOLD 5
......
......@@ -45,12 +45,9 @@ ShapeExtensionStore::ShapeExtensionStore(StaticCompressor *compressor)
enableCache = SHAPEEXTENSION_ENABLE_CACHE;
enableData = SHAPEEXTENSION_ENABLE_DATA;
enableSplit = SHAPEEXTENSION_ENABLE_SPLIT;
enableCompress = SHAPEEXTENSION_ENABLE_COMPRESS;
if (control -> isProtoStep7() == 1)
{
enableCompress = SHAPEEXTENSION_ENABLE_COMPRESS_IF_PROTO_STEP_7;
}
// Since ProtoStep7 (#issue 108)
enableCompress = SHAPEEXTENSION_ENABLE_COMPRESS_IF_PROTO_STEP_7;
dataLimit = SHAPEEXTENSION_DATA_LIMIT;
dataOffset = SHAPEEXTENSION_DATA_OFFSET;
......
......@@ -37,7 +37,6 @@
#define SHAPEEXTENSION_ENABLE_CACHE 1
#define SHAPEEXTENSION_ENABLE_DATA 1
#define SHAPEEXTENSION_ENABLE_SPLIT 0
#define SHAPEEXTENSION_ENABLE_COMPRESS 1
#define SHAPEEXTENSION_DATA_LIMIT 3200
#define SHAPEEXTENSION_DATA_OFFSET 20
......
......@@ -748,27 +748,8 @@ int SplitStore::start(DecodeBuffer &decodeBuffer)
// Get the compressed size.
//
if (control -> isProtoStep7() == 1)
{
decodeBuffer.decodeValue(compressedSize, 32, 14);
}
else
{
//
// As we can't refuse to handle the decoding
// of the split message when connected to an
// old proxy version, we need to decode this
// in a way that is compatible.
//
unsigned int diffSize;
decodeBuffer.decodeValue(diffSize, 32, 14);
split -> store_ -> lastResize += diffSize;
compressedSize = split -> store_ -> lastResize;
}
// Since ProtoStep7 (#issue 108)
decodeBuffer.decodeValue(compressedSize, 32, 14);
split -> store_ -> validateSize(split -> d_size_, compressedSize);
......
......@@ -199,18 +199,18 @@ T_buffer;
// received at the decoding side.
//
// Since ProtoStep8 (#issue 108)
enum T_store_action
{
is_hit,
is_added,
is_discarded,
is_removed,
is_added_compat = 0,
is_hit_compat = 1
is_removed
};
#define IS_HIT (control -> isProtoStep8() == 1 ? is_hit : is_hit_compat)
#define IS_ADDED (control -> isProtoStep8() == 1 ? is_added : is_added_compat)
// Since ProtoStep8 (#issue 108)
#define IS_HIT is_hit
#define IS_ADDED is_added
enum T_checksum_action
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment