BufferedCommunicator::startCommunication does not respect parameter `excludeReceivingID`
When communicating functions, the boundaryTypeToSkipDuringAdditiveCommunication
is ignored in some cases:
// communicate all boundary types
function.communicateAdditively< Cell, Face >( level, true );
/* …do some other useful work… */
// communicate only inner primitives
function.communicateAdditively< Cell, Face >( level, DoFType::All ^ DoFType::Inner, storage, zeroOutDestination );
The second communication is wrongly performed for all boundary types.
This is caused by the cache for the communication setup introduced in #19 (closed).
While directCommunicationFunctions_
depends on excludeReceivingIDs
, this is not respected by the implementation and the cache from the previous call is reused.