{"action":"created","issue":{"url":"https://api.github.com/repos/libgdx/libgdx/issues/3518","labels_url":"https://api.github.com/repos/libgdx/libgdx/issues/3518/labels{/name}","comments_url":"https://api.github.com/repos/libgdx/libgdx/issues/3518/comments","events_url":"https://api.github.com/repos/libgdx/libgdx/issues/3518/events","html_url":"https://github.com/libgdx/libgdx/pull/3518","id":114109296,"number":3518,"title":"Add Queue collection","user":{"login":"Darkyenus","id":5280068,"avatar_url":"https://avatars.githubusercontent.com/u/5280068?v=3","gravatar_id":"","url":"https://api.github.com/users/Darkyenus","html_url":"https://github.com/Darkyenus","followers_url":"https://api.github.com/users/Darkyenus/followers","following_url":"https://api.github.com/users/Darkyenus/following{/other_user}","gists_url":"https://api.github.com/users/Darkyenus/gists{/gist_id}","starred_url":"https://api.github.com/users/Darkyenus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Darkyenus/subscriptions","organizations_url":"https://api.github.com/users/Darkyenus/orgs","repos_url":"https://api.github.com/users/Darkyenus/repos","events_url":"https://api.github.com/users/Darkyenus/events{/privacy}","received_events_url":"https://api.github.com/users/Darkyenus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-10-29T17:56:53Z","updated_at":"2015-10-30T15:13:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/libgdx/libgdx/pulls/3518","html_url":"https://github.com/libgdx/libgdx/pull/3518","diff_url":"https://github.com/libgdx/libgdx/pull/3518.diff","patch_url":"https://github.com/libgdx/libgdx/pull/3518.patch"},"body":"Adds a simple but efficient queue implementation.\r\n\r\n__Motivation:__\r\n`Array` is good for lists and stacks, but it is inefficient for building queues.\r\n\r\n__Implementation:__\r\nQueue is implemented as a java array with two indexes which rotate around, wrapping at the end. Details are documented in the code. All basic methods for queue manipulation are present (add/enqueue, remove/dequeue and peek). Queue can't overflow, grows when not enough space in the backing array. On underflow it returns null or specified default value, no exceptions are thrown.\r\n\r\nPR includes unit test for the Queue."},"comment":{"url":"https://api.github.com/repos/libgdx/libgdx/issues/comments/152551579","html_url":"https://github.com/libgdx/libgdx/pull/3518#issuecomment-152551579","issue_url":"https://api.github.com/repos/libgdx/libgdx/issues/3518","id":152551579,"user":{"login":"NathanSweet","id":434010,"avatar_url":"https://avatars.githubusercontent.com/u/434010?v=3","gravatar_id":"","url":"https://api.github.com/users/NathanSweet","html_url":"https://github.com/NathanSweet","followers_url":"https://api.github.com/users/NathanSweet/followers","following_url":"https://api.github.com/users/NathanSweet/following{/other_user}","gists_url":"https://api.github.com/users/NathanSweet/gists{/gist_id}","starred_url":"https://api.github.com/users/NathanSweet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NathanSweet/subscriptions","organizations_url":"https://api.github.com/users/NathanSweet/orgs","repos_url":"https://api.github.com/users/NathanSweet/repos","events_url":"https://api.github.com/users/NathanSweet/events{/privacy}","received_events_url":"https://api.github.com/users/NathanSweet/received_events","type":"User","site_admin":false},"created_at":"2015-10-30T15:13:09Z","updated_at":"2015-10-30T15:13:09Z","body":"CircularBuffer seems like a more descriptive name."}}