Skip to content

Instantly share code, notes, and snippets.

@ruan65
Created June 10, 2021 16:31
Show Gist options
  • Save ruan65/a6be032dc057ce91d65dbe03fc2c66fc to your computer and use it in GitHub Desktop.
Save ruan65/a6be032dc057ce91d65dbe03fc2c66fc to your computer and use it in GitHub Desktop.

Revisions

  1. ruan65 created this gist Jun 10, 2021.
    34 changes: 34 additions & 0 deletions service.dart
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,34 @@
    import 'dart:math';

    import 'package:grpc/src/server/call.dart';
    import 'package:grpc/grpc.dart' as grpc;
    import 'package:umka/questions_db_driver.dart';

    import 'generated/umka.pbgrpc.dart';

    class UmkaService extends UmkaServiceBase {

    @override
    Future<Question> getQuestion(ServiceCall call, Student request) async {
    print('Received question request from: $request');
    return questionsDb[Random().nextInt(questionsDb.length)];
    }

    @override
    Future<Evaluation> sendAnswer(ServiceCall call, Answer request) {
    // TODO: implement sendAnswer
    throw UnimplementedError();
    }
    }

    class Server {
    Future<void> run() async {
    final server = grpc.Server([UmkaService()]);
    await server.serve(port: 5555);
    print('Serving on the port: ${server.port}');
    }
    }

    Future<void> main() async {
    await Server().run();
    }