import java.net.URI;
import javax.websocket.*;

@ClientEndpoint
public class Slave extends Thread{
    private  Object waitLock = new Object();

    @OnMessage
    public void onMessage(String message){
        System.out.println("Received msg " + message);
    }

    private  void waitForTerminationSignal(){
        synchronized (waitLock){
            try {
                waitLock.wait();
            } catch (InterruptedException exception) {
                exception.printStackTrace();
            }
        }
    }

  
       Slave(){
       }
       public void run(){

       
        WebSocketContainer container = null;
      
        Session session = null;
      
        try {
            container = ContainerProvider.getWebSocketContainer();
            session = container.connectToServer(this, URI.create("ws://145.24.222.24:8080")); //ws://localhost:6666
            session.getAsyncRemote().sendText("[\"register\", \"slave\", \"gr\"]");
            
        

            
            waitForTerminationSignal();
        } catch (Exception e) {
            e.printStackTrace();
        }
        finally{
            if(session != null ){
                try {
                    session.close();
                   
                } catch (Exception e) {
                    e.printStackTrace();
                }

        
             

            }
        }
    }
}


