[−][src]Trait interprocess_traits::ProcSend
Types which can be transferred across process boundary.
An example of non-ProcSend
type would be any type that contains pointers to values in a process’ address space. Instead a ProcSend
type would use indices which the processes would know how to convert into their own address space.
In general, for any type to implement ProcSend
, it must be Send
, as threads conceptually are the same as processes which share the same address space.
Unlike Send
, ProcSend
is not an auto-trait by default, because auto-traits are not stable. Unless the auto_traits
feature is enabled, it will be necessary to implement this trait manually.
Finally, currently ProcSend
is only implemented for the built-in types which have specified type layout and are ffi-safe. This is a conservative default as there is no guarantee that the two interacting processes will be compiled with a same version of Rust or are Rust at all.