Files
pr.tp.grpc/src/main/java/fr/istic/grpc/todo/TodoServiceImpl.java
2025-04-04 12:33:46 +02:00

38 lines
1.1 KiB
Java

package fr.istic.grpc.todo;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import io.grpc.stub.*;
import io.grpc.stub.StreamObserver;
public class TodoServiceImpl extends TodoServiceGrpc.TodoServiceImplBase {
private final ConcurrentHashMap<String, Todo.TaskResponse> tasks = new ConcurrentHashMap<>();
private final AtomicInteger taskId = new AtomicInteger();
public int generateUniqueTaskId() {
return taskId.incrementAndGet();
}
@Override
public void createTask(Todo.CreateTaskRequest request, StreamObserver<Todo.TaskResponse> responseObserver) {
// Créer une tâche en générant un identifiant
}
@Override
public void listTasks(Todo.ListTasksRequest request, StreamObserver<Todo.ListTasksResponse> responseObserver) {
// La réponse est une liste
}
@Override
public void deleteTask(Todo.DeleteTaskRequest request, StreamObserver<Todo.TaskResponse> responseObserver) {
// si la tâche existe, on efface, sinon on indique que l'opération est un echec
this.tasks.remove(request.id);
}
}