Category: Rust
-

Milestone: open-dis-rust 10k Downloads!
According to crates.io, my open-dis-rust crate has been downloaded over 10,000 times all-time! That’s pretty awesome, and I thought I would make a brief post to recognize this milestone. There are some packages on crates.io that have been around for months or even a couple years, and they don’t have nearly that level of consumption.…
-

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
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…
-

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++…
-

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
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.
-

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…
-

Constants
The const keyword is similar to the let keyword: it allows the creation of an immutable variable. Constants can never be mutable, and they must always be set to a constant expression, i.e., something that has a definite value and that is not the result of a runtime calculation. Note: the f32 and u32 are type declarations for a 32-bit floating point and 32-bit…
-

Mutable Variables
Making a variable mutable is simple with the mut keyword. Mutability means that the value of a variable can be overwritten. See the example below:
-

Pre-release: open-dis-rust v0.1.0-alpha.4
Since v0.1.0-alpha.1, three versions have been released on crates.io. The Simulation Management Family and Simulation Management with Reliability Family PDUs have been fully implemented, and multiple security and quality tests have been performed and accounted for. This package is still very much a work in progress, but the December timeframe initially discussed is still valid…
