Skip to content
  • Mark OLESEN's avatar
    ENH: bundle broadcasts (#2371) · 18e0d7e4
    Mark OLESEN authored
    - additional Pstream::broadcasts() method to serialize/deserialize
      multiple items.
    
    - revoke the broadcast specialisations for std::string and List(s) and
      use a generic broadcasting template. In most cases, the previous
      specialisations would have required two broadcasts:
        (1) for the size
        (2) for the contiguous content.
    
      Now favour reduced communication over potential local (intermediate)
      storage that would have only benefited a few select cases.
    
    ENH: refine PstreamBuffers access methods
    
    - replace 'bool hasRecvData(label)' with 'label recvDataCount(label)'
      to recover the number of unconsumed receive bytes from specified
      processor.  Can use 'labelList recvDataCounts()' to recover the
      number of unconsumed receive bytes from all processor.
    
    - additional peekRecvData() method (for transcribing contiguous data)
    
    ENH: globalIndex whichProcID - check for isLocal first
    
    - reasonable to assume that local items are searched for more
      frequently, so do preliminary check for isLocal before performing
      a more costly binary search of globalIndex offsets
    
    ENH: masterUncollatedFileOperation - bundled scatter of status
    18e0d7e4