Initial commit

This commit is contained in:
ymaurel
2024-03-10 19:38:34 +01:00
commit ce684107c5
15 changed files with 551 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
package fr.istic.grpc.chat;
import fr.istic.grpc.chat.Chat.*;
import io.grpc.*;
import io.grpc.stub.*;
import java.util.*;
public class ChatClient {
}

View File

@@ -0,0 +1,13 @@
package fr.istic.grpc.chat;
import fr.istic.grpc.echo.*;
import io.grpc.*;
import java.io.*;
public class ChatServer {
public static void main(String[] args) throws IOException, InterruptedException {
}
}

View File

@@ -0,0 +1,17 @@
package fr.istic.grpc.chat;
import com.google.protobuf.*;
import fr.istic.grpc.chat.Chat.*;
import fr.istic.grpc.chat.ChatServiceGrpc.*;
import io.grpc.*;
import io.grpc.stub.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.*;
public class ChatService extends ChatServiceImplBase {
//private static final List<StreamObserver<ChatMessage>> observers = new CopyOnWriteArrayList<>();
}

View File

@@ -0,0 +1,11 @@
package fr.istic.grpc.echo;
import com.google.rpc.context.AttributeContext.*;
import fr.istic.grpc.echo.Echo.*;
import fr.istic.grpc.echo.EchoServiceGrpc.*;
import io.grpc.*;
public class EchoClient {
}

View File

@@ -0,0 +1,10 @@
package fr.istic.grpc.echo;
import fr.istic.grpc.todo.*;
import io.grpc.*;
import java.io.*;
public class EchoServeur {
}

View File

@@ -0,0 +1,10 @@
package fr.istic.grpc.echo;
import com.google.protobuf.*;
import fr.istic.grpc.echo.Echo.*;
import fr.istic.grpc.echo.EchoServiceGrpc.*;
import io.grpc.stub.*;
public class EchoService extends EchoServiceImplBase {
}

View File

@@ -0,0 +1,9 @@
package fr.istic.grpc.todo;
import fr.istic.grpc.todo.Todo.*;
import fr.istic.grpc.todo.TodoServiceGrpc.*;
import io.grpc.*;
public class TodoClient {
}

View File

@@ -0,0 +1,9 @@
package fr.istic.grpc.todo;
import io.grpc.*;
import java.io.*;
public class TodoServeur {
}

View File

@@ -0,0 +1,34 @@
package fr.istic.grpc.todo;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
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
}
*/
}

13
src/main/proto/chat.proto Normal file
View File

@@ -0,0 +1,13 @@
syntax = "proto3";
package chat;
option java_package = "fr.istic.grpc.chat";
service ChatService {
rpc joinChat(stream ChatMessage) returns (stream ChatMessage) {}
}
message ChatMessage {
string user = 1;
string message = 2;
}

View File

@@ -0,0 +1,9 @@
syntax = "proto3";
package echo;
option java_package = "fr.istic.grpc.echo";
service EchoService {
}

38
src/main/proto/todo.proto Normal file
View File

@@ -0,0 +1,38 @@
syntax = "proto3";
package todo;
option java_package = "fr.istic.grpc.todo";
// Le service TodoService définit les opérations disponibles pour gérer les tâches.
service TodoService {
// A COMPLETER !
}
// Message de requête pour créer une nouvelle tâche.
message CreateTaskRequest {
string title = 1; // Le titre de la tâche
string description = 2; // La description de la tâche
}
// Message de requête pour lister toutes les tâches.
message ListTasksRequest {
// Aucun champ requis pour cette requête
}
// Message de requête pour supprimer une tâche spécifique.
message DeleteTaskRequest {
string id = 1; // L'identifiant de la tâche à supprimer
}
// Message de réponse pour les opérations CreateTask et DeleteTask.
message TaskResponse {
string id = 1; // L'identifiant de la tâche
string title = 2; // Le titre de la tâche
string description = 3; // La description de la tâche
bool success = 4; // Indique si l'opération a réussi
}
// Message de réponse pour l'opération ListTasks.
message ListTasksResponse {
repeated TaskResponse tasks = 1; // La liste des tâches
}