Feature #616

Support backward seeks in serialized view

Added by J. Moringen over 12 years ago. Updated over 11 years ago.

Status:ResolvedStart date:10/07/2011
Priority:LowDue date:
Assignee:J. Moringen% Done:

100%

Category:-
Target version:Robotics Service Bus - rsb-0.7

Description

Currently, the associated iterator of rsbag.view:serialized can only seek forward. Seeking backward is a bit tricky since it requires finding and stepping the correct sub-iterator.


Related issues

Blocks RSBag - Bug #1092: emitandnext via RPC kills bag-play if at end of file Resolved 07/20/2012

Associated revisions

Revision 3e30f1d1
Added by J. Moringen over 11 years ago

Support backward iteration in src/view/*.lisp
fixes #616
  • src/view/protocol.lisp (make-serialized-view): added compare keyword
    parameter; extended documentation accordingly
  • src/view/serialized.lisp (make-serialized-view bag): accept compare
    keyword parameter
    (make-serialized-view sequence): likewise
    (make-simple-sequence-iterator serialized): do not construct
    iterators for empty sequences
    (shared-initialize serialized-iterator t): adapted to renamed
    function %next-iterator -> %iterator-for-forward-step
    (iterator-step serialized serialized-iterator): select appropriate
    iterator for stepping depending on whether a forward or backward
    step is performed
    (iterator-element serialized serialized-iterator): simplified
    (%iterator-step): new function; helper for stepping an iterator
    (%iterator-for-forward-step): renamed %next-iterator ->
    %iterator-for-forward-step
    (%iterator-for-backward-step): new function; helper to determine
    the appropriate iterator for a backward step
  • test/view/serialized.lisp (test serialized-root::iterator): new test
    case; test forward and backward iteration on random sequences
  • test/view/package.lisp (header): updated copyright
    (package rsbag.view.test): added used package let-plus

History

#1 Updated by J. Moringen about 12 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 20

#2 Updated by J. Moringen about 12 years ago

  • Target version set to rsb-0.7

#3 Updated by J. Moringen almost 12 years ago

  • Priority changed from Normal to Low

#4 Updated by J. Moringen over 11 years ago

  • Target version changed from rsb-0.7 to rsb-0.9

#5 Updated by J. Moringen over 11 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 20 to 100

Applied in changeset r489.

#6 Updated by J. Moringen over 11 years ago

  • Target version changed from rsb-0.9 to rsb-0.7

Also available in: Atom PDF