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<'a, Sc, Buf: ?Sized>(
        &self,
        scope: Sc,
        buf: &'a Buf,
        tag: Tag
    ) -> Request<'a, Sc>
    where
        Buf: 'a + Buffer,
        Sc: Scope<'a>
, { ... }
fn immediate_send<'a, Sc, Buf: ?Sized>(
        &self,
        scope: Sc,
        buf: &'a Buf
    ) -> Request<'a, Sc>
    where
        Buf: 'a + Buffer,
        Sc: Scope<'a>
, { ... }
fn immediate_buffered_send_with_tag<'a, Sc, Buf: ?Sized>(
        &self,
        scope: Sc,
        buf: &'a Buf,
        tag: Tag
    ) -> Request<'a, Sc>
    where
        Buf: 'a + Buffer,
        Sc: Scope<'a>
, { ... }
fn immediate_buffered_send<'a, Sc, Buf: ?Sized>(
        &self,
        scope: Sc,
        buf: &'a Buf
    ) -> Request<'a, Sc>
    where
        Buf: 'a + Buffer,
        Sc: Scope<'a>
, { ... }
fn immediate_synchronous_send_with_tag<'a, Sc, Buf: ?Sized>(
        &self,
        scope: Sc,
        buf: &'a Buf,
        tag: Tag
    ) -> Request<'a, Sc>
    where
        Buf: 'a + Buffer,
        Sc: Scope<'a>
, { ... }
fn immediate_synchronous_send<'a, Sc, Buf: ?Sized>(
        &self,
        scope: Sc,
        buf: &'a Buf
    ) -> Request<'a, Sc>
    where
        Buf: 'a + Buffer,
        Sc: Scope<'a>
, { ... }
fn immediate_ready_send_with_tag<'a, Sc, Buf: ?Sized>(
        &self,
        scope: Sc,
        buf: &'a Buf,
        tag: Tag
    ) -> Request<'a, Sc>
    where
        Buf: 'a + Buffer,
        Sc: Scope<'a>
, { ... }
fn immediate_ready_send<'a, Sc, Buf: ?Sized>(
        &self,
        scope: Sc,
        buf: &'a Buf
    ) -> Request<'a, Sc>
    where
        Buf: 'a + Buffer,
        Sc: Scope<'a>
, { ... } }

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