Trait mpi::point_to_point::Source [] [src]

pub unsafe trait Source: AsCommunicator {
    fn source_rank(&self) -> Rank;

    fn probe_with_tag(&self, tag: Tag) -> Status { ... }
    fn probe(&self) -> Status { ... }
    fn matched_probe_with_tag(&self, tag: Tag) -> (Message, Status) { ... }
    fn matched_probe(&self) -> (Message, Status) { ... }
    fn receive_with_tag<Msg>(&self, tag: Tag) -> (Msg, Status) where Msg: Equivalence { ... }
    fn receive<Msg>(&self) -> (Msg, Status) where Msg: Equivalence { ... }
    fn receive_into_with_tag<Buf: ?Sized>(&self,
                                          buf: &mut Buf,
                                          tag: Tag)
                                          -> Status where Buf: BufferMut { ... } fn receive_into<Buf: ?Sized>(&self, buf: &mut Buf) -> Status where Buf: BufferMut { ... } fn receive_vec_with_tag<Msg>(&self, tag: Tag) -> (Vec<Msg>, Status) where Msg: Equivalence { ... } fn receive_vec<Msg>(&self) -> (Vec<Msg>, Status) where Msg: Equivalence { ... } fn immediate_receive_into_with_tag<'b, Buf: ?Sized>(&self,
                                                        buf: &'b mut Buf,
                                                        tag: Tag)
                                                        -> WriteRequest<'b, Buf> where Buf: 'b + BufferMut { ... } fn immediate_receive_into<'b, Buf: ?Sized>(&self,
                                               buf: &'b mut Buf)
                                               -> WriteRequest<'b, Buf> where Buf: 'b + BufferMut { ... } fn immediate_receive_with_tag<Msg>(&self, tag: Tag) -> ReceiveFuture<Msg> where Msg: Equivalence { ... } fn immediate_receive<Msg>(&self) -> ReceiveFuture<Msg> where Msg: Equivalence { ... } fn immediate_probe_with_tag(&self, tag: Tag) -> Option<Status> { ... } fn immediate_probe(&self) -> Option<Status> { ... } fn immediate_matched_probe_with_tag(&self,
                                        tag: Tag)
                                        -> Option<(Message, Status)> { ... } fn immediate_matched_probe(&self) -> Option<(Message, Status)> { ... } }

Something that can be used as the source in a point to point receive operation

Examples

Standard section(s)

3.2.3

Required Methods

Rank that identifies the source

Provided Methods

Probe a source for incoming messages.

Probe Source &self for incoming messages with a certain tag.

An ordinary probe() returns a Status which allows inspection of the properties of the incoming message, but does not guarantee reception by a subsequent receive() (especially in a multi-threaded set-up). For a probe operation with stronger guarantees, see matched_probe().

Standard section(s)

3.8.1

Probe a source for incoming messages.

Probe Source &self for incoming messages with any tag.

An ordinary probe() returns a Status which allows inspection of the properties of the incoming message, but does not guarantee reception by a subsequent receive() (especially in a multi-threaded set-up). For a probe operation with stronger guarantees, see matched_probe().

Standard section(s)

3.8.1

Probe a source for incoming messages with guaranteed reception.

Probe Source &self for incoming messages with a certain tag.

A matched_probe() returns both a Status that describes the properties of a pending incoming message and a Message which can and must subsequently be used in a matched_receive() to receive the probed message.

Standard section(s)

3.8.2

Probe a source for incoming messages with guaranteed reception.

Probe Source &self for incoming messages with any tag.

A matched_probe() returns both a Status that describes the properties of a pending incoming message and a Message which can and must subsequently be used in a matched_receive() to receive the probed message.

Standard section(s)

3.8.2

Receive a message containing a single instance of type Msg.

Receive a message from Source &self tagged tag containing a single instance of type Msg.

Standard section(s)

3.2.4

Receive a message containing a single instance of type Msg.

Receive a message from Source &self containing a single instance of type Msg.

Examples

use mpi::traits::*;

let universe = mpi::initialize().unwrap();
let world = universe.world();

let x = world.any_process().receive::<f64>();

Standard section(s)

3.2.4

Receive a message into a Buffer.

Receive a message from Source &self tagged tag into Buffer buf.

Standard section(s)

3.2.4

Receive a message into a Buffer.

Receive a message from Source &self into Buffer buf.

Standard section(s)

3.2.4

Receive a message containing multiple instances of type Msg into a Vec.

Receive a message from Source &self tagged tag containing multiple instances of type Msg into a Vec.

Standard section(s)

3.2.4

Receive a message containing multiple instances of type Msg into a Vec.

Receive a message from Source &self containing multiple instances of type Msg into a Vec.

Examples

See examples/send_receive.rs

Standard section(s)

3.2.4

Initiate an immediate (non-blocking) receive operation.

Initiate receiving a message matching tag into buf.

Standard section(s)

3.7.2

Initiate an immediate (non-blocking) receive operation.

Initiate receiving a message into buf.

Examples

See examples/immediate.rs

Standard section(s)

3.7.2

Initiate a non-blocking receive operation for messages matching tag tag.

Standard section(s)

3.7.2

Initiate a non-blocking receive operation.

Examples

See examples/immediate.rs

Standard section(s)

3.7.2

Asynchronously probe a source for incoming messages.

Asynchronously probe Source &self for incoming messages with a certain tag.

Like Probe but returns a None immediately if there is no incoming message to be probed.

Standard section(s)

3.8.1

Asynchronously probe a source for incoming messages.

Asynchronously probe Source &self for incoming messages with any tag.

Like Probe but returns a None immediately if there is no incoming message to be probed.

Standard section(s)

3.8.1

Asynchronously probe a source for incoming messages with guaranteed reception.

Asynchronously probe Source &self for incoming messages with a certain tag.

Like MatchedProbe but returns a None immediately if there is no incoming message to be probed.

Standard section(s)

3.8.2

Asynchronously probe a source for incoming messages with guaranteed reception.

Asynchronously probe Source &self for incoming messages with any tag.

Like MatchedProbe but returns a None immediately if there is no incoming message to be probed.

Standard section(s)

3.8.2

Implementors