From 29bb48a8cc8122871d8728be6fd8b853e52568bd Mon Sep 17 00:00:00 2001 From: Haidong Ji Date: Wed, 23 Jan 2019 16:14:16 -0600 Subject: Interim checkin. Network packet processing not done yet. --- src/main/NetworkPacket.java | 83 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/main/NetworkPacket.java (limited to 'src/main/NetworkPacket.java') diff --git a/src/main/NetworkPacket.java b/src/main/NetworkPacket.java new file mode 100644 index 0000000..805dcf5 --- /dev/null +++ b/src/main/NetworkPacket.java @@ -0,0 +1,83 @@ +import java.io.IOException; +import java.util.ArrayList; +import java.util.Scanner; + +public class NetworkPacket { + + public static class Request { + public int arrivalTime; + public int processTime; + + public Request(int arrivalTime, int processTime) { + this.arrivalTime = arrivalTime; + this.processTime = processTime; + } + + } + + public static class Response { + public boolean dropped; + public int startTime; + + public Response(boolean dropped, int startTime) { + this.dropped = dropped; + this.startTime = startTime; + } + } + + public static class Buffer { + private int size; + private ArrayList finishTime = new ArrayList(); + + public Buffer(int size) { + this.size = size; + } + public Response processRequests(Request request) { + // write your code here + if (this.size == 0) + return new Response(false,-1); + else { + if (finishTime.size() == 0) + } + } + } + private static ArrayList ReadQueries(Scanner scanner) throws IOException { + int requests_count = scanner.nextInt(); + ArrayList requests = new ArrayList(); + for (int i = 0; i < requests_count; ++i) { + int arrival_time = scanner.nextInt(); + int process_time = scanner.nextInt(); + requests.add(new Request(arrival_time, process_time)); + } + return requests; + } + + public static ArrayList processRequests(ArrayList requests, Buffer buf) { + ArrayList responses = new ArrayList<>(); + for (int i = 0; i < requests.size(); i++) { + responses.add(buf.processRequests(requests.get(i))); + } + return responses; + } + private static void PrintResponses(ArrayList responses) { + for (int i = 0; i < responses.size(); ++i) { + Response response = responses.get(i); + if (response.dropped) { + System.out.println(-1); + } else { + System.out.println(response.startTime); + } + } + } + + public static void main(String[] args) throws IOException { + Scanner scanner = new Scanner(System.in); + + int buffer_max_size = scanner.nextInt(); + Buffer buffer = new Buffer(buffer_max_size); + + ArrayList requests = ReadQueries(scanner); + ArrayList responses = processRequests(requests, buffer); + PrintResponses(responses); + } +} -- cgit v1.2.3