Adam Rocska
|
f7ddfc1cbb
|
Found a bug, fixed it.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-12 14:18:09 +02:00 |
Adam Rocska
|
af4d01c185
|
Metadataa decode extracted.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-12 13:53:46 +02:00 |
Adam Rocska
|
2e325801e0
|
Metadataa deciphering implemented & exposed the markerbytes in the marker lookup.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-12 13:36:07 +02:00 |
Adam Rocska
|
03d2d31251
|
Another concept.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-11 23:48:36 +02:00 |
Adam Rocska
|
81319a7f54
|
Code concept still in progress
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-11 23:38:43 +02:00 |
Adam Rocska
|
bdc331e188
|
Removed dead code.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-11 21:32:11 +02:00 |
Adam Rocska
|
93dbdf79f1
|
getting markerLookup into the metadata reader
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-11 21:30:45 +02:00 |
Adam Rocska
|
0a8222aeb0
|
Moved the marker lookup algorithm in a more professional packaging.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-11 21:27:52 +02:00 |
Adam Rocska
|
3b80256856
|
MetadataStruct moved to its own module.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-11 13:41:38 +02:00 |
Adam Rocska
|
5db534cb55
|
MetadataStruct moved to its own module.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-11 13:32:49 +02:00 |
Adam Rocska
|
bcd1c7e023
|
Perparation work for the metadata module.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-11 13:20:08 +02:00 |
Adam Rocska
|
07a8298fc4
|
Reorganizing the code a bit.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-11 13:09:00 +02:00 |
Adam Rocska
|
ede019e149
|
Refactor & Node for index.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-10 20:06:45 +02:00 |
Adam Rocska
|
caa6ce4d06
|
Committing the maxminditerator changes, though I might try a totally different approach.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-08 13:23:51 +02:00 |
Adam Rocska
|
773f0d26cd
|
Removed the publicity of the pointer value of the iterator. Legacy of an older concept.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-08 12:18:55 +02:00 |
Adam Rocska
|
75de094c7f
|
Committing the whole current state I have. I must apply few changes, and transition to Stream based processing (somehow).
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-08 12:15:36 +02:00 |
Adam Rocska
|
dfa9844ccd
|
Made the IpAddress custom string convertible.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-07 20:41:21 +02:00 |
Adam Rocska
|
c549114806
|
IPV4-mapped IPV6 address support added.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-07 19:50:19 +02:00 |
Adam Rocska
|
8b1f95ed7c
|
IPV4 can now be equality compared with IPV6
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-07 19:33:02 +02:00 |
Adam Rocska
|
7a921f62b6
|
IPV6 can now be constructed from IPV4
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-07 19:22:56 +02:00 |
Adam Rocska
|
deecce754f
|
Added initializer from Data.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-07 18:38:22 +02:00 |
Adam Rocska
|
4ffc0ae3a0
|
Added initializer from string.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-07 18:31:14 +02:00 |
Adam Rocska
|
a51a554958
|
Fixed the broken tests.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-07 18:18:49 +02:00 |
Adam Rocska
|
b5dd2f8693
|
IpAddress enum now also supports IPv6.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-07 17:47:52 +02:00 |
Adam Rocska
|
6d5156758b
|
Found a convenient way of handling ip addresses in the "non-php way", yet supporting comfort. It'll be great.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-07 15:44:18 +02:00 |
Adam Rocska
|
b01b12a00d
|
Work in progress. Trying to find a decent way of interpreting "binary search tree" of MMDB, when they allow "28 bits" sized records. Do the math.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-06 16:39:30 +02:00 |
Adam Rocska
|
f6ba8dc10f
|
Metadata can now be constructed of iterators as well, because why not. I see an organic design pattern emerge here.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-06 15:36:10 +02:00 |
Adam Rocska
|
8c68f0b72d
|
We can decode the metadata nicely.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-06 14:45:02 +02:00 |
Adam Rocska
|
a635323351
|
Removed todo test
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-06 11:20:32 +02:00 |
Adam Rocska
|
dd81fb54ed
|
Fixed typo in test.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-06 11:20:16 +02:00 |
Adam Rocska
|
5600f50365
|
Extended the ControlByte struct to expose the encapsulated binary definition.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-06 11:18:36 +02:00 |
Adam Rocska
|
d13efc0387
|
Array decoder provided.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-06 09:46:20 +02:00 |
Adam Rocska
|
8c82b2d9fe
|
Made the MaxMindIterator's pointer a public read, private write field.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-05 19:04:28 +02:00 |
Adam Rocska
|
a3cfe00c0c
|
Forgot to commit the String decoder. It's not the most elegant approach, as it completely and consciously ignores little endian utf-8 strings, but I won't bother, as MaxMindDB is big endian so far. When there's time, it needs a proper implementation.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-05 19:03:52 +02:00 |
Adam Rocska
|
31cd94ba37
|
Forgot to commit this Numeric change. The naming most probably will still vary, but I again hve too many outstanding changes.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-05 19:02:44 +02:00 |
Adam Rocska
|
4a247352ca
|
MaxMind Any decoder. Partial implementation, lots of todos, but boy it's a good way to go from this dark cave.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-05 19:01:34 +02:00 |
Adam Rocska
|
dbafc06173
|
Removed dead code.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-05 13:35:15 +02:00 |
Adam Rocska
|
d71a736207
|
Decoder approach is kept.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-05 13:33:20 +02:00 |
Adam Rocska
|
a3eaa2b8c9
|
MaxMind Iterator is done.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-05 13:33:03 +02:00 |
Adam Rocska
|
f97ca19be5
|
Iterator in progress. The concept is good enough, just has to be polished.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-05 00:31:52 +02:00 |
Adam Rocska
|
017626c3a7
|
Added nextValue skeleton.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-04 21:08:27 +02:00 |
Adam Rocska
|
3f4914190d
|
A strategy emerged on how to process MaxMindDB data. May not be the best, but it could work.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-04 21:05:55 +02:00 |
Adam Rocska
|
6449c653b2
|
It works. The motto should still remain "RTFM". Signed integers arrive as two's complement instead of signed magnitude (duh).
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-04 15:24:44 +02:00 |
Adam Rocska
|
a9dd03de70
|
Simplified the inlined type cast state. Now it's time to try the integer sign part.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-04 10:52:44 +02:00 |
Adam Rocska
|
bee57f211a
|
Last try before dumping & preconditioning: Moved the typed value contruction into the padding & truncating functions. Here the integer signed cases could be handled properly.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-04 10:44:41 +02:00 |
Adam Rocska
|
438c0eca44
|
Doing a commit, to save the state. But will remove truncation logic at all, and just simply set a precondition. MaxMind's DB format could possible have an "overflow case" happen, but it just won't be supported.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-04 10:35:42 +02:00 |
Adam Rocska
|
9d34199730
|
I'll figure out int32 later.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-03 18:23:09 +02:00 |
Adam Rocska
|
9adc855359
|
Work in progress with the decoder. I want to avoid creating a copy in memory just because maxmind's binary data format sucks jack's shit...
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-03 17:41:57 +02:00 |
Adam Rocska
|
4ab4518902
|
Found some dead code.
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-03 15:11:02 +02:00 |
Adam Rocska
|
1c8ead14ce
|
Can decode UInt16
Signed-off-by: Adam Rocska <adam.rocska@adams.solutions>
|
2020-05-03 14:15:15 +02:00 |