Class ThrottleSpecManager


  • public class ThrottleSpecManager
    extends BaseTable
    This class manages the "throttlespec" table, which contains the throttle specifications for each connection. These are basically tuples consisting of a regexp and a fetch rate. There's a description of each tuple, so that a person can attach a description of what they are attempting to do with each limit.

    throttlespec
    FieldTypeDescription        
    ownernameVARCHAR(32)Reference:repoconnections.connectionname
    descriptionVARCHAR(255)
    matchstringVARCHAR(255)
    throttleFLOAT


    • Method Detail

      • install

        public void install​(java.lang.String ownerTable,
                            java.lang.String owningTablePrimaryKey)
                     throws ManifoldCFException
        Install or upgrade.
        Parameters:
        ownerTable - is the name of the table that owns this one.
        owningTablePrimaryKey - is the primary key of the owning table.
        Throws:
        ManifoldCFException
      • readRows

        public IResultSet readRows​(java.lang.String name)
                            throws ManifoldCFException
        Read rows for a given owner name.
        Parameters:
        name - is the owner name.
        Returns:
        a list, with columns: "description", "match", and "value".
        Throws:
        ManifoldCFException
      • maxClauseGetRows

        public int maxClauseGetRows()
        Calculate the maximum number of clauses we can use with getRows.
      • getRows

        public void getRows​(IRepositoryConnection[] connections,
                            java.util.Map indexMap,
                            java.util.ArrayList ownerNameParams)
                     throws ManifoldCFException
        Fill in a set of throttles corresponding to a set of connection names.
        Parameters:
        connections - is the set of connections to fill in.
        indexMap - maps the connection name to the index in the connections array.
        ownerNameParams - is the corresponding set of connection name parameters.
        Throws:
        ManifoldCFException
      • writeRows

        public void writeRows​(java.lang.String owner,
                              IRepositoryConnection connection)
                       throws ManifoldCFException
        Write a throttle spec into the database.
        Parameters:
        owner - is the owning connection name.
        connection - is the connection to write throttle specs for.
        Throws:
        ManifoldCFException