{"action":"created","issue":{"url":"https://api.github.com/repos/w3c/webrtc-pc/issues/1775","repository_url":"https://api.github.com/repos/w3c/webrtc-pc","labels_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/1775/labels{/name}","comments_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/1775/comments","events_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/1775/events","html_url":"https://github.com/w3c/webrtc-pc/issues/1775","id":298319839,"number":1775,"title":"RTCPeerConnection lacks identity marker beyond current process","user":{"login":"eladalon1983","id":22117736,"avatar_url":"https://avatars2.githubusercontent.com/u/22117736?v=4","gravatar_id":"","url":"https://api.github.com/users/eladalon1983","html_url":"https://github.com/eladalon1983","followers_url":"https://api.github.com/users/eladalon1983/followers","following_url":"https://api.github.com/users/eladalon1983/following{/other_user}","gists_url":"https://api.github.com/users/eladalon1983/gists{/gist_id}","starred_url":"https://api.github.com/users/eladalon1983/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eladalon1983/subscriptions","organizations_url":"https://api.github.com/users/eladalon1983/orgs","repos_url":"https://api.github.com/users/eladalon1983/repos","events_url":"https://api.github.com/users/eladalon1983/events{/privacy}","received_events_url":"https://api.github.com/users/eladalon1983/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":34,"created_at":"2018-02-19T15:41:14Z","updated_at":"2018-02-20T22:26:24Z","closed_at":null,"author_association":"NONE","body":"An object of RTCPeerConnection can be identified within a given process using a reference to it, or even decorated with an identity label. However, neither of these is meaningful if the object is to be referenced by another process, or even on a different machine. Attaching a label on the process itself in an ad-hoc manner would probably be less maintainable than adding an ID attribute to RTCPeerConnection in a standardized way, which would be unique within that process, but visible outside the process. It would be preferable to set the identity to be a string of a specific format, and chosen in such a way that name collisions with peer connections created elsewhere would be unlikely (though such collisions should not truly be problematic for a good implementation)."},"comment":{"url":"https://api.github.com/repos/w3c/webrtc-pc/issues/comments/367142434","html_url":"https://github.com/w3c/webrtc-pc/issues/1775#issuecomment-367142434","issue_url":"https://api.github.com/repos/w3c/webrtc-pc/issues/1775","id":367142434,"user":{"login":"taylor-b","id":14118599,"avatar_url":"https://avatars3.githubusercontent.com/u/14118599?v=4","gravatar_id":"","url":"https://api.github.com/users/taylor-b","html_url":"https://github.com/taylor-b","followers_url":"https://api.github.com/users/taylor-b/followers","following_url":"https://api.github.com/users/taylor-b/following{/other_user}","gists_url":"https://api.github.com/users/taylor-b/gists{/gist_id}","starred_url":"https://api.github.com/users/taylor-b/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/taylor-b/subscriptions","organizations_url":"https://api.github.com/users/taylor-b/orgs","repos_url":"https://api.github.com/users/taylor-b/repos","events_url":"https://api.github.com/users/taylor-b/events{/privacy}","received_events_url":"https://api.github.com/users/taylor-b/received_events","type":"User","site_admin":false},"created_at":"2018-02-20T22:26:24Z","updated_at":"2018-02-20T22:26:24Z","author_association":"CONTRIBUTOR","body":"> I have a use case where peer connections are produced in one process (namely Chrome's renderer process), but I then need to refer to them on another process (\"perform this and that on peer connection this and that\"). The latter instruction should originate from the renderer process (where JS code lives).\r\n\r\nThis seems like a Chrome implementation detail that could be handled by adding an ID to the internal (C++) PeerConnection object. But why would it need to be exposed to JS?\r\n\r\n> To give some made-up examples, it could be that one browser wants to allow an API that would rate-limit a given peer connection, and another browser wants to add an API that limits the time that a peer connection may remain open. Normally, this would be achievable with just giving a reference to the `RTCPeerConnection` object, so no problem. But this assumes a specific structure of the hosting application. Namely, it assumes that the application is single-process, and that the API called for \"please rate limit X\" is the same process where X lives. Normally, this assumption is true. But not always.\r\n\r\nI'm confused. Are you saying you want the ability for one tab to rate-limit a PeerConnection owned by another tab, using an API like:\r\n\r\n```void setPeerConnectionRateLimit(DOMString id, int kbps);```\r\n\r\nBut you'd still need some inter-tab communication mechanism to communicate the ID from the tab that owns the RTCPeerConnection to the one controlling the rate-limiting. And if such a communication mechanism exists, why couldn't it be used in the reverse direction, to send a message saying \"rate-limit your PC\". In which case the API could go directly on `RTCPeerConnection`:\r\n\r\n```\r\npartial interface RTCPeerConnection {\r\n    void setRateLimit(int kbps);\r\n};\r\n```\r\n\r\nSorry if I'm completely misunderstanding your use case. Maybe you could give a more specific example, with some pseudocode?"}}
{"actor":{"display_login":"taylor-b"}}