{"action":"closed","issue":{"url":"https://api.github.com/repos/io7m/jpra/issues/12","labels_url":"https://api.github.com/repos/io7m/jpra/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/io7m/jpra/issues/12/comments","events_url":"https://api.github.com/repos/io7m/jpra/issues/12/events","html_url":"https://github.com/io7m/jpra/issues/12","id":118265111,"number":12,"title":"Assumption in encoding rules is unexplained","user":{"login":"io7m","id":612494,"avatar_url":"https://avatars.githubusercontent.com/u/612494?v=3","gravatar_id":"","url":"https://api.github.com/users/io7m","html_url":"https://github.com/io7m","followers_url":"https://api.github.com/users/io7m/followers","following_url":"https://api.github.com/users/io7m/following{/other_user}","gists_url":"https://api.github.com/users/io7m/gists{/gist_id}","starred_url":"https://api.github.com/users/io7m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/io7m/subscriptions","organizations_url":"https://api.github.com/users/io7m/orgs","repos_url":"https://api.github.com/users/io7m/repos","events_url":"https://api.github.com/users/io7m/events{/privacy}","received_events_url":"https://api.github.com/users/io7m/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/io7m/jpra/labels/specification","name":"specification","color":"fbca04"}],"state":"closed","locked":false,"assignee":{"login":"io7m","id":612494,"avatar_url":"https://avatars.githubusercontent.com/u/612494?v=3","gravatar_id":"","url":"https://api.github.com/users/io7m","html_url":"https://github.com/io7m","followers_url":"https://api.github.com/users/io7m/followers","following_url":"https://api.github.com/users/io7m/following{/other_user}","gists_url":"https://api.github.com/users/io7m/gists{/gist_id}","starred_url":"https://api.github.com/users/io7m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/io7m/subscriptions","organizations_url":"https://api.github.com/users/io7m/orgs","repos_url":"https://api.github.com/users/io7m/repos","events_url":"https://api.github.com/users/io7m/events{/privacy}","received_events_url":"https://api.github.com/users/io7m/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2015-11-22T14:03:46Z","updated_at":"2015-12-06T15:14:47Z","closed_at":"2015-12-06T15:14:47Z","body":"> The encoding rules described here attempt to describe how an array of n elements of a given type T of size s is mapped to a flat and untyped storage array of k octets. The \"first\" octet in the array is at octet index 0 and the \"last\" octet in the array is at octet index n - 1. _As a consequence of the above, it can be assumed that k <= n * s_. \r\n\r\nWhy is `k <= n * s`? If anything, `k == n * s`. The code generator makes the basic assumption that this is the case and relies on both bounds checking for the underlying `ByteBuffer` and checks inserted into cursor implementations to throw exceptions if this is not the case."}}