1 module helloworld.helloworldrpc; 2 3 4 // Generated by the gRPC dlang plugin. 5 6 7 import helloworld.helloworld; 8 import std.array; 9 import grpc; 10 import google.protobuf; 11 import hunt.logging; 12 import core.thread; 13 14 15 16 17 class GreeterClient 18 { 19 this(Channel channel) 20 { 21 _channel = channel; 22 } 23 24 HelloReply SayHello( HelloRequest request) 25 { 26 mixin(CM!(HelloReply , GreeterBase.SERVICE)); 27 } 28 29 void SayHello( HelloRequest request , void delegate(Status status , HelloReply response) dele) 30 { 31 mixin(CMA!(HelloReply , GreeterBase.SERVICE)); 32 } 33 34 HelloReply SayGoodBye( HelloRequest request) 35 { 36 mixin(CM!(HelloReply , GreeterBase.SERVICE)); 37 } 38 39 void SayGoodBye( HelloRequest request , void delegate(Status status , HelloReply response) dele) 40 { 41 mixin(CMA!(HelloReply , GreeterBase.SERVICE)); 42 } 43 44 45 private: 46 Channel _channel; 47 } 48 49 class GreeterBase: GrpcService 50 { 51 enum SERVICE = "helloworld.Greeter"; 52 string getModule() 53 { 54 return SERVICE; 55 } 56 57 Status SayHello(HelloRequest , ref HelloReply){ return Status.OK; } 58 Status SayGoodBye(HelloRequest , ref HelloReply){ return Status.OK; } 59 60 Status process(string method , GrpcStream stream, ubyte[] complete) 61 { 62 switch(method) 63 { 64 mixin(SM!(HelloRequest , HelloReply , "SayHello")); 65 mixin(SM!(HelloRequest , HelloReply , "SayGoodBye")); 66 mixin(NONE()); 67 } 68 } 69 } 70 71