{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveSocket/reactivesocket/issues/56","labels_url":"https://api.github.com/repos/ReactiveSocket/reactivesocket/issues/56/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveSocket/reactivesocket/issues/56/comments","events_url":"https://api.github.com/repos/ReactiveSocket/reactivesocket/issues/56/events","html_url":"https://github.com/ReactiveSocket/reactivesocket/issues/56","id":103777719,"number":56,"title":"Coupling SETUP / SETUP ERROR to underlying protocol is problematic","user":{"login":"wmiaw","id":156189,"avatar_url":"https://avatars.githubusercontent.com/u/156189?v=3","gravatar_id":"","url":"https://api.github.com/users/wmiaw","html_url":"https://github.com/wmiaw","followers_url":"https://api.github.com/users/wmiaw/followers","following_url":"https://api.github.com/users/wmiaw/following{/other_user}","gists_url":"https://api.github.com/users/wmiaw/gists{/gist_id}","starred_url":"https://api.github.com/users/wmiaw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmiaw/subscriptions","organizations_url":"https://api.github.com/users/wmiaw/orgs","repos_url":"https://api.github.com/users/wmiaw/repos","events_url":"https://api.github.com/users/wmiaw/events{/privacy}","received_events_url":"https://api.github.com/users/wmiaw/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-08-28T19:06:51Z","updated_at":"2015-08-28T19:12:23Z","closed_at":null,"body":"In \"Handling the Unexpected\" the following rules are stated:\r\n> A server MUST ignore a SETUP frame after it has accepted a previous SETUP.\r\n> A client MUST ignore a SETUP_ERROR after it has completed connection establishment.\r\n\r\nThis clearly only works if the connection establishment described under \"Connection Establishment\" is based on the lower-level protocol connection, because there is no \"Connection Close/Reset\" defined. And again it requires the Reactive Socket protocol to depend and interact with the underlying protocol.\r\n\r\nOtherwise, a client may think it needs to establish a new Reactive Socket connection for whatever reason, but it cannot because the server is still receiving frames from the same \"place\" on its side. And therefore all communication is now dead and cannot recover."},"comment":{"url":"https://api.github.com/repos/ReactiveSocket/reactivesocket/issues/comments/135863201","html_url":"https://github.com/ReactiveSocket/reactivesocket/issues/56#issuecomment-135863201","issue_url":"https://api.github.com/repos/ReactiveSocket/reactivesocket/issues/56","id":135863201,"user":{"login":"tmontgomery","id":1979352,"avatar_url":"https://avatars.githubusercontent.com/u/1979352?v=3","gravatar_id":"","url":"https://api.github.com/users/tmontgomery","html_url":"https://github.com/tmontgomery","followers_url":"https://api.github.com/users/tmontgomery/followers","following_url":"https://api.github.com/users/tmontgomery/following{/other_user}","gists_url":"https://api.github.com/users/tmontgomery/gists{/gist_id}","starred_url":"https://api.github.com/users/tmontgomery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmontgomery/subscriptions","organizations_url":"https://api.github.com/users/tmontgomery/orgs","repos_url":"https://api.github.com/users/tmontgomery/repos","events_url":"https://api.github.com/users/tmontgomery/events{/privacy}","received_events_url":"https://api.github.com/users/tmontgomery/received_events","type":"User","site_admin":false},"created_at":"2015-08-28T19:12:23Z","updated_at":"2015-08-28T19:12:23Z","body":"Logically, I don't see how this follows. Can you clearly explain the sequence of frames you are worried about?"}}