Пример #1
0
        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)
 {
 }