{"action":"opened","issue":{"url":"https://api.github.com/repos/openthread/openthread/issues/2867","repository_url":"https://api.github.com/repos/openthread/openthread","labels_url":"https://api.github.com/repos/openthread/openthread/issues/2867/labels{/name}","comments_url":"https://api.github.com/repos/openthread/openthread/issues/2867/comments","events_url":"https://api.github.com/repos/openthread/openthread/issues/2867/events","html_url":"https://github.com/openthread/openthread/issues/2867","id":339240646,"node_id":"MDU6SXNzdWUzMzkyNDA2NDY=","number":2867,"title":"otLinkOutOfBandTransmitRequest() and otPlatRadioTransmit()","user":{"login":"bukepo","id":2240212,"node_id":"MDQ6VXNlcjIyNDAyMTI=","avatar_url":"https://avatars3.githubusercontent.com/u/2240212?v=4","gravatar_id":"","url":"https://api.github.com/users/bukepo","html_url":"https://github.com/bukepo","followers_url":"https://api.github.com/users/bukepo/followers","following_url":"https://api.github.com/users/bukepo/following{/other_user}","gists_url":"https://api.github.com/users/bukepo/gists{/gist_id}","starred_url":"https://api.github.com/users/bukepo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bukepo/subscriptions","organizations_url":"https://api.github.com/users/bukepo/orgs","repos_url":"https://api.github.com/users/bukepo/repos","events_url":"https://api.github.com/users/bukepo/events{/privacy}","received_events_url":"https://api.github.com/users/bukepo/received_events","type":"User","site_admin":false},"labels":[{"id":355043116,"node_id":"MDU6TGFiZWwzNTUwNDMxMTY=","url":"https://api.github.com/repos/openthread/openthread/labels/question","name":"question","color":"cc317c","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-07-08T16:57:35Z","updated_at":"2018-07-08T16:57:35Z","closed_at":null,"author_association":"MEMBER","body":"According to #2488, `otLinkOutOfBandTransmitRequest()` is designed to be in conjunction with other mac operation which includes normal transmission. However, `otPlatRadioTransmit()` is designed to accept buffer provided by `otPlatRadioGetTransmitBuffer()` only(see https://github.com/openthread/openthread/blob/master/include/openthread/platform/radio.h#L422), which returns a single static buffer on most example platforms. If  `otLinkOutOfBandTransmitRequest()` respect the definition of `otPlatRadioTransmit()` and get the buffer from `otPlatRadioGetTransmitBuffer()`, it could destroy data of normal transmission, and If `otLinkOutOfBandTransmitRequest()` ignores the design and constructs its own buffer, it may not be properly processed(at least on platform posix and nrf82540).\r\n\r\nShall we adjust the design of `otPlatRadioTransmit()` or shall we forbid initiating requests to send normal Thread frame and out of bound frame simultaneously?"}}
{"actor":{"display_login":"bukepo"}}