/* * LoadBalanceManager.java * * Load Balance Manager data and operations with round robin selection * of servers. * * Created by: Arthur L. Blais * Visteon/Ford Microelectronics Inc. * Colorado Springs, CO * * Date: Fri Sep 24 08:43:13 MDT 1999 * **************************************************************************** * * Class Methods * * **************************************************************************** */ public class LoadBalanceManager { int id; // id number int nextServer; // next server to use int serverCount; // total number of servers int server[]; // server reqeust count public LoadBalanceManager( int n, int s, int t ) { id = n; nextServer = 0; serverCount = s; server = new int[ serverCount ]; for ( int i = 0; i < serverCount; i++ ) { server[i] = 0; } } /** * getId */ int getId() { return id; } /** * requestComplete */ void requestComplete( int s ) { server[s]--; } /** * nextServer * */ int nextServer() { int newServer = nextServer % serverCount; server[newServer]++; nextServer++; return( newServer ); } }