Skip to content

Commit

Permalink
rename server stubs to match corresponding client stubs names
Browse files Browse the repository at this point in the history
  • Loading branch information
mbarbin committed Jan 14, 2024
1 parent 52bd9f1 commit 94bd3e1
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 deletions.
13 changes: 7 additions & 6 deletions src/compilerlib/pb_codegen_services.ml
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ let gen_service_server_struct (service : Ot.service) sc : unit =
let req_mode_witness = String.capitalize_ascii req_mode in
let res_mode_witness = String.capitalize_ascii res_mode in

F.linep sc "let rpc_%s : (%s,%s,%s,%s) Server.rpc = " name req req_mode res
F.linep sc "let %s : (%s,%s,%s,%s) Server.rpc = " name req req_mode res
res_mode;
F.linep sc " (Server.mk_rpc ~name:%S" rpc.rpc_name;
F.linep sc " ~req_mode:Server.%s" req_mode_witness;
Expand All @@ -149,6 +149,7 @@ let gen_service_server_struct (service : Ot.service) sc : unit =
in

let gen_server sc =
let rpc_parameter_name name = spf "__handler__%s" name in
F.line sc "open Pbrt_services";
List.iter (gen_rpc sc) service.service_body;

Expand All @@ -158,7 +159,7 @@ let gen_service_server_struct (service : Ot.service) sc : unit =
List.iter
(fun (rpc : Ot.rpc) ->
let name = Pb_codegen_util.function_name_of_rpc rpc in
F.linep sc " ~%s" name)
F.linep sc " ~%s:%s" name (rpc_parameter_name name))
service.service_body;
F.line sc " () : _ Server.t =";
F.linep sc " { Server.";
Expand All @@ -168,8 +169,8 @@ let gen_service_server_struct (service : Ot.service) sc : unit =
F.line sc " handlers=[";
List.iter
(fun (rpc : Ot.rpc) ->
let f = Pb_codegen_util.function_name_of_rpc rpc in
F.linep sc " (%s %s);" f (spf "rpc_%s" f))
let name = Pb_codegen_util.function_name_of_rpc rpc in
F.linep sc " (%s %s);" (rpc_parameter_name name) name)
service.service_body;
F.line sc " ];";
F.line sc " }"
Expand Down Expand Up @@ -242,8 +243,8 @@ let gen_service_sig (service : Ot.service) sc : unit =
let name = Pb_codegen_util.function_name_of_rpc rpc in
let req, req_mode = ocaml_type_of_rpc_type rpc.rpc_req in
let res, res_mode = ocaml_type_of_rpc_type rpc.rpc_res in
F.linep sc "val rpc_%s : (%s,%s,%s,%s) Server.rpc" name req
req_mode res res_mode)
F.linep sc "val %s : (%s,%s,%s,%s) Server.rpc" name req req_mode
res res_mode)
service.service_body);

F.line sc "end";
Expand Down
9 changes: 8 additions & 1 deletion src/compilerlib/pb_codegen_util.ml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,14 @@ let module_type_name_of_service_client (service : Ot.service) : string =
let module_type_name_of_service_server (service : Ot.service) : string =
String.uppercase_ascii service.service_name ^ "_SERVER"

let function_name_of_rpc (rpc : Ot.rpc) = String.uncapitalize_ascii rpc.rpc_name
let function_name_of_rpc_reserved_keywords_list = [ "make" ]

let function_name_of_rpc (rpc : Ot.rpc) =
let candidate = String.uncapitalize_ascii rpc.rpc_name in
if List.mem candidate function_name_of_rpc_reserved_keywords_list then
candidate ^ "_"
else
candidate

let caml_file_name_of_proto_file_name ~proto_file_name =
let splitted = Pb_util.rev_split_by_char '.' proto_file_name in
Expand Down

0 comments on commit 94bd3e1

Please sign in to comment.