Interface MasterInterface

All Superinterfaces:
ProviderInterface, Remote
All Known Implementing Classes:
MasterServer

public interface MasterInterface extends ProviderInterface
The Interface MasterInterface.
  • Method Details

    • updateIncomingConnectionIds

      void updateIncomingConnectionIds(String serverName, List<IncomingConnection> incomingConnections) throws RemoteException
      Update incoming connection ids.
      Parameters:
      serverName - the server name
      incomingConnections - the incoming connections
      Throws:
      RemoteException - the remote exception
    • proxyHostIsAlive

      long proxyHostIsAlive(String name) throws RemoteException
      Proxy host is alive.
      Parameters:
      name - the name
      Returns:
      the long
      Throws:
      RemoteException - the remote exception
    • updateDataTransfers

      void updateDataTransfers(DataTransfer[] transfers) throws RemoteException
      Update data transfers.
      Parameters:
      transfers - the transfers
      Throws:
      RemoteException - the remote exception
    • updateDownloadProgress

      DownloadProgress[] updateDownloadProgress(DownloadProgress[] progress) throws RemoteException
      Update download progress.
      Parameters:
      progress - the progress
      Returns:
      the list of DownloadProgress to interrupt (not found on the MasterServer)
      Throws:
      RemoteException - the remote exception
    • updateData

      void updateData(Host host) throws RemoteException
      Update data.
      Parameters:
      host - the host
      Throws:
      RemoteException - the remote exception
    • updateData

      void updateData(String hostId, String data) throws RemoteException
      Update data.
      Parameters:
      hostId - the host id
      data - the host data
      Throws:
      RemoteException - the remote exception
    • updateLocation

      void updateLocation(Host host) throws RemoteException
      Update location.
      Parameters:
      host - the host
      Throws:
      RemoteException - the remote exception
    • getDataFileAccessInterface

      DataAccessInterface getDataFileAccessInterface() throws RemoteException
      Gets the data file access interface.
      Returns:
      the data file access interface
      Throws:
      RemoteException - the remote exception
    • getDestination

      Destination getDestination(String name) throws RemoteException
      Gets the destination.
      Parameters:
      name - the name
      Returns:
      the destination
      Throws:
      RemoteException - the remote exception
    • isValidDataFile

      boolean isValidDataFile(boolean isProxy, long dataFileId) throws RemoteException
      Checks if is valid data file.
      Parameters:
      isProxy - the is proxy
      dataFileId - the data file id
      Returns:
      true, if is valid data file
      Throws:
      RemoteException - the remote exception
    • getIncomingUserHash

      String getIncomingUserHash(String incomingUser) throws RemoteException
      Return a hash of the specified incoming user (the string is in the form userid:password).
      Parameters:
      incomingUser - the incoming user
      Returns:
      hash, if the user is found
      Throws:
      RemoteException - the remote exception
    • isAnonymousIncomingUser

      boolean isAnonymousIncomingUser(String incomingUser) throws RemoteException
      Check whether an IncomingUser is configured for anonymous (password-free) access.
      Parameters:
      incomingUser - the incoming user name
      Returns:
      true if the user exists and has USER_PORTAL_ANONYMOUS set to true
      Throws:
      RemoteException - the remote exception
    • getIncomingConnectionCount

      int getIncomingConnectionCount(String incomingUser) throws RemoteException
      Get the current number of active connections for the specified incoming user across all data movers and protocols.
      Parameters:
      incomingUser - the incoming user name
      Returns:
      the active connection count
      Throws:
      RemoteException - the remote exception
    • getPortalBytesUsed

      long getPortalBytesUsed(String userId, boolean upload, long windowMs) throws RemoteException
      Returns the total bytes transferred by the given portal user within the specified rolling window.
      Parameters:
      userId - the user id
      upload - true for upload bytes, false for download bytes
      windowMs - the rolling window in milliseconds
      Returns:
      total bytes within the window
      Throws:
      RemoteException - if the call fails
    • getPortalTraffic

      List<PortalTraffic> getPortalTraffic(String userId, int hours) throws RemoteException
      Gets portal traffic statistics. Returns minute-bucket rows for the given user (or all users if userId is empty), covering the specified number of hours back from now.
      Parameters:
      userId - the incoming user ID, or empty string for system-wide
      hours - how many hours of history to return
      Returns:
      list of PortalTraffic rows ordered by time descending
      Throws:
      RemoteException - the remote exception
    • getS3AuthorizationSignature

      byte[] getS3AuthorizationSignature(String incomingUser, String prefix, String data, String algorithm) throws RemoteException
      Return a hash of the specified incoming user (the string is in the form userid:password).
      Parameters:
      incomingUser - the incoming user
      prefix - the prefix (e.g. AWS4)
      data - the data
      algorithm - the algorithm
      Returns:
      authorization signature
      Throws:
      RemoteException - the remote exception
    • getIncomingProfile

      IncomingProfile getIncomingProfile(String incomingUser, String incomingPassword, String from) throws RemoteException
      Gets the incoming profile.
      Parameters:
      incomingUser - the incoming user
      incomingPassword - the incoming password
      from - the from
      Returns:
      the incoming profile
      Throws:
      RemoteException - the remote exception
    • getIncomingProfileNoAuth

      IncomingProfile getIncomingProfileNoAuth(String incomingUser) throws RemoteException
      Returns a fresh IncomingProfile for an already-authenticated user without re-running credential validation, TOTP, connection-count checks, or last-login updates.
      Parameters:
      incomingUser - the incoming user id
      Returns:
      the incoming profile
      Throws:
      RemoteException - the remote exception
    • releaseConnectionSlot

      void releaseConnectionSlot(String incomingUser) throws RemoteException
      Releases a pending connection slot for the given user. Must be called when a session closes before being confirmed by the incoming connections poll, to prevent the pending counter from leaking.
      Parameters:
      incomingUser - the incoming user id
      Throws:
      RemoteException - the remote exception
    • getETag

      String getETag(long dataTransferId) throws RemoteException
      Gets the ETag for a given dataTransferId.
      Parameters:
      dataTransferId - the data transfer id
      Returns:
      the ETag
      Throws:
      RemoteException - the remote exception
    • getECauthToken

      ECauthToken getECauthToken(String user) throws RemoteException
      Gets the ecauth token.
      Parameters:
      user - the user
      Returns:
      the ecauth token
      Throws:
      RemoteException - the remote exception
    • importDestination

      void importDestination(Destination fromDestination, Association[] linkedAssociations, boolean copySharedHost) throws RemoteException
      Import destination from another Master Server.
      Parameters:
      fromDestination - the from destination
      linkedAssociations - the linked associations
      copySharedHost - the copy shared host
      Throws:
      RemoteException - the remote exception
    • updateLocalTransferStatus

      boolean updateLocalTransferStatus(String master, boolean standby, String destination, String target, String uniqueName, String status) throws RemoteException
      Update data transfer status from another Master Server.
      Parameters:
      master - the remote master
      standby - the standby flag
      destination - the destination name
      target - the target name
      uniqueName - the unique name
      status - the status
      Returns:
      true, if successful
      Throws:
      RemoteException - the remote exception