DDS 1.0 NO IDEA Avatar
  1. OMG Issue

DDS — DDS ISSUE# 54] Refactor or extend API used to access samples

  • Key: DDS-148
  • Legacy Issue Number: 6858
  • Status: closed  
  • Source: Real-Time Innovations ( Dr. Gerardo Pardo-Castellote, Ph.D.)
  • Summary:

    Ref-74 Refactor_the_api_used_to_access_samples

    The read() and take() operations return a "one-dimensional" array of
    samples.

    For the case where the PRESENTATION.access_scope==BY_INSTANCE and
    either HISTORY.kind == KEEP_ALL or HISTORY.depth > 1 it is desirable
    that the application can easily access all the samples that correspond
    to one instance versus the samples that correspond to other
    instances. For this purpose a 2-dimensional array (or sequence) where
    a is preferable. That would allow for example to determine easily how
    many samples are for each instance (before examining all) and also
    easily examine the "first" or "last" sample of each instance without
    navigating though all the other instances

    What we would like is something like:

    struct FooSample

    { struct SampleInfo *info; struct Foo *data; }

    ;

    typedef sequence<FooSample> FooSampleSeq;

    read(out FooSampleSeq sample_seq);

    typedef sequence<FooSampleSeq>; FooSampleCollatedSeq;

    read_collated(out FooSampleCollatedSeq collated_seq);

    Data would be then accessed as

    sample_seq[i]->data;

    Or else as

    collated_seq[k][I]->data

    However t is not clear how to map this to the IDL PSM.

    **PROPOSAL**

    No concrete proposal as it would be hard to represent in IDL but it
    would be nice if such API was offered.

  • Reported: DDS 1.0b1 — Tue, 23 Dec 2003 05:00 GMT
  • Disposition: Resolved — DDS 1.0
  • Disposition Summary:

    see below

  • Updated: Fri, 6 Mar 2015 20:58 GMT