Class WriteController

    • Field Detail

      • IDLE_SLEEP_TIME

        static int IDLE_SLEEP_TIME
      • AGGRESIVE_WRITE

        static boolean AGGRESIVE_WRITE
      • BOOSTER_GIFT

        static int BOOSTER_GIFT
      • normal_priority_entities

        volatile java.util.ArrayList<RateControlledEntity> normal_priority_entities
      • boosted_priority_entities

        volatile java.util.ArrayList<RateControlledEntity> boosted_priority_entities
      • entities_mon

        private final AEMonitor entities_mon
      • next_normal_position

        private int next_normal_position
      • next_boost_position

        private int next_boost_position
      • next_high_position

        private int next_high_position
      • booster_process_time

        private long booster_process_time
      • booster_normal_written

        private int booster_normal_written
      • booster_boost_written

        private int booster_boost_written
      • booster_stat_index

        private int booster_stat_index
      • booster_normal_writes

        private final int[] booster_normal_writes
      • booster_gifts

        private final int[] booster_gifts
      • aggressive_np_normal_priority_count

        private int aggressive_np_normal_priority_count
      • aggressive_np_high_priority_count

        private int aggressive_np_high_priority_count
      • process_loop_time

        private long process_loop_time
      • wait_count

        private long wait_count
      • progress_count

        private long progress_count
      • non_progress_count

        private long non_progress_count
      • entity_count

        private int entity_count
    • Constructor Detail

      • WriteController

        public WriteController()
        Create a new write controller.
    • Method Detail

      • getBiasDetails

        public java.lang.String getBiasDetails()
      • updateStats

        public void updateStats​(java.util.Set types,
                                java.util.Map values)
        Specified by:
        updateStats in interface CoreStatsProvider
      • writeProcessorLoop

        void writeProcessorLoop()
      • hasConnections

        private boolean hasConnections()
      • doNormalPriorityWrite

        private boolean doNormalPriorityWrite​(int tick_count)
      • doHighPriorityWrite

        private boolean doHighPriorityWrite()
      • processNextReadyNormalPriorityEntity

        private int processNextReadyNormalPriorityEntity​(int tick_count)
      • addWriteEntity

        public void addWriteEntity​(RateControlledEntity entity)
        Add the given entity to the controller for write processing.
        Parameters:
        entity - to process writes for
      • removeWriteEntity

        public boolean removeWriteEntity​(RateControlledEntity entity)
        Remove the given entity from the controller.
        Parameters:
        entity - to remove from write processing
      • getEntityCount

        public int getEntityCount()