]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/xvsm/loadbalancer/LoadBalancer.java
[XVSM] LoadBalancer skeleton
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / xvsm / loadbalancer / LoadBalancer.java
1 package at.ac.tuwien.sbc.valesriegler.xvsm.loadbalancer;
2
3
4 import at.ac.tuwien.sbc.valesriegler.common.Tuple;
5 import at.ac.tuwien.sbc.valesriegler.common.Util;
6 import at.ac.tuwien.sbc.valesriegler.xvsm.LoadBalancerXVSM;
7 import org.slf4j.Logger;
8 import org.slf4j.LoggerFactory;
9
10 public class LoadBalancer {
11     private static final String USAGE = "LoadBalancer needs exactly two integer parameters: LOADBALANCERID, LOADBALANCER-SPACE-PORT";
12     private static final Logger log = LoggerFactory.getLogger(LoadBalancer.class);
13
14     private final int pizzeriaPort;
15     private final int id;
16     private LoadBalancerXVSM xvsm;
17
18     public static void main(String[] args) {
19         final Tuple<Integer> loadBalancerIdAndSpacePort = Util.parseIdAndSpacePort(args, USAGE);
20
21         LoadBalancer loadBalancer = new LoadBalancer(loadBalancerIdAndSpacePort.fst, loadBalancerIdAndSpacePort.snd);
22         loadBalancer.start();
23     }
24
25     private void start() {
26         xvsm = new LoadBalancerXVSM(id, pizzeriaPort);
27
28         xvsm.listenForPizzerias();
29     }
30
31     public LoadBalancer(int id, int pizzeriaPort) {
32         this.id = id;
33         this.pizzeriaPort = pizzeriaPort;
34         log.info("I AM A Loadbalancer WITH ID {}", id);
35     }
36 }