1 module routeguide.route_guiderpc; 2 3 4 // Generated by the gRPC dlang plugin. 5 6 7 import routeguide.route_guide; 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 RouteGuideClient 18 { 19 this(Channel channel) 20 { 21 _channel = channel; 22 } 23 24 Feature GetFeature( Point request) 25 { 26 mixin(CM!(Feature , RouteGuideBase.SERVICE)); 27 } 28 29 void GetFeature( Point request , void delegate(Status status , Feature response) dele) 30 { 31 mixin(CMA!(Feature , RouteGuideBase.SERVICE)); 32 } 33 34 ClientReader!Feature ListFeatures(Rectangle request ){ 35 mixin(CM1!(Feature , RouteGuideBase.SERVICE)); 36 } 37 ClientWriter!Point RecordRoute( ref RouteSummary response ){ 38 mixin(CM2!(Point , RouteGuideBase.SERVICE)); 39 } 40 ClientReaderWriter!(RouteNote ,RouteNote) RouteChat(){ 41 mixin(CM3!(RouteNote , RouteNote , RouteGuideBase.SERVICE)); 42 } 43 44 private: 45 Channel _channel; 46 } 47 48 class RouteGuideBase: GrpcService 49 { 50 enum SERVICE = "routeguide.RouteGuide"; 51 string getModule() 52 { 53 return SERVICE; 54 } 55 56 Status GetFeature(Point , ref Feature){ return Status.OK; } 57 Status ListFeatures(Rectangle , ServerWriter!Feature){ return Status.OK; } 58 Status RecordRoute(ServerReader!Point , ref RouteSummary){ return Status.OK; } 59 Status RouteChat(ServerReaderWriter!(RouteNote , RouteNote)){ return Status.OK; } 60 61 Status process(string method , GrpcStream stream, ubyte[] complete) 62 { 63 switch(method) 64 { 65 mixin(SM!(Point , Feature , "GetFeature")); 66 mixin(SM1!(Rectangle , Feature , "ListFeatures")); 67 mixin(SM2!(Point , RouteSummary , "RecordRoute")); 68 mixin(SM3!(RouteNote , RouteNote , "RouteChat")); 69 mixin(NONE()); 70 } 71 } 72 } 73 74