docstr: Receives a tensor from an (optional) source src.
docstr_tok: ["Receives","a","tensor","from","an","(","optional",")","source","src","."]
code: def irecv(self, tensor, src=None):
      """Receives a tensor from an (optional) source src."""
  
      class Result:
          def __init__(self, mailbox, rank):
              self.completed = False
              self.mailbox = mailbox
              self.rank = rank
  
          def is_completed(self):
              return self.completed
  
          def wait(self):
              rank, result = self.mailbox[self.rank].get()
              if src is not None and rank != src:
                  raise NotImplementedError(
                      "Can't receive messages out of order yet"
                  )
              tensor.copy_(result)
  
      return Result(self.mailbox, self.rank)
  
imports: import logging
  import threading
  from operator import itemgetter
  from queue import Queue
  import torch
  from torch.distributed import ReduceOp
  from .communicator import Communicator
label_desc: Use image node_id 8 for calling the InProcessCommunicator obj's underlying member method code with example usage: obj.irecv(tensor, src) and returns: Result, self