{"action":"opened","issue":{"url":"https://api.github.com/repos/jackokring/lmms/issues/8","labels_url":"https://api.github.com/repos/jackokring/lmms/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/jackokring/lmms/issues/8/comments","events_url":"https://api.github.com/repos/jackokring/lmms/issues/8/events","html_url":"https://github.com/jackokring/lmms/issues/8","id":119030375,"number":8,"title":"Pool Controller (for a Message Heap)","user":{"login":"jackokring","id":594069,"avatar_url":"https://avatars.githubusercontent.com/u/594069?v=3","gravatar_id":"","url":"https://api.github.com/users/jackokring","html_url":"https://github.com/jackokring","followers_url":"https://api.github.com/users/jackokring/followers","following_url":"https://api.github.com/users/jackokring/following{/other_user}","gists_url":"https://api.github.com/users/jackokring/gists{/gist_id}","starred_url":"https://api.github.com/users/jackokring/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jackokring/subscriptions","organizations_url":"https://api.github.com/users/jackokring/orgs","repos_url":"https://api.github.com/users/jackokring/repos","events_url":"https://api.github.com/users/jackokring/events{/privacy}","received_events_url":"https://api.github.com/users/jackokring/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-11-26T11:51:28Z","updated_at":"2015-11-26T11:51:28Z","closed_at":null,"body":"Given the lock free 1 thread to 1 thread output sync, one can be created from a thread to itself containing the *free* list elements (single thread privileges on the free list such as multi allocation).  Another thread can request the construction of a pool controller, and in the fork it would supply the output sync, to send messages to it on such as requests, and one output sync to send the return, with the templated *type* of chain of type holders. The return message gives the allocation, and for use in the single thread they can be stripped one at once to send over any output sync.\r\n\r\nReturns can be set free by the pool controller. Meta flush packets can be sent to flush out singular items in output syncs. Cross allocation stealing like a free balanced bag data structure, can be done via  the pool controller connecting new poll controllers to older ones via output sync objects. Poll controller single thread privileges allow exact counting of the free, and so balance requests can adapt based on free sizes passed, and rates of change. Hard casts to the required class can make the retemplating correct for the default of the pool controller's free type holder element's content.\r\n\r\nA slow chained back bus can pass the \"end\" of a output sync to its destination as a message, for more speed single thread in single thread out FIFO connection via a new output sync."}}