Commit a23bf0d1 authored by Teemu's avatar Teemu
Browse files

näkyykö tää?

parent 3b2d2425
......@@ -25,6 +25,7 @@ public class Answer implements Runnable {
try {
Thread.sleep(1000);
} catch (Exception e) {
System.err.println("The main answer thread failed to sleep");
}
int fsum = 0; // Määritellään final sum, eli lopullinen summa johon halutaan sums[]-taulukon
// alkioiden summa
......@@ -35,13 +36,15 @@ public class Answer implements Runnable {
try { //
this.out.writeInt(fsum); // Lähetetään tulos Y:lle
this.out.flush(); // Puhdistetaan kirjoitusvirta.
} catch (IOException e) { // Ei käsitellä mahdollista virhettä
} catch (IOException e) {
System.err.println("Error responding to Y (request 1)");
} //
} else if (this.request == 2) { // Jos pyyntö 2:
try {
Thread.sleep(1000);
} catch (Exception e) {
System.err.println("the main answer thread failed to sleep");
}
int fsummain = 0; // Oletetaan summaimen 0 sums[]-alkio suurimmaksi
for (int i = 1; i < this.t; i++) { // tutkitaan jokaisen muun summaimen sums[]-alkio
......@@ -53,13 +56,15 @@ public class Answer implements Runnable {
fsummain = fsummain +1;
this.out.writeInt(fsummain); // Lähetetään tulos Y:lle
this.out.flush(); // Puhdistetaan kirjoitusvirta.
} catch (IOException e) { // Ei käsitellä mahdollista virhettä
} catch (IOException e) {
System.err.println("Error responding to Y (request 2)");
} //
} else if (this.request == 3) { // Jos pyyntö 3:
try {
Thread.sleep(1000);
} catch (Exception e) {
System.err.println("the main answer thread failed to sleep");
}
int famount = 0; // Määritellään final amount kuten pyynnöllä 1 final sum
for (int i = 0; i < this.t; i++) { //
......@@ -69,7 +74,8 @@ public class Answer implements Runnable {
try { //
this.out.writeInt(famount); // Lähetetään tulos Y:lle
this.out.flush(); // Puhdistetaan kirjoitusvirta.
} catch (IOException e) { // Ei käsitellä mahdollista virhettä
} catch (IOException e) {
System.err.println("Error responding to Y (request 3)");
} //
} else {
......@@ -77,7 +83,8 @@ public class Answer implements Runnable {
try { //
this.out.writeInt(-1); // Lähetetään Y:lle virhekoodi -1
this.out.flush(); // Puhdistetaan kirjoitusvirta
} catch (IOException e) { // Ei käsitellä mahdollista virhettä
} catch (IOException e) {
System.err.println("Error sending an error to Y");
} //
}
}
......
......@@ -39,6 +39,22 @@ public class Runko implements Runnable {
// Summainviittaukselle Summain
} catch (IOException e) { // Otetaan kiinni IOException ServerSocketin luomisesta.
System.err.println("Error creating a sew Server Socket. Exiting");
for(int j = 0;j<i;j++) {
try {
soketti[j].close();
} catch (IOException e) {
System.err.println("Error closing down socket " + j);
}
}
try{
input.close();
output.close();
omasoketti.close();
} catch (IOException e){
System.err.println("Error closing down primary socket");
}
System.exit(-3);
} //
new Thread(summain[i]).start(); // Käynnistetään Summain
}
......@@ -49,6 +65,23 @@ public class Runko implements Runnable {
// paikallinen portti Y:lle
this.output.flush();
} catch (IOException e) {
System.err.println("Failed to inform Y of TCP port number " + i);
for(int j = 0;j<t;j++) {
try {
soketti[j].close();
} catch (IOException e) {
System.err.println("Error closing down socket " + j);
}
}
try{
input.close();
output.close();
omasoketti.close();
} catch (IOException e){
System.err.println("Error closing primary socket");
}
System.exit(-4);
}
}
......@@ -62,7 +95,7 @@ public class Runko implements Runnable {
// vastaajaluokka
new Thread(a).start(); // Käynnistetään a
} catch (IOException e) {
System.err.println("Seems like Y is no longer transmitting. Ending");
System.err.println("Seems like Y is no longer transmitting. Ending program");
previous = 0;
} //
} while (previous != 0); // Tutkitaan oliko Y:n lähettämä viesti 0
......@@ -71,6 +104,7 @@ public class Runko implements Runnable {
try {
soketti[i].close(); // Suljetaan kaikki avoimet Summainsocketit
} catch (IOException e) {
System.err.println("Failed closing socket " + i);
}
}
try {
......@@ -78,6 +112,7 @@ public class Runko implements Runnable {
this.output.close();
this.omasoketti.close();
} catch (IOException e) {
System.err.println("Error closing primary socket");
}
System.exit(4);
}
......
......@@ -30,12 +30,14 @@ class Summain implements Runnable { // Summaimen prototyyppi, pääasiassa olema
outee = new ObjectOutputStream(soketti.getOutputStream());
inee = new ObjectInputStream(soketti.getInputStream());
} catch (IOException e) {
System.err.println("Summain " + this.instance + " failed to initialize");
}
int read = 0;
do {
try {
read = inee.readInt();
} catch (IOException e) {
System.err.println("Summain " + this.instance + " failed to read input");
}
if (read != 0) {
this.sum[this.instance] += read;
......@@ -47,6 +49,7 @@ class Summain implements Runnable { // Summaimen prototyyppi, pääasiassa olema
inee.close();
outee.close();
} catch (IOException e) {
System.err.println("Summain " + this.instance + " failed to clean up");
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment