public br.ufc.mdcc.hpc.storm.binding.channel.Binding.ReceiveRequest ImmediateReceive <T> (Tuple <int, int> source, int tag, T[] values) { int conversation_tag = takeNextConversationTag(); Console.WriteLine(this.PeerRank + ": 1 - BEGIN RECV FROM <" + source.Item1 + "," + source.Item2 + "> : " + TAG_SEND_OPERATION); this.RootCommunicator.Send <Tuple <int, int> >(new Tuple <int, int>(AliencommunicatorOperation.RECEIVE_ARRAY, conversation_tag), 0, TAG_SEND_OPERATION); Console.WriteLine(this.PeerRank + ": 2 - BEGIN RECV FROM <" + source.Item1 + "," + source.Item2 + "> : " + conversation_tag); this.RootCommunicator.Send <Tuple <int, int, int> > (new Tuple <int, int, int>(source.Item1, source.Item2, tag), 0, conversation_tag); Console.WriteLine(this.PeerRank + ": 3 - BEGIN RECV FROM <" + source.Item1 + "," + source.Item2 + "> : " + tag); MPI.ReceiveRequest root_request = this.RootCommunicator.ImmediateReceive <byte[]>(0, tag); Console.WriteLine(this.PeerRank + ": 4 - END RECV FROM <" + source.Item1 + "," + source.Item2 + ">"); return(br.ufc.mdcc.hpc.storm.binding.channel.Binding.ArrayReceiveRequest <T> .createRequest(root_request, source, values)); }
public static ArrayReceiveRequest <T> createRequest(MPI.ReceiveRequest internal_status, Tuple <int, int> source, T[] values) { return(new ArrayReceiveRequest <T>(internal_status, source, values)); }
internal ArrayReceiveRequest(MPI.ReceiveRequest internal_request, Tuple <int, int> source, T[] values) : base(internal_request, source) { this.internal_request = internal_request; this.values = values; }
public static ValueReceiveRequest <T> createRequest(MPI.ReceiveRequest internal_status, Tuple <int, int> source) { return(new ValueReceiveRequest <T>(internal_status, source)); }
internal ValueReceiveRequest(MPI.ReceiveRequest internal_request, Tuple <int, int> source) : base(internal_request, source) { this.internal_request = internal_request; }
internal ReceiveRequest(MPI.ReceiveRequest internal_request, Tuple <int, int> source) : base(internal_request, source) { }