Expand description
This crate supplies a client and server IPC implementation for communicating between a process that may crash (client) and a monitor (server) process.
The client can communicate application-specific state via Client::send_message
, and, if a crash occurs, can use Client::request_dump
to request a minidump be created. The Server
uses a user implemented ServerHandler
to handle the messages sent by the client, and provides a way to create the minidump file where a requested crash can be written to, as well as a callback when a minidump is finished writing (both on failure and success) to perform whatever additional steps make sense for the application, such as transmission of the minidump to an external HTTP service for processing or the like.
§Contribution
We welcome community contributions to this project.
Please read our Contributor Guide for more information on how to get started. Please also read our Contributor Terms before you make any contributions.
Any contribution intentionally submitted for inclusion in an Embark Studios project, shall comply with the Rust standard licensing model (MIT OR Apache 2.0) and therefore be dual licensed as described below, without any additional terms or conditions:
§License
This contribution is dual licensed under EITHER OF
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
For clarity, “your” refers to Embark or any other licensee/user of the contribution.
Structs§
- Client
- Client side of the connection, which runs in the process that may (or has) crashed to communicate with an external monitor process.
- Minidump
Binary - The result of a successful minidump generation.
- Server
- Server side of the connection, which runs in the monitor process that is
meant to monitor the process where the
super::Client
resides
Enums§
- Error
- Error that can occur when creating a
crate::Client
orcrate::Server
, or generating minidumps - Loop
Action - Actions for the
Server
message loop to take after aServerHandler
method is invoked
Traits§
- Server
Handler - Allows user code to hook into the server to avoid hardcoding too many details