Trait mpi::point_to_point::Destination [] [src]

pub trait Destination: AsCommunicator {
    fn destination_rank(&self) -> Rank;

    fn send_with_tag<Buf: ?Sized>(&self, buf: &Buf, tag: Tag) where Buf: Buffer { ... }
    fn send<Buf: ?Sized>(&self, buf: &Buf) where Buf: Buffer { ... }
    fn buffered_send_with_tag<Buf: ?Sized>(&self, buf: &Buf, tag: Tag) where Buf: Buffer { ... }
    fn buffered_send<Buf: ?Sized>(&self, buf: &Buf) where Buf: Buffer { ... }
    fn synchronous_send_with_tag<Buf: ?Sized>(&self, buf: &Buf, tag: Tag) where Buf: Buffer { ... }
    fn synchronous_send<Buf: ?Sized>(&self, buf: &Buf) where Buf: Buffer { ... }
    fn ready_send_with_tag<Buf: ?Sized>(&self, buf: &Buf, tag: Tag) where Buf: Buffer { ... }
    fn ready_send<Buf: ?Sized>(&self, buf: &Buf) where Buf: Buffer { ... }
    fn immediate_send_with_tag<'b, Buf: ?Sized>(&self,
                                                buf: &'b Buf,
                                                tag: Tag)
                                                -> ReadRequest<'b, Buf> where Buf: 'b + Buffer { ... } fn immediate_send<'b, Buf: ?Sized>(&self,
                                       buf: &'b Buf)
                                       -> ReadRequest<'b, Buf> where Buf: 'b + Buffer { ... } fn immediate_buffered_send_with_tag<'b, Buf: ?Sized>(&self,
                                                         buf: &'b Buf,
                                                         tag: Tag)
                                                         -> ReadRequest<'b, Buf> where Buf: 'b + Buffer { ... } fn immediate_buffered_send<'b, Buf: ?Sized>(&self,
                                                buf: &'b Buf)
                                                -> ReadRequest<'b, Buf> where Buf: 'b + Buffer { ... } fn immediate_synchronous_send_with_tag<'b, Buf: ?Sized>(&self,
                                                            buf: &'b Buf,
                                                            tag: Tag)
                                                            -> ReadRequest<'b, Buf> where Buf: 'b + Buffer { ... } fn immediate_synchronous_send<'b, Buf: ?Sized>(&self,
                                                   buf: &'b Buf)
                                                   -> ReadRequest<'b, Buf> where Buf: 'b + Buffer { ... } fn immediate_ready_send_with_tag<'b, Buf: ?Sized>(&self,
                                                      buf: &'b Buf,
                                                      tag: Tag)
                                                      -> ReadRequest<'b, Buf> where Buf: 'b + Buffer { ... } fn immediate_ready_send<'b, Buf: ?Sized>(&self,
                                             buf: &'b Buf)
                                             -> ReadRequest<'b, Buf> where Buf: 'b + Buffer { ... } }

Something that can be used as the destination in a point to point send operation

Examples

Standard section(s)

3.2.3

Required Methods

Rank that identifies the destination

Provided Methods

Blocking standard mode send operation

Send the contents of a Buffer to the Destination &self and tag it.

Standard section(s)

3.2.1

Blocking standard mode send operation

Send the contents of a Buffer to the Destination &self.

Examples

use mpi::traits::*;

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

let v = vec![ 1.0f64, 2.0, 3.0 ];
world.process_at_rank(1).send(&v[..]);

See also examples/send_receive.rs

Standard section(s)

3.2.1

Blocking buffered mode send operation

Send the contents of a Buffer to the Destination &self and tag it.

Standard section(s)

3.4

Blocking buffered mode send operation

Send the contents of a Buffer to the Destination &self.

Standard section(s)

3.4

Blocking synchronous mode send operation

Send the contents of a Buffer to the Destination &self and tag it.

Completes only once the matching receive operation has started.

Standard section(s)

3.4

Blocking synchronous mode send operation

Send the contents of a Buffer to the Destination &self.

Completes only once the matching receive operation has started.

Standard section(s)

3.4

Blocking ready mode send operation

Send the contents of a Buffer to the Destination &self and tag it.

Fails if the matching receive operation has not been posted.

Standard section(s)

3.4

Blocking ready mode send operation

Send the contents of a Buffer to the Destination &self.

Fails if the matching receive operation has not been posted.

Standard section(s)

3.4

Initiate an immediate (non-blocking) standard mode send operation.

Initiate sending the data in buf in standard mode and tag it.

Standard section(s)

3.7.2

Initiate an immediate (non-blocking) standard mode send operation.

Initiate sending the data in buf in standard mode.

Examples

See examples/immediate.rs

Standard section(s)

3.7.2

Initiate an immediate (non-blocking) buffered mode send operation.

Initiate sending the data in buf in buffered mode and tag it.

Standard section(s)

3.7.2

Initiate an immediate (non-blocking) buffered mode send operation.

Initiate sending the data in buf in buffered mode.

Standard section(s)

3.7.2

Initiate an immediate (non-blocking) synchronous mode send operation.

Initiate sending the data in buf in synchronous mode and tag it.

Standard section(s)

3.7.2

Initiate an immediate (non-blocking) synchronous mode send operation.

Initiate sending the data in buf in synchronous mode.

Standard section(s)

3.7.2

Initiate an immediate (non-blocking) ready mode send operation.

Initiate sending the data in buf in ready mode and tag it.

Standard section(s)

3.7.2

Initiate an immediate (non-blocking) ready mode send operation.

Initiate sending the data in buf in ready mode.

Examples

See examples/immediate.rs

Standard section(s)

3.7.2

Implementors