[CXX-1512] Store C driver iterators in an opaque memory region Created: 06/Feb/18 Updated: 01/Aug/18 Resolved: 01/Aug/18 |
|
| Status: | Closed |
| Project: | C++ Driver |
| Component/s: | BSON |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Andrew Morrow (Inactive) | Assignee: | Kevin Albertson |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Epic Link: | libbson iter api |
| Description |
|
We should not fiddle with the internal structure of bson_iter_t. However, we have been assured by the C driver team that it is OK to memcpy them. Since we don't want to expose bson_iter_t in the interface to the driver, store it in an opaque memory buffer of the correct size, and hydrate it as needed when communicating with the C driver. |
| Comments |
| Comment by Kevin Albertson [ 01/Aug/18 ] |
|
With the introduction of bson_iter_key_len, bson_iter_offset and bson_iter_init_from_data_at_offset in |