diff --git a/README.md b/README.md index 64e66fa..db14f2a 100644 Binary files a/README.md and b/README.md differ diff --git a/docs/release-notes/v0.0.0.md b/docs/release-notes/v0.0.0.md index dc31157..e8e8e30 100644 --- a/docs/release-notes/v0.0.0.md +++ b/docs/release-notes/v0.0.0.md @@ -10,7 +10,8 @@ Version 0.0.0 focuses on a simple API, core stability, and robust quality contro - [2. Architectural & Usability Enhancements](#2-architectural--usability-enhancements) - [3. Stability and Quality Assurance](#3-stability-and-quality-assurance) - [4. Scope Clarification](#4-scope-clarification) -- [5. A History of Closed Issues to reach V0.0.0](#5-a-history-of-closed-issues-to-reach-v000) +- [5. Expansion Possibilities](#5-expansion-possibilities) +- [6. A History of Closed Issues to reach V0.0.0](#5-a-history-of-closed-issues-to-reach-v000) ## 1. Features - **Simple API** for exposing and calling remote procedures. @@ -44,8 +45,12 @@ Version 0.0.0 focuses on a simple API, core stability, and robust quality contro ## 4. Scope Clarification Protocol Adherence: In this version, the project has consciously decided not to strictly adhere to RFC 1057 (Sun RPC).
SRPC is positioned as a prototyping and academic library rather than a production-ready system, allowing for faster
development and distributed systems principles. +## 5. Expansion Possibilities +- ***Performance Benchmarking*** — Implement comprehensive tests and metrics
(e.g., latency, throughput, resource utilization) to enable users to evaluate real-world behavior. +- ***Security Review*** — Analysis of serialization, transport layers, failure modes, in order to turn the library for broader deployment. +- ***Authentication & Authorization Layers*** — Provide mechanisms for authentication and access control, enabling secure RPC -## 5. A History of Closed Issues to reach V0.0.0 +## 6. A History of Closed Issues to reach V0.0.0 This timeline reflects the project's maturation from its early stages to a more robust and organized state. ### Phase I: Addressing Core Stability and Infrastructure (May–August 2025) @@ -117,7 +122,33 @@ changing the name from 'rpc' to 'srpc' (Simple RPC) in both library and generate #### Issue #11: Encapsulate the binder logic inside server-stub (Completed: October 14, 2025): This was a major usability enhancement. The logic for managing the server binder (thread, start, stop)
was fully encapsulated within the generated `SrpcServerStub`. This simplified the user's server setup significantly,
-reducing initialization to the elegant, single-line form: +reducing initialization to the elegant, single-line form: + +***Before*** +```python +# rpc_server.py +from Rpc_Server_Binder import RpcServerBinder +from Calc_rpc_server_stub import RpcServerStub # from _rpc_server_stub import RpcServerStub +import threading + +HOST = "localhost" +server_stub = RpcServerStub(HOST) +binder = RpcServerBinder(HOST) + +binder_thread = threading.Thread(target=binder.start_binder, name="binder_thread", daemon=True) +binder_thread.start() + +server_stub.start() +input("Server started, press any key to stop...") +binder.stop() +server_stub.stop() +``` + +***After*** ```python -my_calc_srpc_server = SrpcServerStub() +# server.py +from srpc_calc_server_stub import SrpcCalcServerStub + +calcServerStub = SrpcCalcServerStub() +calcServerStub.start() ``` \ No newline at end of file