diff --git a/eth-rpc/server.nim b/eth-rpc/server.nim index 39253c2..264b5a2 100644 --- a/eth-rpc/server.nim +++ b/eth-rpc/server.nim @@ -165,6 +165,11 @@ proc stop*(server: RpcServer) = for item in server.servers: item.stop() +proc close*(server: RpcServer) = + ## Cleanup resources of RPC server. + for item in server.servers: + item.close() + # Server registration and RPC generation proc register*(server: RpcServer, name: string, rpc: RpcProc) = diff --git a/tests/testethcalls.nim b/tests/testethcalls.nim index f30deea..13d54a1 100644 --- a/tests/testethcalls.nim +++ b/tests/testethcalls.nim @@ -72,3 +72,6 @@ suite "Generated from signatures": check sigResults[0] == "Nimbus-RPC-Test" test "SHA3": check sigResults[1] == "0x47173285A8D7341E5E972FC677286384F802F8EF42A5EC5F03BBFA254CB01FAD" + +server.stop() +server.close() diff --git a/tests/testrpcmacro.nim b/tests/testrpcmacro.nim index 2388c31..539ea73 100644 --- a/tests/testrpcmacro.nim +++ b/tests/testrpcmacro.nim @@ -132,3 +132,6 @@ suite "Server types": # wrong param type let res = waitFor rpcDifferentParams(%[%"abc", %1]) # TODO: When errors are proper return values, check error for param name + +s.stop() +s.close() \ No newline at end of file diff --git a/tests/testserverclient.nim b/tests/testserverclient.nim index 5fdd918..4a7ab4e 100644 --- a/tests/testserverclient.nim +++ b/tests/testserverclient.nim @@ -15,4 +15,7 @@ waitFor client.connect("localhost", Port(8545)) suite "Server/Client RPC": test "Custom RPC": var r = waitFor client.call("myProc", %[%"abc", %[1, 2, 3, 4]]) - check r.result.getStr == "Hello abc data: [1, 2, 3, 4]" \ No newline at end of file + check r.result.getStr == "Hello abc data: [1, 2, 3, 4]" + +srv.stop() +srv.close()