{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveSocket/reactivesocket-java/issues/123","repository_url":"https://api.github.com/repos/ReactiveSocket/reactivesocket-java","labels_url":"https://api.github.com/repos/ReactiveSocket/reactivesocket-java/issues/123/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveSocket/reactivesocket-java/issues/123/comments","events_url":"https://api.github.com/repos/ReactiveSocket/reactivesocket-java/issues/123/events","html_url":"https://github.com/ReactiveSocket/reactivesocket-java/issues/123","id":163470655,"number":123,"title":"Pick a single ByteBuffer implementation for all public APIs","user":{"login":"yschimke","id":231923,"avatar_url":"https://avatars.githubusercontent.com/u/231923?v=3","gravatar_id":"","url":"https://api.github.com/users/yschimke","html_url":"https://github.com/yschimke","followers_url":"https://api.github.com/users/yschimke/followers","following_url":"https://api.github.com/users/yschimke/following{/other_user}","gists_url":"https://api.github.com/users/yschimke/gists{/gist_id}","starred_url":"https://api.github.com/users/yschimke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yschimke/subscriptions","organizations_url":"https://api.github.com/users/yschimke/orgs","repos_url":"https://api.github.com/users/yschimke/repos","events_url":"https://api.github.com/users/yschimke/events{/privacy}","received_events_url":"https://api.github.com/users/yschimke/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2016-07-01T20:40:47Z","updated_at":"2016-07-06T18:17:54Z","closed_at":null,"body":"Currently java.nio.ByteBuffer is predominantly used for public APIs.  Have a few issues, e.g. you really need to defensively shallow copy with bb.duplicate().  Also not always clear whether the intention is to use position/limit that caller provided, or treat it as a byte[] holder.\r\n\r\nSome public APIs e.g. Frame expose Agrona and its used in metadata package.  The netty packages use Netty's buffer, but mostly this is internal.\r\n\r\nA single buffer API should be used which would make it easier to be sure that code is correct."},"comment":{"url":"https://api.github.com/repos/ReactiveSocket/reactivesocket-java/issues/comments/230859185","html_url":"https://github.com/ReactiveSocket/reactivesocket-java/issues/123#issuecomment-230859185","issue_url":"https://api.github.com/repos/ReactiveSocket/reactivesocket-java/issues/123","id":230859185,"user":{"login":"benjchristensen","id":813492,"avatar_url":"https://avatars.githubusercontent.com/u/813492?v=3","gravatar_id":"","url":"https://api.github.com/users/benjchristensen","html_url":"https://github.com/benjchristensen","followers_url":"https://api.github.com/users/benjchristensen/followers","following_url":"https://api.github.com/users/benjchristensen/following{/other_user}","gists_url":"https://api.github.com/users/benjchristensen/gists{/gist_id}","starred_url":"https://api.github.com/users/benjchristensen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benjchristensen/subscriptions","organizations_url":"https://api.github.com/users/benjchristensen/orgs","repos_url":"https://api.github.com/users/benjchristensen/repos","events_url":"https://api.github.com/users/benjchristensen/events{/privacy}","received_events_url":"https://api.github.com/users/benjchristensen/received_events","type":"User","site_admin":false},"created_at":"2016-07-06T18:17:54Z","updated_at":"2016-07-06T18:17:54Z","body":"> inclined towards defining our own buffer abstraction or you prefer using JDK buffers\r\n\r\nWhichever works better. Our own buffer abstraction as an interface may work best as it avoids the concrete implementation of JDK. \r\n\r\nCan we have the interface behave similar to DuplexConnection where we interact with just the interface, and then the binding implementation is provided by whatever provides DuplexConnection?\r\n\r\nIn other words, a ReactiveSocket can't be created without a concrete DuplexConnection, and without a concrete Buffer factory?"}}
{"actor":{"display_login":"benjchristensen"}}