Blog

  • Releases: open-dis-rust v0.1.0 & v0.1.1

    Releases: open-dis-rust v0.1.0 & v0.1.1

    I’m a little late on posting this since I did release v0.1.0 on October 26th, but I am posting nonetheless. The first official release version(s) of open-dis-rust are now available on GitHub and crates.io! There are a number of changes that have been made, and all of those can be found on the changelogs posted…

  • Pre-release: open-dis-rust v0.1.0-beta.0

    Pre-release: open-dis-rust v0.1.0-beta.0

    The first beta release of the open-dis-rust crate has been published to crates.io. The changes in this release include reorganization of all of the non-PDU data types into data_types modules within their respective PDU family module directories as well as fixes that address security reports by clippy. The changes can be viewed in their entirety…

  • Pre-release: open-dis-rust v0.1.0-alpha.10

    Pre-release: open-dis-rust v0.1.0-alpha.10

    The 11th and final alpha version for release target v0.1.0 has been pushed up to crates.io. This release introduces a couple of major changes, including the `serialize()` method now intrinsically updating the length field in the PDU header; the Gridded Data PDU now being fully implemented; and all SISO enumerations now being defined in a…

  • Package Name Change

    Package Name Change

    The opendis6 package has undergone a name change during the process of getting it vetted and published to the vcpkg registry. The opendis6 package is a facelift of the original open-dis-cpp package created by the Open DIS organization on GitHub. The maintainers of the vcpkg registry felt that opendis6 was too similar of a name,…

  • terebinth update

    terebinth update

    A little while back, I was working on writing an interpreted programming language using C++ as the medium for the interpreter implementation. The repository for that project can be found here, and it has since been converted to a public archive. I was in the middle of investigating the feasibility of modernizing the underlying C++…

  • Release: opendis6 v0.1.0

    Release: opendis6 v0.1.0

    In tandem with creating an Open DIS package for Rust, I have also been working on modernizing an existing C++ library implementation of the standard. The original library can be found here. The original was autogenerated using an XML parser library that read in the IEEE’s documentation and output C++ code that implemented classes for…

  • Pre-release: open-dis-rust v0.1.0-alpha.8

    Pre-release: open-dis-rust v0.1.0-alpha.8

    This is the second pre-release of the day! With this publication, the Logistics family of PDUs has been completed. Now, only 17 PDUs remain. In reviewing the README within the source tree, I realized that I had two PDU types listed that actually do not exist within the standard. I was using the Open DIS…

  • Pre-release: open-dis-rust v0.1.0-alpha.7

    Pre-release: open-dis-rust v0.1.0-alpha.7

    With this pre-release version, the Minefield protocol family has been implemented. There are now 24 outstanding PDUs that need to be implemented according to the 2012 version of the IEEE 1278.1 standard. All the latest documentation regarding this pre-release is available on the crates.io page for the package.

  • Pre-release: open-dis-rust v0.1.0-alpha.5

    Pre-release: open-dis-rust v0.1.0-alpha.5

    The Radio Communications protocol family has been implemented in this latest pre-release version. Only 28 PDUs are unimplemented at this point, with a majority of those being within the Minefield protocol family. The next pre-release will address the Minefield PDUs and some other minor cleanup issues. As it stands now, I anticipate there being two…

  • Basic Enumerations

    Basic Enumerations

    An enumeration, or enum in Rust, is a way to declare a custom data type that describes, or enumerates, possible variations of a certain category. In the example below, the data type is named Language, and it serves as the category for which all the named items within are a part. English, Spanish, etc. are all a member of the Language enumeration. Enumerations…