)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},"change_message_id":"09c1ab423688b1a0b7f56e454740385d903ef6ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"820d6f1e_da509c80","updated":"2023-07-21 17:53:51.000000000","message":"Final point to solve before my +2","commit_id":"88960e5be0d6f3417c74f63694d55b0556ab2962"}],"tvix/store/src/blobservice/grpc.rs":[{"author":{"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},"change_message_id":"09c1ab423688b1a0b7f56e454740385d903ef6ff","unresolved":true,"context_lines":[{"line_number":146,"context_line":"            Ok(stream) \u003d\u003e {"},{"line_number":147,"context_line":"                // map the stream of proto::BlobChunk to bytes."},{"line_number":148,"context_line":"                let data_stream \u003d stream.map(|x| {"},{"line_number":149,"context_line":"                    x.map(|x| VecDeque::from(x.data.to_vec()))"},{"line_number":150,"context_line":"                        .map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidInput, e))"},{"line_number":151,"context_line":"                });"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rustsrc","patch_set":4,"id":"629a7673_5b8f6568","line":149,"updated":"2023-07-21 17:53:51.000000000","message":"why do you keep the `x.data` around?\njust consume into a Vec, no?\n`to_vec` is allocating I believe","commit_id":"88960e5be0d6f3417c74f63694d55b0556ab2962"},{"author":{"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},"change_message_id":"d7cc0b3969acad00e02c08f163c54583410aa36e","unresolved":true,"context_lines":[{"line_number":146,"context_line":"            Ok(stream) \u003d\u003e {"},{"line_number":147,"context_line":"                // map the stream of proto::BlobChunk to bytes."},{"line_number":148,"context_line":"                let data_stream \u003d stream.map(|x| {"},{"line_number":149,"context_line":"                    x.map(|x| VecDeque::from(x.data.to_vec()))"},{"line_number":150,"context_line":"                        .map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidInput, e))"},{"line_number":151,"context_line":"                });"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rustsrc","patch_set":4,"id":"ec3f24f7_e7e68cb8","line":149,"in_reply_to":"428ecde6_d1fef4f8","updated":"2023-07-21 18:40:10.000000000","message":"I\u0027d say it depends if `x.data` is shared or not\nif it\u0027s not, there is, you just discard and build a Vec\u003cu8\u003e out of it by getting the raw ptrs","commit_id":"88960e5be0d6f3417c74f63694d55b0556ab2962"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"0fa432d077e7a619495d3f0afb90b7b5439e5b28","unresolved":true,"context_lines":[{"line_number":146,"context_line":"            Ok(stream) \u003d\u003e {"},{"line_number":147,"context_line":"                // map the stream of proto::BlobChunk to bytes."},{"line_number":148,"context_line":"                let data_stream \u003d stream.map(|x| {"},{"line_number":149,"context_line":"                    x.map(|x| VecDeque::from(x.data.to_vec()))"},{"line_number":150,"context_line":"                        .map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidInput, e))"},{"line_number":151,"context_line":"                });"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rustsrc","patch_set":4,"id":"428ecde6_d1fef4f8","line":149,"in_reply_to":"629a7673_5b8f6568","updated":"2023-07-21 17:58:29.000000000","message":"I think there\u0027s no non-allocating path from bytes::Bytes to VecDeque\u003cu8\u003e ?","commit_id":"88960e5be0d6f3417c74f63694d55b0556ab2962"},{"author":{"_account_id":1000073,"name":"raitobezarius","display_name":"Ryan Lahfa","email":"tvl@lahfa.xyz","username":"raitobezarius"},"change_message_id":"97b746a3b7a1a0d926aef4e4925e2016ca438b4e","unresolved":false,"context_lines":[{"line_number":146,"context_line":"            Ok(stream) \u003d\u003e {"},{"line_number":147,"context_line":"                // map the stream of proto::BlobChunk to bytes."},{"line_number":148,"context_line":"                let data_stream \u003d stream.map(|x| {"},{"line_number":149,"context_line":"                    x.map(|x| VecDeque::from(x.data.to_vec()))"},{"line_number":150,"context_line":"                        .map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidInput, e))"},{"line_number":151,"context_line":"                });"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rustsrc","patch_set":4,"id":"545eed2d_2b8e2586","line":149,"in_reply_to":"ec3f24f7_e7e68cb8","updated":"2023-07-21 19:01:34.000000000","message":"\u003e I\u0027d say it depends if `x.data` is shared or not\n\u003e if it\u0027s not, there is, you just discard and build a Vec\u003cu8\u003e out of it by getting the raw ptrs\n\nWe discussed it offline and concluded to put a TODO for now.","commit_id":"88960e5be0d6f3417c74f63694d55b0556ab2962"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"9a196ec9322a0f1c89d4dec08044f8660048080e","unresolved":false,"context_lines":[{"line_number":146,"context_line":"            Ok(stream) \u003d\u003e {"},{"line_number":147,"context_line":"                // map the stream of proto::BlobChunk to bytes."},{"line_number":148,"context_line":"                let data_stream \u003d stream.map(|x| {"},{"line_number":149,"context_line":"                    x.map(|x| VecDeque::from(x.data.to_vec()))"},{"line_number":150,"context_line":"                        .map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidInput, e))"},{"line_number":151,"context_line":"                });"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rustsrc","patch_set":4,"id":"c4e1ec6a_1deb0a92","line":149,"in_reply_to":"ec3f24f7_e7e68cb8","updated":"2023-07-21 19:05:20.000000000","message":"https://b.tvl.fyi/issues/289","commit_id":"88960e5be0d6f3417c74f63694d55b0556ab2962"}]}
