misc/quazip/quaadler32.h
author unc0rr
Thu, 01 Nov 2012 14:31:53 +0400
branch0.9.18
changeset 7916 be11c26a3a0b
parent 5752 ea95ee97c805
permissions -rw-r--r--
Fix 0.9.18 desync: CreateNetGame() slot creates signal-slot connections from hwnet to hwgame. The problem is that this slot is called asynchronously using queued connection, and hwnet could send some signals to hwgame before hwgame object is created and connected. Changed this to direct connection. Also changed connections to hwgame object to queued, but this is unrelated. Sorry, it is frontend patch. Maybe a little delay on server side could help, but not much, as tcp packets could get glued on client's side, and that greately depends on pc and internet connection performance. Frontend should be reworked to be safe for queued connections, as it is extemely dangerous to have a mix of queued/direct connections.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5752
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     1
#ifndef QUAADLER32_H
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     2
#define QUAADLER32_H
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     3
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     4
#include <QByteArray>
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     5
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     6
#include "quachecksum32.h"
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     7
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     8
/// Adler32 checksum
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     9
/** \class QuaAdler32 quaadler32.h <quazip/quaadler32.h>
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    10
 * This class wrappers the adler32 function with the QuaChecksum32 interface.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    11
 * See QuaChecksum32 for more info.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    12
 */
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    13
class QuaAdler32 : public QuaChecksum32
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    14
{
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    15
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    16
public:
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    17
	QuaAdler32();
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    18
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    19
	quint32 calculate(const QByteArray &data);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    20
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    21
	void reset();
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    22
	void update(const QByteArray &buf);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    23
	quint32 value();
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    24
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    25
private:
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    26
	quint32 checksum;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    27
};
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    28
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    29
#endif //QUAADLER32_H