{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/corefxlab/issues/952","repository_url":"https://api.github.com/repos/dotnet/corefxlab","labels_url":"https://api.github.com/repos/dotnet/corefxlab/issues/952/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/corefxlab/issues/952/comments","events_url":"https://api.github.com/repos/dotnet/corefxlab/issues/952/events","html_url":"https://github.com/dotnet/corefxlab/issues/952","id":186914738,"number":952,"title":"Review Memory<T> architecture","user":{"login":"KrzysztofCwalina","id":9724236,"avatar_url":"https://avatars.githubusercontent.com/u/9724236?v=3","gravatar_id":"","url":"https://api.github.com/users/KrzysztofCwalina","html_url":"https://github.com/KrzysztofCwalina","followers_url":"https://api.github.com/users/KrzysztofCwalina/followers","following_url":"https://api.github.com/users/KrzysztofCwalina/following{/other_user}","gists_url":"https://api.github.com/users/KrzysztofCwalina/gists{/gist_id}","starred_url":"https://api.github.com/users/KrzysztofCwalina/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KrzysztofCwalina/subscriptions","organizations_url":"https://api.github.com/users/KrzysztofCwalina/orgs","repos_url":"https://api.github.com/users/KrzysztofCwalina/repos","events_url":"https://api.github.com/users/KrzysztofCwalina/events{/privacy}","received_events_url":"https://api.github.com/users/KrzysztofCwalina/received_events","type":"User","site_admin":false},"labels":[{"id":477018128,"url":"https://api.github.com/repos/dotnet/corefxlab/labels/Area:Memory","name":"Area:Memory","color":"5319e7","default":false},{"id":474027491,"url":"https://api.github.com/repos/dotnet/corefxlab/labels/Design%20Review","name":"Design Review","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-11-02T20:43:26Z","updated_at":"2016-12-14T22:27:28Z","closed_at":null,"body":"Not a detailed design, but we should review general architecture of OwnedMemory<T>, Memory<T>, etc.\r\n\r\nHere are the main points to discuss:\r\n1. Relationship between main types: OwnedMemory<T>, Memory<T>, ROMemory<T>, IMemory<T>, IROMemory<T>, IReferenceCounted\r\n2. Do we want the abstractions? how much abstraction?\r\n3. Reservation IDs\r\n4. Reference counting\r\n\r\nAfter the review, I will write down the spec.\r\n"},"comment":{"url":"https://api.github.com/repos/dotnet/corefxlab/issues/comments/267176823","html_url":"https://github.com/dotnet/corefxlab/issues/952#issuecomment-267176823","issue_url":"https://api.github.com/repos/dotnet/corefxlab/issues/952","id":267176823,"user":{"login":"mjp41","id":270363,"avatar_url":"https://avatars.githubusercontent.com/u/270363?v=3","gravatar_id":"","url":"https://api.github.com/users/mjp41","html_url":"https://github.com/mjp41","followers_url":"https://api.github.com/users/mjp41/followers","following_url":"https://api.github.com/users/mjp41/following{/other_user}","gists_url":"https://api.github.com/users/mjp41/gists{/gist_id}","starred_url":"https://api.github.com/users/mjp41/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjp41/subscriptions","organizations_url":"https://api.github.com/users/mjp41/orgs","repos_url":"https://api.github.com/users/mjp41/repos","events_url":"https://api.github.com/users/mjp41/events{/privacy}","received_events_url":"https://api.github.com/users/mjp41/received_events","type":"User","site_admin":false},"created_at":"2016-12-14T22:27:28Z","updated_at":"2016-12-14T22:27:28Z","body":"@KrzysztofCwalina I have a question about the OwnedMemory class.  \r\n\r\n\r\n[https://github.com/dotnet/corefxlab/blob/master/src/System.Slices/System/Buffers/OwnedMemory.cs#L113-L116](https://github.com/dotnet/corefxlab/blob/master/src/System.Slices/System/Buffers/OwnedMemory.cs#L113-L116)\r\n```csharp\r\n         protected internal virtual DisposableReservation Reserve(ref ReadOnlyMemory<T> memory) \r\n         { \r\n             return new DisposableReservation(this, Id); \r\n         } \r\n```\r\nIn this function, what is the purpose of `memory`?  It is not used?\r\n\r\nIt is passed as a parameter in \r\nhttps://github.com/dotnet/corefxlab/blob/master/src/System.Slices/System/Buffers/ReadOnlyMemory.cs#L54\r\n\r\n```csharp\r\n           public DisposableReservation Reserve() \r\n           { \r\n             return _owner.Reserve(ref this); \r\n           } \r\n```\r\n"}}
{"actor":{"display_login":"mjp41"}}