Difference between revisions of "Standard"

From Mesham
Jump to navigationJump to search
m
Line 9: Line 9:
 
== Example ==
 
== Example ==
  
  var a:Int::allocated[single[on[1]]] :: nonblocking[] :: standard[];
+
  function void main() {
var b:Int::allocated[single[on[2]]] :: standard[];
+
    var a:Int::allocated[single[on[1]]] :: nonblocking[] :: standard[];
a:=b;
+
    var b:Int::allocated[single[on[2]]] :: standard[];
 +
    a:=b;
 +
};
  
 
In the P2P communication resulting from assignment ''a:=b'', process 1 will issue a non-blocking standard receive whilst process 2 will issue a blocking standard send.
 
In the P2P communication resulting from assignment ''a:=b'', process 1 will issue a non-blocking standard receive whilst process 2 will issue a blocking standard send.

Revision as of 14:28, 15 April 2013

Syntax

standard[ ]

Semantics

This type will force P2P sends to follow the standard form of reaching the finish state either when the message has been delivered or it has been copied into a buffer on the sender. This is the default applied if further type information is not present.

Example

function void main() {
   var a:Int::allocated[single[on[1]]] :: nonblocking[] :: standard[];
   var b:Int::allocated[single[on[2]]] :: standard[];
   a:=b;
};

In the P2P communication resulting from assignment a:=b, process 1 will issue a non-blocking standard receive whilst process 2 will issue a blocking standard send.

Since: Version 0.5