(repo) add changelog document
(repo) bump versions of lacca/resin
Merge branch 'dev/update-deps'
(lacca) enum variant w/ no fields is no longer a Map
This fixes an issue where the stream type-descriptor is now simply a
string and not packed into an unnecessary dictionary. A test is
also added to cover the stderr variant as well as stdout.
(deps) update rmp-serde to 1.1
(repo) ignore /wip/ directory
(docs) clean up doc comments
(resin) clean up warnings re: channel sends
This patch cleans up a number of compile-time warnings, which makes the
overall build process cleaner when this is integrated into a mix
project.
* discard error in the case where we cannot send to the client's inbox
after killing the inferior process. most likely the client was issuing
a "less than graceful" shutdown and immediately hung-up afterwards.
* discard error in the case main loop exits because stdin was closed.
(where would the error go? until some out-of-band logging is added
it makes no sense to handle this error.)
* report an error in the case that we are unable to send the exit
command to the associated server thread. the most likely way this
could happen is in a case where somehow the client sends two exit
messages before we have a chance to actually close the stdio handles.
the exit thread would die after handling the first such message, if
the client is still around we should probably report the error so
the client can stop sending an unnecessary second exit message.
(resin) cleanup deprecated `thread::sleep_ms` calls
(resin) (deps) do not use winapi crate
The winapi crate was included erroneously. The Rust stdlib includes the
ability to get the raw handle for the stdio without using the windows
API directly.
(bump version) v0.2.1
This release includes the following changes:
(style) fix whitespace errors in resin
(docs) update readme to reflect v0.2
(docs) update LICENSE copyright year
(resin) do not use buffered I/O
This release includes one fairly major change to `resin`, which is that for
communication between the `lacca` and `resin` we now use the actual file
descriptor instead of going through the stdlibs stdin/stdout primitives.
The Erlang/OTP manual instructs that port authors do not use buffered
I/O when communicating w/ an external program. This is our attempt to
comply with that requirement. Coincidentally backporting this to v0.1 fixes
the issue in which CBOR messages were getting clobbered on the wire.
(resin) do not use buffered I/O
Use the raw FDs, as described by the [Erlang ports][1] manual sec 4.2.
Using stdin/stdout is buffered and ultimately lead to problems decoding CBOR
as multiple messages were being sent together & `lacca` was not
properly equipped to handle this.
[1]: https://erlang.org/doc/tutorial/c_port.html
(docs) update LICENSE copyright year
(docs) update readme to reflect v0.2
(style) fix whitespace errors in resin
(bump version) v0.2
* switch away from CBOR to MsgPack
(resin) switch to MsgPack encoding
(lacca): switch to Msgpack encoding
(bump version) v0.1.6, bump resin v0.1.6
* updates serde_cbor to 0.11