Graham
ad5f714982
Add testBounds() to DiskStoreTest
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
9de0b26da4
Throw exception in remove() if group ID is negative
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
63a8f5534e
Add netty-buffer API dependency to the cache module
...
The public interface of the cache module uses ByteBufs.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
ada90fb027
Add DiskStore tests
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
e8e2460d8e
Rename getDelta to getDuration
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
c634d2e4d7
Rename seq to blockNum
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
cea016d4ef
Add low-level cache interface
...
Unit tests to follow - I've been working on these classes for a few days
now, so I wanted to make sure they get backed up in the repository.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
cec68723a4
Add Cp1252Charset contains test
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
eef8fc1f0c
Improve Cp1252Charset.contains()
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
2525501901
Add ModifiedUtf8Charset
...
Will be used by the packclass implementation. Like Cp1252Charset, the
JDK isn't guaranteed to provide an implementation of this charset.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
7ab3b3d335
Add method for calculating the K&R hash code of a CP-1252-encoded string
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
be7cc9ac8a
Add Cp1252Charset
...
Slightly different to the standard implementation, as like the client it
considers NUL to be an unmappable character. (Furthermore, the standard
implementation isn't in StandardCharsets.)
It also provides fast methods for encoding/decoding a single byte/char
at a time.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
e7ad4b92ff
Group test files by test
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
7179743f5d
Add fsync() extension method
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
ef02a687c9
Update fastutil
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
0f032e4f21
Update to Gradle 6.6
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
c21702a0d5
Refactor the insertBefore method
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
c3d7e9d081
Add reference counting documentation
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
d801e5fda6
Re-use length variables in the Js5Compression code
4 years ago
Graham
db3421418c
Fix prefetch/len local names in Js5NetQueue
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
24db41a74e
Add gzip headers to containers
...
The headerless gzip compression is only used for pack200 files, not
containers.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
ce97775663
Reduce use of ByteBuf{Input,Output}Stream in Js5Compression
...
Probably slightly more efficient.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
8887b0a1e9
Refactor the crc32 method
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
3f59e1764c
Store individual XteaKey components separately
...
This allows us to make them private (rather than internal) and the type
as a whole is immutable.
It does mean we need to convert the key to an IntArray every time we use
it now. However, I hope that the JVM will be smart enough to inline the
toIntArray() method and also smart enough to realise it doesn't escape,
allowing it to allocate it on the stack rather than the heap.
This commit also adds methods for converting XteaKeys to hex, and
converting from hex/integer arrays to an XteaKey object.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
58335ca6d0
Add JS5 compression/encryption implementation
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
f81f4a81c7
Set LzmaCommand's default level to -6
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
921ef3a08f
Refactor some of the client loading code
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
10a99fc9fb
Refactor most of the preferences code
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
cceaf59d3c
Refactor the Base37 encoding/decoding methods
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
4f18ca0947
Refactor JS5 connection code
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
1bb5cb4e06
Refactor Js5ResourceProvider and associated code
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
07e5a6f488
Refactor the Js5MasterIndex class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
5144604f2d
Rename getReadyPercentage to getPercentageComplete
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
4b1fdcf716
Refactor JS5 request queues
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
6aac893a1f
Rename Js5Index to Js5 in unpackclass
...
I suspect Jagex have a really clever optimizer capable of inlining the
Js5Index class (or perhaps they did it manually?)
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
026ffb21c4
Refactor the client's Js5 class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
693ed579e8
Refactor more of the GameShell class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
4616401987
Refactor Timer classes and associated code in GameShell
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
4e4b0aad40
Refactor the HuffmanCodec class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
e689d65f6c
Refactor the SecondaryHashTable class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
1e4e48e413
Rename iteratorKey to iteratorBucket
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
946ab98a82
Refactor the HashTableIterator class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
9ffc7701e2
Refactor the secondary insertAfter method
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
a8c13614ef
Refactor the ReferenceNodeFactory class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
2dfd3ed889
Refactor the LruHashTable class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
7590fa8d7c
Refactor the ReferenceNode class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
aeb03865a1
Refactor the SecondaryLinkedList class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
9b81f5c6c0
Refactor the SecondaryNode class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
1ae491d411
Refactor the HashTable class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
ceb3e0d702
Refactor the client's LinkedList class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago