{"action":"created","issue":{"url":"https://api.github.com/repos/taps-api/drafts/issues/220","repository_url":"https://api.github.com/repos/taps-api/drafts","labels_url":"https://api.github.com/repos/taps-api/drafts/issues/220/labels{/name}","comments_url":"https://api.github.com/repos/taps-api/drafts/issues/220/comments","events_url":"https://api.github.com/repos/taps-api/drafts/issues/220/events","html_url":"https://github.com/taps-api/drafts/issues/220","id":357328334,"node_id":"MDU6SXNzdWUzNTczMjgzMzQ=","number":220,"title":"Message Context Parameters: Ordered and Final","user":{"login":"mirjak","id":8420764,"node_id":"MDQ6VXNlcjg0MjA3NjQ=","avatar_url":"https://avatars1.githubusercontent.com/u/8420764?v=4","gravatar_id":"","url":"https://api.github.com/users/mirjak","html_url":"https://github.com/mirjak","followers_url":"https://api.github.com/users/mirjak/followers","following_url":"https://api.github.com/users/mirjak/following{/other_user}","gists_url":"https://api.github.com/users/mirjak/gists{/gist_id}","starred_url":"https://api.github.com/users/mirjak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mirjak/subscriptions","organizations_url":"https://api.github.com/users/mirjak/orgs","repos_url":"https://api.github.com/users/mirjak/repos","events_url":"https://api.github.com/users/mirjak/events{/privacy}","received_events_url":"https://api.github.com/users/mirjak/received_events","type":"User","site_admin":false},"labels":[{"id":835290366,"node_id":"MDU6TGFiZWw4MzUyOTAzNjY=","url":"https://api.github.com/repos/taps-api/drafts/labels/discuss","name":"discuss","color":"b60205","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":25,"created_at":"2018-09-05T17:25:37Z","updated_at":"2018-09-07T12:17:45Z","closed_at":null,"author_association":"NONE","body":"I would like to discuss the message context parameters \"ordered\" and \"final\" a bit more. I've put this into the same issue because I think there might be some relationship here.\r\n\r\nFirst I find \"ordered\" confusing because if you send a first message that is ordered=false and then the next one that is order=true that actually means that both messages together have a defined order, so setting it to false on the first one seems confusing. In post socket we called this dependency (and probably left the exact implementation a bit more open). I think that is actually more want we want to say: This message has to be delivered before/after the other message, however, this does not imply that both messages have to be provided to the transport right after each other. Thinking further about this, and maybe similar as we have connection groups, we may want to have message groups which basically only say that all messages belonging to the same group should be delivered in the order they have been given to the transport layer. Just an idea for now; did think this completely thought yet but maybe others have thoughts...?\r\n\r\nHowever, at this point I got reminded of partial messages, which I think always imply in-order delivery...? But to be honest I have no idea why we need partial messages at the sender-side. I think what we want is the grouping as described above (to make sure we put on those messages on the same stream in the right order) and some indication at the receiver-side that the transport has no idea about the message boundaries and just delivers a random piece of data that it received. However, these seem to be two independent concepts which should be reflected by different parameters."},"comment":{"url":"https://api.github.com/repos/taps-api/drafts/issues/comments/419421630","html_url":"https://github.com/taps-api/drafts/issues/220#issuecomment-419421630","issue_url":"https://api.github.com/repos/taps-api/drafts/issues/220","id":419421630,"node_id":"MDEyOklzc3VlQ29tbWVudDQxOTQyMTYzMA==","user":{"login":"abrunstrom","id":17362480,"node_id":"MDQ6VXNlcjE3MzYyNDgw","avatar_url":"https://avatars2.githubusercontent.com/u/17362480?v=4","gravatar_id":"","url":"https://api.github.com/users/abrunstrom","html_url":"https://github.com/abrunstrom","followers_url":"https://api.github.com/users/abrunstrom/followers","following_url":"https://api.github.com/users/abrunstrom/following{/other_user}","gists_url":"https://api.github.com/users/abrunstrom/gists{/gist_id}","starred_url":"https://api.github.com/users/abrunstrom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abrunstrom/subscriptions","organizations_url":"https://api.github.com/users/abrunstrom/orgs","repos_url":"https://api.github.com/users/abrunstrom/repos","events_url":"https://api.github.com/users/abrunstrom/events{/privacy}","received_events_url":"https://api.github.com/users/abrunstrom/received_events","type":"User","site_admin":false},"created_at":"2018-09-07T12:17:45Z","updated_at":"2018-09-07T12:17:45Z","author_association":"CONTRIBUTOR","body":"I also think we should keep things simple. \r\n\r\n@csperkins I am not fully up-to-date with post, so I am not sure what functionality want to provide here that is supported by the standard transport protocols and that can not be expressed with the basic primitives? In our current model, connections map to streams for protocols that support multi-streaming so can you not get the functionality you are after using a connection group or an unordered connection? For partial reliability, at least SCTP will not send a message after the lifetime has expired. What protocol supports this?"}}
{"actor":{"display_login":"abrunstrom"}}