try to improve ping performance

This commit is contained in:
anhefti 2020-02-26 12:42:05 +01:00
parent b774235903
commit 379c786064

View file

@ -279,48 +279,26 @@ public class ExamAPI_V1_Controller {
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE,
produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public CompletableFuture<ResponseEntity<String>> ping(
public void ping(
@RequestHeader(name = API.EXAM_API_SEB_CONNECTION_TOKEN, required = true) final String connectionToken,
@RequestParam(name = API.EXAM_API_PING_TIMESTAMP, required = true) final long timestamp,
@RequestParam(name = API.EXAM_API_PING_NUMBER, required = false) final int pingNumber) {
@RequestParam(name = API.EXAM_API_PING_NUMBER, required = false) final int pingNumber,
final HttpServletResponse response) {
return CompletableFuture.supplyAsync(
() -> {
final String notifyPing = this.sebClientConnectionService
.notifyPing(connectionToken, timestamp, pingNumber);
if (notifyPing == null) {
return EMPTY_PING_RESPONSE;
}
final String instruction = this.sebClientConnectionService
.notifyPing(connectionToken, timestamp, pingNumber);
return ResponseEntity
.ok()
.body(notifyPing);
},
this.executor);
if (instruction == null) {
return;
}
try {
response.getOutputStream().write(instruction.getBytes());
} catch (final IOException e) {
log.error("Failed to send instruction as response: {}", connectionToken, e);
}
}
// @RequestMapping(
// path = API.EXAM_API_PING_ENDPOINT,
// method = RequestMethod.POST,
// consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE,
// produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
// public ResponseEntity<String> ping(
// @RequestHeader(name = API.EXAM_API_SEB_CONNECTION_TOKEN, required = true) final String connectionToken,
// @RequestParam(name = API.EXAM_API_PING_TIMESTAMP, required = true) final long timestamp,
// @RequestParam(name = API.EXAM_API_PING_NUMBER, required = false) final int pingNumber) {
//
// final String instruction = this.sebClientConnectionService
// .notifyPing(connectionToken, timestamp, pingNumber);
//
// if (instruction == null) {
// return EMPTY_PING_RESPONSE;
// }
//
// return ResponseEntity
// .ok()
// .body(instruction);
// }
@RequestMapping(
path = API.EXAM_API_EVENT_ENDPOINT,
method = RequestMethod.POST,