Difference between revisions of "Standard"
From Mesham
Jump to navigationJump to searchm |
m (5 revisions imported) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
== Example == | == Example == | ||
− | var a:Int::allocated[single[on[1]]] :: nonblocking[] :: standard[]; | + | 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. | 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'' | |
[[Category:Type Library]] | [[Category:Type Library]] | ||
[[Category:Compound Types]] | [[Category:Compound Types]] | ||
[[Category:Communication Mode Types]] | [[Category:Communication Mode Types]] |
Latest revision as of 15:44, 15 April 2019
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