gritzko / ron

(dated, see the site) Replicated Object Notation, a distributed live data format, golang/ragel lib

Home Page:http://replicated.cc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Clarify Number UUID

lambdafu opened this issue Β· comments

uuid.md says:

        00. ?decimal index (up to 9999999999%, also 2D indices 4%5)

This needs clarification. Due to the rules for compression, 4%5 should be the same as 4000000000%5000000000, which is unexpected πŸ˜„ The 2D index (4,5) would be represented as 0000000004%0000000005, right?

It seems number UUIDs are currently unused, so the impact is low.

Yep, so far we are unsure how to implement nice readable array/matrix indices.
The currently working variant is :00001%00002 for matrix[1][2]

@gritzko do you mean 0000000001%0000000002 or 0000100000%0000200000?

Why should it be readable?

Nope. Frame size limit is 2^31. Hence, we only need five base64 digits for an index.
Hence, this fixed-width form: :00001%00002

Human readability is the reason we need the text format.

Recently, I was working a lot with JNI, which uses JVM's internal notation a lot.
Got used to those (JJ)V, (JLjava/nio/ByteBuffer;)V and suchlike.
The mandatory semicolon was a bit inconvenient, but otherwise OK.

@gritzko such exceptions make the format harder to implement. 5 zeroes which will be often shortened to ) don't worth a special format.

@cblp IMO, that's a minor convention. I mean, using the upper 30 bits.

@gritzko OK, this may work