% Interface for RemoteCompositeAssistant used by remote spmd execution

% Copyright 2020 The MathWorks, Inc.

classdef (Abstract) AbstractRemoteCompositeAssistant < handle
    
    methods (Abstract)        
        % Retrieve a single value from a given process, and flush keys for that
        % process while we're about it.
        future = retrieveCompositeValue(obj, processIndex, key);
        
        % Send a single value to a remote process, and flush keys for that
        % process while we're about it.
        future = sendCompositeValue(obj, processIndex, value);
        
        % Clear remote values on the given process
        future = clearCompositeValues(obj, processIndex);
        
        % Indicate if clearCompositeValues has anything to clear. This is
        % just a shortcut to avoid mcos object creation where possible. The
        % check then act is ok as it's from the MATLAB thread.
        tf = hasKeysToClear(obj, processIndex);
    end
end

