[SERVER-17629] Implement BoundedDataCursor/DataRange primitive Created: 17/Mar/15  Updated: 19/Sep/15  Resolved: 27/Apr/15

Status: Closed
Project: Core Server
Component/s: Internal Code, Security
Affects Version/s: None
Fix Version/s: 3.1.3

Type: Improvement Priority: Major - P3
Reporter: Adam Midvidy Assignee: Mira Carey
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-17606 Implement OP_COMMAND/OP_COMMANDREPLY ... Closed
Related
related to SERVER-14852 Create endian- and alignment-agnostic... Closed
Backwards Compatibility: Fully Compatible
Sprint: Platform 2 04/24/15, Platform 3 05/15/15
Participants:

 Description   

DataCursor is good for writing, but for reading binary messages, a lot of repetitive bounds checking is needed.

The exact design space is pretty wide, but a primitive that knows a length in addition to an offset would simplify writing parsers.

cc: andreas.nilsson@10gen.com



 Comments   
Comment by Mira Carey [ 15/Apr/15 ]

still needs documentation

Comment by Githook User [ 15/Apr/15 ]

Author:

{u'username': u'hanumantmk', u'name': u'Jason Carey', u'email': u'jcarey@argv.me'}

Message: SERVER-17629 StringData + various DataTypes

Implemented DataType specializations for:
o StringData
o DataRange

Added a new meta type called Terminated<char, T>
Branch: master
https://github.com/mongodb/mongo/commit/a929268ad5dea50223fefd3228a8aa168feda4ac

Comment by Mira Carey [ 15/Apr/15 ]

Extension for StringData and Terminated

code review:
http://codereview.10gen.com/4815791899803648/

compile across all platforms:
https://mci.10gen.com/version/552e81923ff1226f14000898_0

Comment by Mira Carey [ 14/Apr/15 ]

needs documentation

Comment by Githook User [ 14/Apr/15 ]

Author:

{u'username': u'hanumantmk', u'name': u'Jason Carey (hanumantmk)', u'email': u'jcarey@argv.me'}

Message: SERVER-17629 Implemented Bounded Data View/Cursor

Implements DataRange and DataRangeCursor, bounded Status returning
variants of DataView and DataCursor.

Implements DataType::Handler<> to allow for specialization by type.

  • Endian specializations
  • BSONObj specialization

Fix for endian conversions for floats and doubles to avoid some
signaling bit patterns.
Branch: master
https://github.com/mongodb/mongo/commit/67829601c0e4516f70a59140c8971f5111372b8b

Comment by Mira Carey [ 14/Apr/15 ]

http://codereview.10gen.com/5291812923113472/

Generated at Thu Feb 08 03:45:06 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.