A student was given this proto specification: message LoginR…
A student was given this proto specification: message LoginRequest { string username = 1; string password = 2; } message LoginResponse { bool success = 1; string session_token = 2; string error = 3; } Guidelines: – On success: set success=true and session_token, don’t set the error field – On error: set success=false and error message, don’t set session_token field Their server was implemented with the following Java code for two scenarios: Scenario 1: Valid login LoginResponse response = LoginResponse.newBuilder() .setSuccess(true) .setSessionToken(“abc123”) .setError(“”) .build(); Scenario 2: Invalid password LoginResponse response = LoginResponse.newBuilder() .setSuccess(false) .setSessionToken(“”) .build(); Part 1: List all protocol violations across both scenarios. Part 2: Write out how both scenarios should look according to the specification.
Read DetailsYou are building a Restaurant Reservation System where clien…
You are building a Restaurant Reservation System where clients can: Make a reservation (date, time, party size, customer name) Cancel a reservation by reservation ID Check availability for a given date and time List all reservations for a customer Design a proto-based protocol for this system. For each operation, specify: The request format (what fields are needed) The success response format At least one error response List other error cases that need to be handled You only need to show 2 operations: MAKE_RESERVATION and CANCEL_RESERVATION.
Read DetailsWhich of the following is the CORRECT pattern for a multi-th…
Which of the following is the CORRECT pattern for a multi-threaded server? while (true) { Socket client = serverSocket.accept(); new Thread(() -> handleClient(client)).start(); } new Thread(() -> { while (true) { Socket client = serverSocket.accept(); handleClient(client); } }).start(); Socket client = serverSocket.accept(); while (true) { new Thread(() -> handleClient(client)).start(); } while (true) { handleClient(serverSocket.accept()); }
Read Details