{"action":"closed","issue":{"url":"https://api.github.com/repos/gnuradio/SigMF/issues/79","repository_url":"https://api.github.com/repos/gnuradio/SigMF","labels_url":"https://api.github.com/repos/gnuradio/SigMF/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/gnuradio/SigMF/issues/79/comments","events_url":"https://api.github.com/repos/gnuradio/SigMF/issues/79/events","html_url":"https://github.com/gnuradio/SigMF/issues/79","id":270442843,"node_id":"MDU6SXNzdWUyNzA0NDI4NDM=","number":79,"title":"`length` field in `core`","user":{"login":"bhilburn","id":569571,"node_id":"MDQ6VXNlcjU2OTU3MQ==","avatar_url":"https://avatars1.githubusercontent.com/u/569571?v=4","gravatar_id":"","url":"https://api.github.com/users/bhilburn","html_url":"https://github.com/bhilburn","followers_url":"https://api.github.com/users/bhilburn/followers","following_url":"https://api.github.com/users/bhilburn/following{/other_user}","gists_url":"https://api.github.com/users/bhilburn/gists{/gist_id}","starred_url":"https://api.github.com/users/bhilburn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bhilburn/subscriptions","organizations_url":"https://api.github.com/users/bhilburn/orgs","repos_url":"https://api.github.com/users/bhilburn/repos","events_url":"https://api.github.com/users/bhilburn/events{/privacy}","received_events_url":"https://api.github.com/users/bhilburn/received_events","type":"User","site_admin":false},"labels":[{"id":529994004,"node_id":"MDU6TGFiZWw1Mjk5OTQwMDQ=","url":"https://api.github.com/repos/gnuradio/SigMF/labels/question","name":"question","color":"cc317c","default":true},{"id":550755202,"node_id":"MDU6TGFiZWw1NTA3NTUyMDI=","url":"https://api.github.com/repos/gnuradio/SigMF/labels/suggestion","name":"suggestion","color":"c5def5","default":false}],"state":"closed","locked":false,"assignee":{"login":"bhilburn","id":569571,"node_id":"MDQ6VXNlcjU2OTU3MQ==","avatar_url":"https://avatars1.githubusercontent.com/u/569571?v=4","gravatar_id":"","url":"https://api.github.com/users/bhilburn","html_url":"https://github.com/bhilburn","followers_url":"https://api.github.com/users/bhilburn/followers","following_url":"https://api.github.com/users/bhilburn/following{/other_user}","gists_url":"https://api.github.com/users/bhilburn/gists{/gist_id}","starred_url":"https://api.github.com/users/bhilburn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bhilburn/subscriptions","organizations_url":"https://api.github.com/users/bhilburn/orgs","repos_url":"https://api.github.com/users/bhilburn/repos","events_url":"https://api.github.com/users/bhilburn/events{/privacy}","received_events_url":"https://api.github.com/users/bhilburn/received_events","type":"User","site_admin":false},"assignees":[{"login":"bhilburn","id":569571,"node_id":"MDQ6VXNlcjU2OTU3MQ==","avatar_url":"https://avatars1.githubusercontent.com/u/569571?v=4","gravatar_id":"","url":"https://api.github.com/users/bhilburn","html_url":"https://github.com/bhilburn","followers_url":"https://api.github.com/users/bhilburn/followers","following_url":"https://api.github.com/users/bhilburn/following{/other_user}","gists_url":"https://api.github.com/users/bhilburn/gists{/gist_id}","starred_url":"https://api.github.com/users/bhilburn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bhilburn/subscriptions","organizations_url":"https://api.github.com/users/bhilburn/orgs","repos_url":"https://api.github.com/users/bhilburn/repos","events_url":"https://api.github.com/users/bhilburn/events{/privacy}","received_events_url":"https://api.github.com/users/bhilburn/received_events","type":"User","site_admin":false}],"milestone":null,"comments":8,"created_at":"2017-11-01T20:33:22Z","updated_at":"2018-07-17T19:36:41Z","closed_at":"2018-07-17T19:36:41Z","author_association":"CONTRIBUTOR","body":"So, over in #60, a number of people have commented on the need for a `length` field. I just hit a case in my own SigMF work, completely independent of streaming where having a `length` field would make things _significantly_ easier.\r\n\r\nWe decided not to include a `length` field in the `captures` segment, originally, because we thought it would complicate streaming `captures` segments to-disk. Some thoughts after working with our current design for a bit:\r\n\r\n1) I'm not convinced that not providing a `length` field in each `captures` segment would actually impede writing the segment to disk. If a Writer application realizes it needs to write a new capture segment, it can add a `length` field to the current segment before proceeding on to writing the next segment. Since, pragmatically, the `captures` and `annotations` arrays have to be buffered / written independently, anyway, to support streaming, I don't think this causes any additional seeking, really.\r\n2) Another option, which would be useful both on it's own and in addition to (1), above, is providing a total `length` field in the `global` object. We've already made decisions that would require modifying a metadata file if a data file is split, so I don't think this causes any more burden than already exists.\r\n\r\nYou could argue that it's up to the Reader application to grab the global length by datatype and size of file, but (a) that's not possible for metadata-only distributions (per #76) and (b) would only be for the `global` field, not the `captures` field.\r\n\r\nThoughts on the above? Anyone agree? Anyone disagree? What problems exist that I'm not thinking about?"}}
{"actor":{"display_login":"bhilburn"}}