parent
5e647c4408
commit
35d8d8d7d5
@ -0,0 +1,71 @@
|
|||||||
|
import javax.servlet.ServletException;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class DoClientThings {
|
||||||
|
|
||||||
|
|
||||||
|
public void start(ClientServlet clientServlet) {
|
||||||
|
// Thread 1
|
||||||
|
// while AvailableRides < 256 , add Ride to AvailableRides , send POST (Ride) [DONE]
|
||||||
|
Runnable postRideRunnable = new PostRideRunnable(clientServlet);
|
||||||
|
Thread postRideThread = new Thread(postRideRunnable);
|
||||||
|
postRideThread.start();
|
||||||
|
|
||||||
|
// Thread 2
|
||||||
|
// for Rides in ReservedRides, send GET (Ride) [DONE]
|
||||||
|
Runnable getRideRunnable = new GetRideRunnable(clientServlet);
|
||||||
|
Thread getRideThread = new Thread(getRideRunnable);
|
||||||
|
getRideThread.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* While AvailableRides < 256 ,
|
||||||
|
* add Ride to AvailableRides ,
|
||||||
|
* send POST (Ride).
|
||||||
|
*/
|
||||||
|
private class PostRideRunnable implements Runnable {
|
||||||
|
|
||||||
|
ClientServlet clientServlet;
|
||||||
|
|
||||||
|
public PostRideRunnable(ClientServlet clientServlet) {
|
||||||
|
this.clientServlet = clientServlet;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
while (true) {
|
||||||
|
if (clientServlet.availableRides.size() < 256) {
|
||||||
|
try {clientServlet.sendPostRide(new Ride());} catch (IOException | ServletException e) { e.printStackTrace(); }
|
||||||
|
}
|
||||||
|
try {Thread.sleep(500);} catch (InterruptedException e) { e.printStackTrace(); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For Rides in ReservedRides,
|
||||||
|
* send GET (Ride).
|
||||||
|
*/
|
||||||
|
private class GetRideRunnable implements Runnable {
|
||||||
|
ClientServlet clientServlet;
|
||||||
|
|
||||||
|
public GetRideRunnable(ClientServlet clientServlet) {
|
||||||
|
this.clientServlet = clientServlet;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
while (true) {
|
||||||
|
for (Ride reservedRide : clientServlet.reservedRides) {
|
||||||
|
try {clientServlet.sendGetRide(reservedRide);} catch (IOException e) { e.printStackTrace(); }
|
||||||
|
}
|
||||||
|
try {Thread.sleep(500);} catch (InterruptedException e) { e.printStackTrace(); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in new issue