Feature #1013

Allow async flushing of chunk and index buffer

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

Status:ResolvedStart date:06/21/2012
Priority:NormalDue date:
Assignee:J. Moringen% Done:

100%

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

Related issues

Related to RSBag - Enhancement #1038: Allow composite flush strategies Resolved 06/26/2012

Associated revisions

Revision 2d974c91
Added by J. Moringen over 11 years ago

Use rsbag:enable-restart-threadpool in main/dump.lisp

refs #1170, refs #1013

  • main/dump.lisp: when saving and resuming an image, the rsbag
    threadpool has to be stopped and restarted; call
    `rsbag:enable-restart-threadpool' to achieve this

Revision 316282c6
Added by J. Moringen over 11 years ago

Added async buffer write-backs in src/backend/backend-mixins.lisp

refs #1170, fixes #1013

  • src/threadpool.lisp: new file; contains functions for managing a
    dedicated threadpool for rsbag
  • src/reloading.lisp: new file; contains functions for stopping and
    restarting the rsbag threadpool when saving and loading an image
  • src/package.lisp (header): updated copyright
    (package rsbag): added exported symbols
    start-threadpool, stop-threadpool, enable-restart-threadpool and
    with-threadpool
  • src/backend/backend-mixins.lisp (header): updated copyright
    (async?): new variable; allows or disallows async write-back
    (async-double-buffered-writer-mixin): new class; adds async
    write-back behavior to buffered backend classes
    (shared-initialize :after async-double-buffered-writer-mixin): new
    method; allocate back-buffer
    (close :around async-double-buffered-writer-mixin): new method;
    force async operations to finish
    (write-buffer :around async-double-buffered-writer-mixin t): new
    method; initiate async write-back
    (make-buffer :around async-double-buffered-writer-mixin t): new
    method; create additional buffer
  • src/backend/package (header): updated copyright
    (package rsbag.backend): added exported symbol
    async-double-buffered-writer-mixin
  • src/backend/tidelog/file.lisp (file): added superclass
    `async-double-buffered-writer-mixin'
  • test/backend/mixins.lisp: new file; contains unit tests for backend
    mixin classes
  • test/backend/package.lisp (header): updated copyright
    (package rsbag.backed.test): added used package let-plus
  • cl-rsbag.asd (header): updated copyright
    (system cl-rsbag): added system dependency on system lparallel;
    added files src/threadpool.lisp and src/reloading.lisp
    (system cl-rsbag-test): added file test/backend/mixins.lisp

History

#1 Updated by J. Moringen almost 12 years ago

  • % Done changed from 60 to 80

#2 Updated by J. Moringen over 11 years ago

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

Applied in changeset rsbag-cl|commit:316282c6aac00a396a61ccebe26e5782ded60547.

Also available in: Atom PDF