package primer_12;

import java.net.*;
import java.io.*;

public class SenderRunnable implements Runnable {

	private InetAddress server;
	private DatagramSocket socket;
	private boolean stopped = false;
	private int port;
	
	
	public SenderRunnable(InetAddress address, int port)
		throws SocketException{
		this.server = address;
		this.port = port;
		this.socket = new DatagramSocket();
		this.socket.setSoTimeout(30000);  // max 30s ceka odgovor
		this.socket.connect(server, port);
	}
	
	public void halt(){
		this.stopped = true;
	}
	
	public DatagramSocket getSocket(){
		return socket;
	}
	
	public void run(){
		
		try{
			BufferedReader userInput = new
				BufferedReader(new InputStreamReader(System.in));
			while(true){
				String theLine = userInput.readLine();
				if(theLine.equals(".")) {/* ubaciti i nesto spavanja */ halt(); break;}
				byte[] data = theLine.getBytes();
				DatagramPacket output = new
					DatagramPacket(data, data.length, server, port);
				socket.send(output);
				Thread.yield();
			}
			
		}catch(IOException ex){
			System.err.println(ex);
		}
				
	} // end run
	
	/* dodato */
	public boolean isStopped(){
		return stopped;
	}
	
}

