-
Notifications
You must be signed in to change notification settings - Fork 158
/
Copy pathchangedV6.html
28310 lines (28205 loc) · 918 KB
/
changedV6.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Vortex OpenSplice - documentation index</title>
<style type="text/css" media="all">
@import url("../css/maven-base.css");
@import url("../css/maven-theme.css");
@import url("../css/site.css");
</style>
<link rel="stylesheet" href="./docs/css/print.css" type="text/css" media="print" />
<meta name="Date-Revision-yyyymmdd" content="20141002" />
<meta http-equiv="Content-Language" content="en" />
</head>
<body class="composite">
<div id="banner">
<a href="http://ist.adlinktech.com/" id="bannerLeft">
<img src="../images/logo_adlink_transparent.png" alt="ADLINK" />
</a>
<a href="http://vortex.adlinktech.com/" id="bannerRight">
<img src="../images/Wide_OpenSplice.png" alt="Vortex OpenSplice" />
</a>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xright">
<a href="http://ist.adlinktech.com/" class="externalLink" title="ADLINK on the Web: http://ist.adlinktech.com/">ADLINK on the Web: http://ist.adlinktech.com/</a>
| <a href="http://vortex.adlinktech.com/" title="OpenSplice">Vortex OpenSplice</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Vortex OpenSplice</h5>
<ul>
<li class="none">
<a href="../../index.html" title = "Intro">Introduction</a>
</li>
<li class="none">
<a href="guides.html" title="APIs">User Guides</a>
</li>
<li class="none">
<a href="changedV6.html" title="Changes"><strong>Changes</strong></a><br>
</li>
<li class="none">
<a href="platforms.html" title="Supported Platforms">Supported Platforms</a><br>
</li>
<li class="none">
<a href="known_issues.html" title="Changes">Known Issues</a><br>
</li>
<li class="none">
<a href="ddsi2_release_notes.html" title="Changes">DDSI Release Notes</a><br>
</li>
<li class="none">
<a href="rebuilding_APIs.html" title = "User Guide">Rebuilding the APIs</a><br>
</li>
<li class="none">
<a href="upgrading.html" title = "Upgrading">Upgrading OpenSplice</a><br>
</li>
<li class="none">
<a href="../../examples/dcps/README.html" title = "Examples">Examples</a><br>
</li>
<li class="none">
<a href="third_party_licenses.html" title = "Third Party Licenses">Third party licenses</a><br>
</li>
<li class="none">
<a href="./../../LICENSE" title="License">License</a>
</li>
</ul>
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<h2><a name="highlights">Release Highlights</a></h2>
This page contains a list of all bug fixes and changes incorporated in
OpenSplice V6.x series of releases<br>
<li><a href="#issues_not_api">Fixed Bugs and Changes not affecting API</a></li>
<li><a href="#issues_api">Fixed Bugs and Changes affecting API / behaviour</a></li>
<h2>Vortex OpenSplice V6.9.2p2 contains the following new feature:</h2>
<ul>
<li>Beta implementation of the Node.js DCPS API more information can be found in the Node.js DCPS API Guide inside the docs directory</li>
</br>Known issues with the Node.js DCPS API:
<li>Listeners are not supported</li>
<li>The current packaging does not bundle npm package dependencies on installation. The required npm packages are installed using the "npm install" command, which requires internet access.
</li>
<li>
JavaScript classes do not support destructor like functionality. When a qos object is dereferenced, the C99 QoS handle is not automatically cleaned up. In the Beta, users must explicitly call delete on QoS JavaScript class instances.
</li>
</ul>
<h2>Vortex OpenSplice V6.9.2p1 contains the following new features:</h2>
<ul>
<li>
Changed time format to UTC representation in the OpenSplice log and trace files.</br>
The previous format was 'seconds,nanoseconds` since EPOCH (1-1-1970)</br>
</br>
The new format is:</br>
YYYY-MM-DDThh:mm:ssZ S.MS</br>
</br>
YYYY = four-digit year</br>
MM = two-digit month (01=January, etc.)</br>
DD = two-digit day of month (01 through 31)</br>
hh = two digits of hour (00 through 23) (am/pm NOT allowed)</br>
mm = two digits of minute (00 through 59)</br>
ss = two digits of second (00 through 59)</br>
Z = +/- UTC offset (4 digits)</br>
S = number of seconds since EPOCH time base.</br>
SM = number of micro second fraction of a seconds since EPOCH time base</br>
</li>
<li>
Implemented configuration option for logging of discovered entities.</br>
This option allows to specify a logfile which will contain a log line for each builtin topic update of all discovered entities. This option is documented in the configurator.</br>
</br>
Example of the configuration: </br>
<pre>
<OpenSplice>
<Domain>
<Name>LOGROTATE</Name>
<BuiltinTopics enabled="true" logfile="builtin.log"/>
</Domain>
</OpenSplice>
</pre>
</li>
<li>
The OpenSplice log and trace files can now be used together with logrotate to get this working the option <b>copytruncate</b> has be set in the logrotate configuration for OpenSplice log/tracefiles. Usage of logrotate can be found in the logrotate <a href="https://linux.die.net/man/8/logrotate">manual</a>.
</li>
</ul>
<h2>Vortex OpenSplice V6.9.2 contains the following new feature:</h2>
<ul>
<li>
The Java 5 examples and the Java(5) API are now build with Apache Maven 3.x. Apache Maven 3.x can be obtained <a href="https://maven.apache.org/">here</a>.
</li>
<li>
Support for the '/' character in topic names
</li>
<li>
[Launcher] Configurations tab - UI improvement to indicate invalid OpenSplice config files
</li>
</ul>
<h2>Vortex OpenSplice V6.9.1 contains the following new feature:</h2>
<ul>
<li>
Node Isolation -
Vortex OpenSplice 6.9.1 includes support for isolating a node from the network by using the set_property extension on the API. When the newly introduced property (named isolateNode) is enabled, network services will stop sending to the network and will drop all incoming traffic.
</li>
</ul>
<h2>Vortex OpenSplice V6.9.0 contains the following new features:</h2>
<ul>
<li>
LabVIEW DDS Binding -
Vortex OpenSplice 6.9.0 includes a DSS binding for National Instruments LabVIEW, allowing LabView 2017 applications to connect to a DDS domain and exchange data with other DDS applications. The binding includes a LabVIEW VI Package (located in the tools/labview subdirectory of a Vortex OpenSplice installation). Once installed, the VI Package enables the creation of DDS applications, including the compilation of IDL into LabVIEW virtual instruments and controls. See the Vortex OpenSplice LabVIEW Guide for more information. The LabVIEW binding is available on Vortex OpenSplice Windows and Linux builds compatible with LabVIEW 2017.
</li>
<li>
Python DCPS API -
The Python DCPS API is now taken out of beta and considered GA.
</li>
</ul>
<h2>Vortex OpenSplice V6.8.3 contains the following new features:</h2>
<ul>
<li>
This release includes beta support for Mac OS X using Clang V7
</li>
<li>
In order to support certain simple uses cases without the need for IDL, code generation or type registration,
our product is extended with 4 new builtin types: Bytes, _String, KeyedBytes and KeyedString these are the
built-in types that exist in the X-Type spec.
</li>
<li>
For MQTT-like API and general-purpose topics for IoT usecases a beta release of pre-defined generic IoT type
called IoTData is introduced, which can carry data in the form of name value pairs. The IoTData type can
be used in the C#, C99, IsoCpp2 and Java5 API. This IoTData type is subject to change for the 6.9 release.
</li>
<li>
This release includes a beta of the Python binding for DDS. The binding is a Python package that enables Python 3.4
or later to connect natively to a Vortex OpenSplice domain to register topics, and then read and write topic data.
In the beta, topic types are described by IDL. However, you do not need to run IDLPP; instead, a python function
(ddsutil.get_dds_classes_from_idl) returns Python classes and topic descriptors directly. More information on the
binding may be found in the tools/python directory under your Vortex OpenSplice installation.
</li>
<li>
Added examples for the C99 API
</li>
</ul>
<h2>Vortex OpenSplice V6.8.2 contains the following new features:</h2>
<ul>
<li>
C# Language binding now supports the use of unions in your IDL data model.
</li>
<li>
The license for Vortex OpenSplice has been changed from LGPLv3 to Apache 2.0.
</li>
</ul>
<h2>Vortex OpenSplice V6.8.1 contains the following improvements related to
the MATLAB/Simulink integration:</h2>
<ul>
<li>Simulink Coder is now supported for the Vortex DDS block set.
Users with a Simulink Coder license (available from MathWorks) can now
generate C code from their Simulink models. Note that such C programs
will require an OpenSplice installation in order to compile and execute
on the desired target platform.</li>
<li>Vortex DDS Block Set for Simulink has been enhanced to support
various wait conditions on read (wait for historical data, wait for data
available) and write (wait for matching subscribers). In addition, IDL
sequences are now supported.</li>
<li>The MATLAB API for Vortex DDS has exited beta. Improvements include
generation of MATLAB classes from IDL files via IDLPP. In addition, IDL
sequences and bounded strings are now supported. Finally, more robust
error checking has been implemented.</li>
</ul>
<h2>Vortex OpenSplice V6.8.0 contains the following new features:</h2>
<p>
<ul>
<li>MATLAB/Simulink integration - Via its standardized Data
Distribution Service (DDS) interface, Vortex OpenSplice now provides
integration with MATHWORKS MATLAB and Simulink products. MATLAB
classes as well as Simulink BUS definitions are automatically mapped
to their corresponding Topic definitions in DDS. To ensure type
agreement between DDS and MATLAB/Simulink applications,MATLAB
classes and Simulink blocks can be exported to the IDL format that
is well-known for DDS applications. The integration allows users to
create DDS entities in their MATLAB/Simulink model and associate
them with desired Quality-of-Services in separate XML files to
provide maximum flexibility and control how and when data is
exchanged. These capabilities allow users to transparently share any
data between different MATLAB/Simulink applications and/or pure DDS
applications no matter where they have been deployed in the network.</li>
<li>Durability master priority configuration -
Up till now it was almost impossible to control which durability
service becomes master. This leads to situations that durability
instances that should not become master can become master.
Furthermore, it is currently not possible to indicate that a
durability instance can act as aligner, but should not take up the
responsibility to act as master for other instances.
To provide more control which node becomes master for a namespace,
the //OpenSplice/DurabilityService/NameSpaces/Policy[@masterPriority]
attribute can be specified. This is an optional attribute that
specifies a value between 0 and 255. Value 0 means that a node will
never become master, and value 255 indicates that the legacy master
selection will be used. The default is 255. When the masterPriority
is specified between 1 and 254, nodes with a higher masterPriority
should become master. See the deployment manual for more
information.Note that there are currently a few limitations:
<ul>
<li>Mastership handover in case a better but late joining master
arrives is currently unsupported.</li>
<li>In case of mixed deployments with legacy nodes, the nodes that
support masterPriority must use masterPriority=255.</li>
</ul></li>
</ul>
</p>
<h2>Vortex OpenSplice V6.7.2 contains the following new features:</h2>
<p>
<ul>
<li>The OpenSplice configuration allows for the specification of a report plugin which is a dynamically loaded library
to which all the report messages are forwarded. A report plugin is associate with a particular domain.
To enable the plugin to associate a report message to a particular domain the message that is reported is extended
with the domain_id of the domain from which the message originates. Further report messages are only forwarded to
the plugin associated with the domain the report message originates. In a multi-domain configuration this enables
the report plugin to determine the corresponding domain. Note that not all report message can be associated with a
particular domain. In that case these message will be forwarded to all plugins with a domain_id of -1.</li>
<li>The validation of the OpenSplice XML configuration file has been made more stricter. On startup of OpenSplice the
provided configuration file is validated and OpenSplice is not started when the configuration file contains errors.
For example the validation of the configuration file checks for missing mandatory elements and attributes,
unknown element or arttributes, or the specification of incorrect.
When the validation finds errors then these errors are reported in the error log.</li>
</ul>
</p>
<h2>Vortex OpenSplice V6.7.1p3 newly introduces support for the following new platforms:</h2>
<p>
<ul>
<li>Raspberry Pi 3 Raspbian Jessie (32 bit) Host and Target, gcc 4.9.2, ARMv7 (Debian 8)</li>
<li>RHEL7.1 host, ElinOS 6.1 hypervised by Pike OS 4.1 Core i7 x86_64 target</li>
<li>Ubuntu 16.04 64 bit host and target</li>
</ul>
</p>
<h2>Vortex OpenSplice V6.7.1 contains the following new features:</h2>
<p>
<ul>
<li>The C99 DDS API (beta) - Instead of the legacy C API which is
based on the OMG IDL to C mapping, the C99 API offers a more natural
and modern DDS API for the C programming language. This allows users
to be more productive. Besides thatm the API allows users to switch
their existing applications between Lite and OpenSplice products
without changing their code (a recompile suffices).</li>
</ul>
</p>
<h2>Vortex OpenSplice V6.7.0 contains the following new features:</h2>
<p>
<ul>
<li>Group coherency support for Tuner and Tester - Both of these tools now has the ability to publish and
subscribe with custom Presentation policies. New UI workflows have been established for working with coherent
and ordered sets of data for group and topic level access scope. See the new sections in the
<a href="../pdf/OpenSplice_TunerGuide.pdf">Tuner user guide</a> and the
<a href="../pdf/OpenSplice_TesterUserGuide.pdf">Tester user guide</a> for more details.</li>
<li>Vortex OpenSplice previously used internally time stamps that would wrap around somewhere in the year 2038.
To allow time stamps that exceed 2038 OpenSplice now uses a new internal time representation. This time
representation will wrap around somewhere in the year 2262, which is believed to be sufficient for all
applications that are being written today. The internal time representation will by default not be exposed to
applications to avoid backward compatibility issues, so existing applications should not notice this change.
However, users can enable these extended time stamps to be exposed, so that applications can use these
extended time stamps. This is explained in more detail in the <a href="../pdf/OpenSplice_DeploymentGuide.pdf">DeploymentGuide</a>
section 'Time stamps and year 2038 limit'.
<li>New TimeBasedFilterQosPolicy behaviour (See
<a href="#issues_api">Fixed Bugs and Changes affecting API / behaviour</a>).</li>
</ul>
</p>
<h2>Vortex OpenSplice V6.6.4p3f17 contains the following new features:</h2>
<p>
<ul>
<li>Coherency outside name-space, error reporting -
When creating group coherent writers a check is done to determine if the writer is in a
single name-space and if all other writers part of the group coherent publisher are in the same name-space,
if not an error is reported. This helps ensure that all group coherent writers for a single publisher are
all in the same name-space so that durability is able to correctly align group coherent transactions.</li>
</ul>
</p>
<h2>Vortex OpenSplice V6.6.4p3f16 contains the following new features:</h2>
<p>
<ul>
<li>Notification of sample lost on writer side - A new feature has
been implemented that allows notifying publishers when a reader
becomes unresponsive (reliable communication is lost and the reader
may miss samples). The mechanism is implemented using the already
existing publication-matched status, i.e. the count will be lowered
when reliable communication with a reader is lost. This feature is
only supported when using the DDSI networking service. Note that the
default configuration of //DDSI2Service/Internal/ResponsivenessTimeout
is infinite, which means readers will never be considered unresponsive
and the sending will simply wait for the reader to become responsive
again. Only when a valid non-infinite responsiveness timeout is set,
the newly implemented mechanism is enabled.</li>
<li>Scalability improvements for historical data alignment - It is now
possible to configure content filters in the configuration
file using the //OpenSplice/Domain/Filters element. These
content-filters are applied within the complete local federation
meaning that all data that does not match a filter is not
maintained within the federation. As a result of this, none of the
local data-readers, including services, will not receive non-matching
data, i.e. filtered out data will not exist.
Different filters can be specified for different partition-topic
combinations using //OpenSplice/Domain/Filters/Filter elements.
By using filters, the data-set that is maintained and aligned can be
reduced and therefore less memory, bandwidth and CPU resources are
required. This is useful for use cases where it is known up-front what
part of the data for a given partition-topic is required for a given
federation. Please note that when a filter is set for a given
partition-topic combination, the Durability Service can no longer act
as a master for the name-space that contains the given partition-topic
combination as it is incomplete by definition.</li>
<li>Ability to include wall-clock timestamps in reports in case
a Userclock hase been configured - A new configuration attribute
//OpenSplice/Domain/UserClock[@reporting] has been introduced. This
attribute identifies if messages reported in the ospl-info/ospl-error
logs will include timestamps obtained from the UserClock library or
use the standard system clock for time reporting. When set to true,
which is default the userclock will be used. When set to false the
system clock will be used for time reporting in the log files.
</ul>
</p>
<h2>Vortex OpenSplice V6.6.4 contains the following new features:</h2>
<p>
<ul>
<li>Future Airborne Capability Environment
(FACE) Transport Services Segment (TSS) V1.2 API for Java and C++ (BETA) -
The FACE Standard defines the software computing environment and
interfaces designed to support the development of portable components
across the general-purpose, safety, and security profiles. FACE uses
industry standards for distributed communications, programming
languages, graphics, operating systems, and other areas as
appropriate. The goal of FACE is to reduce software development and
integration costs and reduce time to field new avionics capabilities.
FACE establishes a common computing software infrastructure supporting
portable, capability-specific software components across Department of
Defense (DoD) avionics systems.<br/><br/>
The FACE C++ and Java API's supplied
with OpenSplice are targeting developers and integrators who want to
take advantage of the Data Distribution Service (DDS) standard. For
more information on usage, please check the examples/face directory
within your OpenSplice installation.<br/><br/>
Please note that more documentation will be added in a future release.</li>
</ul>
</p>
<h2>Vortex OpenSplice V6.6.3p3 contains the following new features:</h2>
<p>
<ul>
<li>Added Yocto 3.0.6.32 Freescale P4080ds (e500mc) target platform for RHEL 6.4 64 bit host</li>
<li>Added RedHat Enterprise Linux 7.2 for Intel 64 bit host and target</li>
</ul>
</p>
<h2>Vortex OpenSplice V6.6.3 contains the following new features:</h2>
<p>
<ul>
<li>Client-side durability - In OpenSplice, the realization of the
non-volatile properties is the responsibility of the durability service.
This service is on one hand responsible for maintaining the set of
historical data and on the other hand responsible for providing
historical data to late-joining subscribers. The configurations of the
different services drive the behavior on where and when specific data
will be maintained and how it will be provided to late-joiners. To
prevent the need of equipping each application with a full durability
service in single process mode, it is now possible to equip applications
only with a client-side durability part and run the server part on a
different location in the system (or on multiple locations driven by
fault-tolerance requirements). This reduces resource usage in
single process applications drastically. See section 12.2.27
"DurablePolicies" in the
<a href="../pdf/OpenSplice_DeploymentGuide.pdf">deployment guide</a> for more
details about the configuring client part and section 12.3.2
"ClientDurability" about enabling the server part.
</li>
<li>Launcher updates:
<ul>
<li>Product release information is now accessible in
Launcher through the "Documentation" section under the new
"Product Information" tab. The tab contains references to the
Vortex OpenSplice Intro, the release notes and the known issues.
</li>
<li>All guides and manuals are now available in Launcher.</li>
<li>The "Memory Statistics" tool is now available in Launcher under
the "Tools" section alongside Tester, Tuner, Configurator and the
Console. Clicking on the mmstat button opens up a command prompt and
run the "mmstat" command. Upon termination of the command, the
command prompt holds to allow the user to further interact with it.</li>
<li>Add ability to open the Visual Studio example solution files to
Launcher - On Microsoft Windows platforms, users now have the
ability to open the example solution files for the Vortex OpenSplice
examples in order to inspect and build them. The new section is only
displayed on Windows platforms in the Examples pane. Clicking on the
Open Visual Studio solution file icon will open the selected example
solution file in the Microsoft Visual Studio editor. The version of
Microsoft Visual Studio that is used to open the example solution
files is used by either inferring from the VCINSTALLDIR environment
variable or by looking in the PATH to see if devenv.exe is found. If
the executable cannot be found in either locations, a notification
will pop up instructing the user to set the appropriate environment
variables. Note: The example solution files will no longer be
available to users from the Start Menu in Windows.</li>
</ul>
</li>
<li>Improved reference docs for DDS API's - the reference documentation
for ISOC++v2, Java5 and C# DDS API's have been significantly improved.</li>
<li>Added Windows 7 - Visual Studio 2015 support (64-bit)</li>
<li>Added Windows 10 - Visual Studio 2015 support (64-bit)</li>
<li>Google Protocol Buffers support for Tuner - The Tuner tool has been
extended with functionality to be able to write/read Topics that have
been modeled using Google Protocol Buffers (instead of OMG IDL) similar
to the support already available in the Tester tool. Refer to the new
section in the <a href="../pdf/OpenSplice_TunerGuide.pdf">Tuner user
guide</a> for more details.</li>
<li>C++ RMI service threading and scheduling policies and service
priority - Different threading and scheduling policies have been added
to the C++ RMI library. The threading policies control the way a RMI
server allocates threads to handle the incoming requests, whereas the
scheduling policies control how these threads are scheduled within the
operating system. Three threading policies have been defined:
'Single Thread', 'Multi-thread' and 'Thread Per Service'. In addition,
the notion of service priority has been introduced to express the
business importance of each service w.r.t. the others. Requests coming
to a service with high priority should be handled before the ones coming
to services having less priority value. These new features have
introduced some additions to the RMI C++ API. Please, refer to the
<a href="../pdf/OpenSplice_RMIUserGuide.pdf">RMI documentation</a>
for more details.
</ul>
<h2>Vortex OpenSplice V6.6.2 contains the following new features:</h2>
<p>
<ul>
<li>
Detach from all domains - A new operation has been added to the
DomainParticipantFactory in the DDS API. The operation allows you to
detach your application safely from all Domains it is participating in
with one single call.
</li>
<li>
Improved entity naming - The naming of DomainParticipant, Publisher,
Subscriber, DataWriter and DataReader entities has been improved. Tooling
visualizes these names and the improved naming makes it easier for users
to relate entities to their applications.
</li>
<li>
Launcher - In Vortex OpenSplice Launcher, a new section called "Controls"
has been introduced. This section contains buttons to easily start and
stop an OpenSplice domain based on the active ospl config file in
Launcher. The start and stop buttons are disabled if the active ospl
config file describes a single process deployment. When the user clicks
on the start/stop button, a progress bar is displayed in the bottom
tool bar to indicate that Launcher is processing the request. When
Launcher has completed the operation, notification pop-up messages are
displayed indicating the result of the requested operation.
<b>Note</b>: in general all items that are now available in the
Launcher no longer appear in the start menu on Windows platforms.
</li>
</ul>
<h2>Vortex OpenSplice V6.6.1p1 contains the following new features:</h2>
<p>
<ul>
<li>Added debian6 ARMv6 target platform for debian6 ia32 (x86) host</li>
<li>Added debian7 ARMv7 hardfloat target platform for debian7 ia32 (x86) host</li>
</ul>
<h2>Vortex OpenSplice V6.6.1 contains the following new features:</h2>
<p>
<ul>
<li>Improved out-of-memory handling for shared memory - operations that
require memory now reserve memory prior starting the operation to be
able to ensure beforehand whether or not the operation will succeed.
This removes the need for configuring large memory thresholds in
dynamic systems with large shared memory segments.</li>
<li>Improved mutex and condition variable implementation for Windows
platforms. This improves overall performance of the product on those
platforms.</li>
</ul>
<h2>Vortex OpenSplice V6.6.0 contains the following new features:</h2>
<p>
<ul>
<li>ISOC++ DCPS API version 2 - A brand new version of
the ISOC++ specification (dcpsisocpp2) has been implemented.
This implementation replaces the initial ISOC++ DCPS API (dcpsisocpp),
which is deprecated now and will be removed in a future release. The new
version addresses various issues in the initial version of the specification.
Check out what you need to do to migrate in the
<a href="../html/isocpp_migration.html">ISOC++V2 migration guide</a>
</li>
<li>Full PresentationQosPolicy support
<ul><li>GROUP-level coherence support - The GROUP level access_scope of the
PresentationQosPolicy is now supported. This allows representing changes
to data instances of different DataWriters underneath a single Publisher
to be presented to the subscribing application as a single (coherent) set.
Please check out the API reference manual for your favorite programming
language for more details on the PresentationQosPolicy.
</li>
<li>Ordered access for group and topic level access scope -
The ordered_access property of the PresentationQosPolicy has now
been implemented for topic and group level access scope (instance scope
already existed). As a consequence applications now have the ability to
see the relative order of (coherent) changes. The reference manuals contain
further details about the behavior related to the ordered_access property.</li>
</ul></li>
<li>Google Protocol Buffers integration
<ul><li>Google Protocol Buffers integration for Java5 and ISOC++V2 PSM's -
OpenSplice is capable of using the Google Protocol Buffer (GPB)
mechanism for modelling types in a DDS system. This makes it possible to
use GPB as an alternative to OMG-IDL for those who prefer to use GPB
rather than IDL. With the seamless integration of GPB and DDS technologies
there is no need for OMG-IDL knowledge or visibility when working with
GPB data models, and no OMG-DDS data-types are needed in the application
(no explicit type-mapping between GPB and DDS types is required).
Additionally, the GPB data structure can be evolved without breaking
deployed programs that are compiled against an ‘old’ format. Check out the
<a href="../pdf/OpenSplice_GPBTutorial.pdf">OpenSplice Google Protocol Buffers Tutorial</a>
for more details.</li>
<li>Google Protocol Buffers integration for the Tester tool - It is able
to display its samples as regular field name and value pairs, just as if it
were from a regular IDL defined topic. This feature is enabled for
versions of OpenSplice
that support Google Protocol Buffers. For more information, please see the new
chapter on Google Protocol Buffers in the
<a href="../pdf/OpenSplice_Tester_usermanual.pdf">OpenSplice Tester Guide</a>.
</li></ul></li>
<li>Durability historical data alignment efficiency improvements
<ul>
<li>Until recently, a
late joining durability service would always request the data set from
its master. This would even happens in case the exact same
set is already available on disk in its local persistent store. Rather than
aligning the data set, the late joining durability service could better inject
the data from its own persistent store in this case. This optimization reduces
network bandwidth and increases startup time. This feature relies on the
ability to compare data sets using the
//OpenSplice/DurabilityService/NameSpaces/Policy[ @equalityCheck]
attribute in the
<a href="../pdf/OpenSplice_DeploymentGuide.pdf">deployment guide</a>.</li>
<li>The durability service now supports so-called 'align on change'
functionality. temporary disconnections can cause durability services to
get out-of-sync, meaning that their data sets may diverge. To recover
from such situations merge policies exist that allow users to specify
how to combine diverged data sets when they become reconnect again. Many
of these situations involve the transfer of data sets from one
durability service to the other. This may generate a considerable amount
of traffic for large data sets. In case the data sets did not get
out-of-sync during disconnection (because no data was written during
the period of disconnection), it is not necessary to transfer data sets
from one durability service to the other. A new configuration option
has been implemented to force the durability service to compare data
sets before alignment. When enabling this check a hashes are calculated
of the data sets and compared for equality. When equal, no data will be
aligned. This may save valuable bandwidth during alignment. If the
hashes are different then the complete data sets will aligned.For
further explanation and details on configuration, please check section
about 'prevent aligning equal data sets' and the
//OpenSplice/DurabilityService/NameSpaces/Policy[ @equalityCheck]
attribute in the
<a href="../pdf/OpenSplice_DeploymentGuide.pdf">deployment guide</a></li>
<li>Durability service static content filtering -
The durability service has been extended with support for static filtering of
historical data. This allows for a reduction of the amount of aligned historical
data if only a subset is required. Only data matching the statically configured
filters will be aligned.</li>
</ul></li>
<li>Durability service CATCHUP merge-policy -
The durability service now supports a new merge policy flavor called
CATCHUP, which is similar to the existing REPLACE, but any instances that
already exist in your local data-set and still exist in the 'remote'
data-set, will not be marked with a NEW instance state as a result of
the merge. This is useful in scenario's where one knows that an
instance, once in use, is not re-used to describe a different object
during the life-time of the data-set. For further explanation and
details on configuration, please check section about merge-policies in
the <a href="../pdf/OpenSplice_DeploymentGuide.pdf">deployment guide</a> </li>
<li>The new Python Scripting Engine is now available. Python Scripting is a
scripting environment for running unit tests and adhoc scripts against a Vortex
OpenSplice environment and is meant as an alternative to the product specific
Scenario language found in Vortex OpenSplice Tester. Python Scripting connects to the
Vortex OpenSplice environment through the Configuration and Management API. It is based
on the Python scripting language, and requires Jython 2.7.0 or later, the
Java-based implementation of Python. For more information, please see the new
chapter on the Python Scripting Engine in the
<a href="../pdf/OpenSplice_Tester_usermanual.pdf">OpenSplice Tester Guide</a>.
</li>
</ul>
<h2>Vortex OpenSplice V6.5.2p1 contains the following new features:</h2>
<p>
<ul>
<li>Support for Ubuntu 14.04 64 bit host to Ubuntu 14.04 for custom ARM V7 Marvell</li>
</ul>
</p>
<h2>Vortex OpenSplice V6.5.2 contains the following new features:</h2>
<p>
<ul>
<li>Source-specific multicast support for DDSI2E (Prototype) -
DDSI2E now supports SSM on platforms that support it (all tier-1 platforms,
i.e., Linux, Windows). It is enabled by specifying an SSM address in a
network partition instead of a regular multicast, and only used when both
reader and writer have it enabled. Interoperability with other vendors is
limited to those also supporting the proposal informally known as "D84".
Please note that although we'll do our best to solve any issues, <b>this
feature is not officially supported as it has only been marginally
tested and is supplied without official documentation.</b>. For more
details on how to use this functionality, please check
<a href="./ddsi2_release_notes.html#SSM">SSM notes</a>
</li>
<li>RnR service support for QoS transformations - This feature allows
replaying data that was recorded earlier with different QoS settings
compared to the QoS settings of the recorded data. For more details
check the <a href="../pdf/OpenSplice_RnRService.pdf">RnR API guide</a></li>
<li>RnR service support to split recordings over multiple files - This
feature allows limiting file sizes (particularly useful when recording
large volumes of data). For more details check the
//OpenSplice/RnRService/Storage/rr_storageAttrXML/MaxFileSize or
//OpenSplice/RnRService/Storage/rr_storageAttrCDR/MaxFileSize settings
in the <a href="../pdf/OpenSplice_DeploymentGuide.pdf">Deployment guide</a></li>
</ul>
</p>
<h2>Vortex OpenSplice V6.5.1p1 contains the following new features:</h2>
<p>
<ul>
<li>The generation of the OpenSplice system id can now be influenced through settings in the Domain/SystemId section of the OpenSplice XML domain configuration file. The Range element allows limiting the range, the UserEntropy element allows adding an arbitrary string to the initial entropy pool. This can be useful on platforms where all of the default inputs can be the same on two machines or across runs.</li>
</ul>
</p>
<h2>Vortex OpenSplice V6.5.1 contains the following new features:</h2>
<p>
<ul>
<li>Support for dynamic network partitions for RTNetworking - This
feature allows users to amend the configuration of the RTNetworking
service at runtime by means of a Topic-API. For more details, check
the <a href="./rtn_dynamic_partitions.html">RTNetworking dynamic partitions guide</a></li>
<li>Compression support for durability KV-persistence - The
durability service currently has a KV-persistency implementation that
allows persisting data to disk in either SQLite or LevelDB. Testing
performance indicates that the disk is the bottleneck when trying to
achieve a high throughput in some use cases. To improve throughput,
samples can now be compressed by durability before persisting them (and
obviously uncompressed before re-publishing them in DDS). Durability
supports compression as a configurable option for KV persistence. For
more details on how to configure it, please check section 4.3.3.9.3 of
the Deployment Guide</li>
<li>Support for Ubuntu 14.04 Linux For Tegra Nvidia Tegra K1 CPU ARM Cortex-A15 R3 host and target</li>
</ul>
</p>
<h2>Vortex OpenSplice V6.5.0p10 contains the following new features:</h2>
<p>
<ul>
<li>Support for Ubuntu 14.04 64 bit host to Ubuntu 14.04 for custom ARM V7</li>
</ul>
</p>
<h2>Vortex OpenSplice V6.5.0 contains the following new features:</h2>
<p>
<ul>
<li>A major refactoring of the API implementations (Java, C++, C#) to support
future maintenance and feature extensions. This does not affect the API
signature. A small performance benefit is also introduced.</li>
<li>Following the introduction of C++ Streams at V6.2, this feature has now
been added to the ISO C++ API. The ISO C++ Streams API provides a mechanism
for batching samples together into a stream. This has the effect of
increasing data throughput due to a reduced overhead which occurs when
transmitting samples individually. The samples are appended to a stream
and then later flushed which causes the samples to be written together as
one batch. It is performant when a large number of samples need to be sent
continuously. Full documentation is included in the ISO C++ documentation.</li>
<li><b>Due to a bug fix in OpenSplice, Vortex Gateway 2.1.1 (and above)is
required to route with OpenSplice V6.5 and above.</b></li>
</ul>
</p>
<h2>OpenSplice DDS V6.4.3 contains the following new features:</h2>
<p>
<ul>
<li>Java 5 language PSM for DDS - Next to the already existing OMG Java
IDL language PSM for DDS API, OpenSplice now also supports the
new OMG Java 5 language PSM for DDS (see
<a href="http://www.omg.org/spec/DDS-Java/1.0/">http://www.omg.org/spec/DDS-Java/1.0/</a>).
The API is shipped as dcpssaj5.jar (stand-alone) / dcpscj5.jar (CORBA-cohabitated).</li>
<li>Google Protocol Buffers integration for Java 5 PSM (BETA) - OpenSplice
now also supports transparent publishing/subscribing of data types modeled in
Google Protocol Buffers IDL (Java5 PSM API only for now). For more
information about Google Protocol Buffers, click
<a href="https://developers.google.com/protocol-buffers/">here</a>. An
example on how to use protocol buffers with OpenSplice can be found in
the examples/protobuf directory within your OpenSplice installation.
More elaborate documentation as well as support for other DDS
language bindings will be introduced in future versions of the product.</li>
<li>Networking bridge service - The new OpenSplice NetworkingBridge is a
pluggable service that allows bridging of data between OpenSplice
networking services. When a networking service is selected that best
suits a specific deployment, sometimes a part of the data needs to be
obtained from or disclosed to a system that is using a different kind of
networking service. The NetworkingBridge allows DCPSPublications and
DCPSSubscriptions to be matched and the related data forwarded between
a (secure) RTNetworking system and a DDSI2(E) system and vice versa.
More background information about the service as well as details on
configuration can be found in the
<a href="../pdf/OpenSplice_DeploymentGuide.pdf">OpenSplice Deployment Guide</a>.</li>
</ul>
</p>
<h2>OpenSplice DDS V6.4.2 contains the following new features:</h2>
<p>
<ul>
<li>OpenSplice is now robust against time discontinuities caused by adjusting
the clock forward/backward or resuming after being hibernated/suspended. Read
Section "Time Jumps" of the Deployment guide for more detailed information.</li>
<li>Support for QNX 6.5</li>
</ul>
</p>
<h2>OpenSplice DDS V6.4.1 contains the following new features:</h2>
<p>
<ul>
<li>The new Launcher tool (accessible from bin/ospllauncher or the
Windows Start Menu is available to make the evaluation process of
OSPL easier). Only available on Windows and Linux.</li>
<li>A new Node Monitor application is available that publishes the
following system-monitoring data into the OpenSplice backbone:
<ul>
<li>CPU information and statistics</li>
<li>Memory statistics</li>
<li>Network interface information and statistics</li>
<li>Operating System information</li>
<li>Process information and statistics</li>
</ul> </br>
For more information, please see the
<a href="../pdf/OpenSplice_NodeMonitorGuide.pdf"> Node Monitor Guide</a>
</li>
<li>DDSI2 secure communication via SSL/TLS is now supported. This uses the
OpenSSL library which can be enabled in conjunction with TCP support.
The certificates and keys required for communication should be placed
in a PEM format file, which is then referenced from the SSL component
for the DDS configuration file. The pass phrase for this file should also
be configured. By default clients verify servers by checking their X509
security certificates, however server verification of clients can also
be configured. It is also possible via configuration to disable the
validation of certificates, or enable self signed certificates, which by
default are rejected. The set of Ciphers that can be used for encryption
can also be configured if required, as can a file used to contain entropy
(randomness) for the encryption ciphers. It is recommended that the
O'Reilly book "Network Security with OpenSSL" is used as a reference to
understand how SSL is best configured and deployed. See the Deployment
Guide for further information.</li>
<li>DDSI can discover entities and can generate builtin topic
information. This enables non-OSPL Enterprise nodes in the DDSI network
to become visible. Also, in cases where DDSI generates builtin
topic information there is no need for durability to align builtin
topic information, which saves bandwidth.</li>
<li>RTnetworking now supports Differentiated Services Code Point (DSCP)
field in IP packets on windows.</li>
<li>Exception handling
<p>Up to this release, in a shared memory deployment mode, each process
that used OpenSplice would attempt to clean up its shared resources in
case it crashed. If for some reason the clean up failed, some of the shared
resources could leak or in some edge cases the process could end up in
a deadlock situation while cleaning up. In the V6.4.1 release, a new
mechanism has been introduced that allows asynchronous clean-up of
shared resources by the splice-daemon. The splice-daemon now detects when
crashed processes leave shared resources behind and will try to cleans up
if it is certain these resources have been left in a consistent state.
In case (part of) the resources have not been left in a consistent state
(this happens when a process crashes while modifying shared resources),
it will terminate the entire middleware and return an error code.</p>
<p>Together with the introduction of this garbage collection mechanism a
new configuration element //OpenSplice/Domain/InProcessExceptionHandling
is introduced. This element controls whether processes will try to release
its shared resources upon a crash or not. By default processes will try
to release resources, this is useful in case of application crashes which
are unrelated to DDS operations, it will give any ongoing DDS operations
time to become consistent before leaving the system and avoid any
unnecessary system shutdown. In case an accurate core file is required
this configuration element can be set to TRUE, meaning that processes
will terminate immediately and leave all shared resources to be released
by the service.</p>
<p>For now, this feature only works on POSIX-compliant operating systems,
but in the future this mechanism will be implemented for other operating
systems as well.</p></li>
</ul>
<p>Please note: Due to a Java IDL bug fix (OSPL-4333) introduced at 6.4.0p5,
any customer using the Java API and upgrading to 6.4.1 from version 6.4.0 to
6.4.0p4 inclusive will need to recompile their IDL using idlpp.
Application code does not need to be recompiled.</p>
</p>
<h2>OpenSplice DDS V6.4.0p4 contains the following new features:</h2>
<p>
<ul>
<li>The ISO C++ PSM API's has been extended with
a QoS provider API that allows users to define QoS settings for DCPS
entities in an XML file as standardized in the DDS For Lightweight CCM
OMG (DDS4CCM) standard.</li>
</ul>
</p>
<h2>OpenSplice DDS V6.4.0 contains the following new features:</h2>
<p>
<ul>
<li>The ISO C++ API has been taken out of beta status and is now the
primary C++ API for OpenSplice DDS. Additionally, the new DDS-PSM-CXX
specification IDL type mapping is now implemented.
This allows simplified usage of IDL generated types through full compatibility with the STL.
The older CORBA compatible types are also supported.
Please see the
<a href="../isocpp/html/index.html">ISO C++ Release Notes</a> for further details</li>
</li>
<li>A performance boost has been made to OpenSplice. The libraries are now
consolidated to a single dcps library ddskernel, but the other libraries are still
available as stubs to avoid user build system changes. Additionally, other
optimisations have been introduced to increase performance and reduce CPU.
<br><i>Note: If you are using a static library OpenSplice build and 'ddskernel'
is before any of the other dds libraries e.g. -lddskernel -lddsrrstorage -lddsos then
you may get unresolved symbols that were previously satisfied by the 'ddsos'
at the end of the link line. To resolve this move 'ddskernel' to the end of the link line.
</i>
</li>
<li>TCP support for DDSI has been implemented. Configuration options are available
to run DDSI over a single connection.
</li>
<li>The CORBA cohabitation libraries have been upgraded to use TAO 2.1.
Where customer demand exists for TAO 1.6 support, these have been left at TAO 1.6.
</li>
<li>The DCPS API's for Java, C, C++ and C# have been extended with a
A QoS provider API that allows users to define QoS settings for DCPS
entities in an XML file as standardized in the DDS For Lightweight CCM
OMG (DDS4CCM) standard. Please see the Reference manuals for more information.</li>
<li>Support for Visual Studio 2012 and 2013 on both 32-bit and 64-bit Windows
platforms.</li>
<li>Support for Raspberry Pi.</li>
<li><a href="../pdf/OpenSplice_EvaluationGuide.pdf"> New evaluation and
benchmarking guide</a> and examples. Please see the RoundTrip
and Throughput examples.</li>
</ul>
<h2>OpenSplice DDS V6.3.3p2 contains the following new features:</h2>
<p>
<ul>
<li>The DCPS API's for Java, C, C++ and C# have been extended with a
QoS provider API that allows users to define QoS settings for DCPS
entities in an XML file as standardized in the DDS For Lightweight CCM
OMG (DDS4CCM) standard.</li>
<li>Support for Visual Studio 2013 on both 32-bit and 64-bit Windows
platforms.</li>
</ul>
</p>
<h2>OpenSplice DDS V6.3.2 contains the following new features:</h2>
<p>
<ul>
<li>The Durability Service now supports the REPLACE and DELETE merge policies.
<ul>
<li>With the REPLACE merge policy it is possible to dispose
and delete historical data on a node, and replace it with the
transient and persistent data from another node. Immediately after
successful completion of the REPLACE merge action the replacement
data will be available to late joining readers, the data in the
reader queue of existing readers will be disposed and replaced with
the replacement data, and the generation count of the replacement
data is increased.</li>
<li>With the DELETE merge policy it is possible to dispose and delete
historical data on a node. Immediately after successful completion
of the DELETE merge action the historical data in the reader queue
of existing readers will be disposed and is not available any more
to late joining readers.</li>
</ul>
Please see the deployment guide for more details.
</li>
</ul>
</p>
<h2>OpenSplice DDS V6.3.1 contains the following new features:</h2>
<p>
<ul>
<li>The Durability Service has new pluggable persistent stores. In previous
versions, XML was allowed on all platforms and Memory Mapped File was also
available on Linux only. From V6.3.1, Memory Mapped File is now deprecated.
The new persistence stores are:</li>
<ul>
<li><a href="http://www.sqlite.org/">SQLLite</a></li>
<li><a href="https://code.google.com/p/leveldb/">LevelDB</a></li>
</ul>
<li>The ISO C++ API (beta) has had a new set of features added. See the
<a href="../isocpp/html/index.html">ISO C++ Release Notes</a> for further details</li>
</li>
<li>Support for Yocto Linux on Freescale P4080ds.</li>
</ul>
</p>
<h2>OpenSplice DDS V6.3.0 contains the following new features:</h2>
<p>
<ul>
<li>Record and Replay is taken out of beta and now considered a GA service. It
includes the following new features:</li>
<ul>
<li>Compitability with the DDSI2/DDSI2E Services.</li>
<li>The ability to remove record and/or replay interest without stopping a scenario.</li>
<li>The ability to clear the contents of a storage during a scenario.</li>
</ul>
<li>DDSI2 and DDSI2E are now taken out of beta and considered as GA services.
In completing the work on
DDSI2 and DDSI2E, which includes adding support for IPV6, there has been a change
to the configuration options. In all previous versions DDSI2 and DDSI2E
used "Unsupported". This has now been changed to "Internal". Old configuration
files will still be supported on V6 series, but a WARNING message
will be raised to highlight the deprecated "Unsupported". The Internal
configuration parameters are marked as such as they are subject to change
in the future. </li>
<li>A beta version of the ISO C++ PSM for DDS is now available. Documentation on
what is supported in this beta version is available <a href="../../docs/isocpp/html/index.html">here.</a>
<li>Performance optimisation for Java and C++ DataReaders to allow them to
specify the number of threads to use when demarshalling data. Demarshalling
data to a language-binding specific format can take considerable processing
depending on the type of the data. Before this change this process was single-threaded
and would therefore limit throughput, especially on multi-core platforms.
See OSPL-1078 in the API changes section.</li>
<li>The ospl tool is enhanced (see ospl -help for detailed info). It no
longer returns negative error numbers. Its default is no longer stop, but -help.</li>
<li>Support for kernel mode is added to the RTP support for VxWorks V6 series.</li>
<li>Support for SMP (Symmetric MultiProcessing) on VxWorks V6 series.</li>
<li>DLRL is deprecated. It will be removed from the product at V6.4.</li>
</ul>
</p>
<h2>OpenSplice DDS V6.2.3 contains the following new features:</h2>
<p>
<ul>
<li>Support for PikeOS 3.1.7 on PowerPC for Windows hosts.</a>.
<li>Support for VxWorks 6.9 on Pentium for Windows hosts.</li>
<li>Support for VxWorks 6.9 on Pentium3 for Windows hosts.</li>
<li>Support for VxWorks 6.9 on PowerPC P1010/P1013 for Windows hosts.</li>
</ul>
</p>
<h2>OpenSplice DDS V6.2.2 contains the following new features:</h2>
<p>
<ul>
<li>Support for PikeOS 3.3. As part of this, the PikeOS port builds against
the BSD Posix library rather than the NewLib implementation which is removed
in 3.3.</li>
</ul>
</p>
<p>
<ul>
<li>Changes to the way read- and take-operations access data. The read- and
take-operations now provide data circularly, meaning that these operations
will 'resume' a previous read just as if read_next_instance was
successively called. This way all instances can be read even when for
example lower key-values get updated between two read-operations with a
max_samples limit.</li>
<li>Support has been added for kernel mode for VxWorks 6.8 PENTIUM4 target.</li>
<li>Support has been added for SMP kernels for the VxWorks 6.8 PENTIUM4 kernel
mode build.</li>
</ul>
<p>
<ul>
<li>Adds configurability for data compression in the networking service.
This allows tuning of the existing (zlib) method, adds two alternative
fast compressors (lzf and snappy) and provides a plugin api for using
other mechanisms.</li>
</ul>
</p>
<p>
<ul>