-
Notifications
You must be signed in to change notification settings - Fork 99
gsoc containing json serialization handler and dubbo codec #51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Pull Request SummaryThis pull request includes the complete implementation based on previous discussions and feedback. It also incorporates suggestions from @cnzakii, who has been mentoring and guiding the direction. 🔑 Key Highlights
self.users_db = [
User(
id=1,
name="Alice",
email="[email protected]",
age=30,
login_history=[
LoginRecord(timestamp=datetime.utcnow() - timedelta(days=1), ip_address="192.168.1.10"),
LoginRecord(timestamp=datetime.utcnow(), ip_address="192.168.1.11")
],
meta=UserMeta(tags=frozenset(["admin", "beta"]), scores=(88, 92, 85))
),
User(
id=2,
name="Bob",
email="[email protected]",
age=25,
login_history=[
LoginRecord(timestamp=datetime.utcnow() - timedelta(hours=2), ip_address="192.168.1.20")
],
meta=UserMeta(tags=frozenset(["tester"]), scores=(75, 80, 70))
)
] |
@cnzakii check this out |
@cnzakii in this repo i have a code from which i run the server and client |
src/dubbo/classes.py
Outdated
|
||
from typing import Any, Callable, Optional, Union,Type | ||
from abc import ABC, abstractmethod | ||
from pydantic import BaseModel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This place will still cause strong dependency on pydantic
ModelT = TypeVar('ModelT', bound=BaseModel) | ||
|
||
|
||
class CustomJSONEncoder(json.JSONEncoder): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add high-coverage unit tests to validate your code.
arg_serialization=(request_serializer, None), | ||
return_serialization=(None, response_deserializer), | ||
rpc_type=RpcTypes.CLIENT_STREAM.value, | ||
""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also hope to see the implementation on the server side
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cnzakii
If you don't mind can you explain me about this
like most of the work of server can be handle by the rpc handler
or
Am i missing something ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can review the proposal I sent in Slack, which also contains the corresponding Server interface design. You should also implement the construction method descriptors on the Server side, select the serialization method, and so on.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok
Now i understand
Thx for clarification
@cnzakii |
@aditya0yadav While it lacks some generality, the overall work is good. Please make optimizations based on my comments, complete the remaining tasks, and submit the relevant code. |
@cnzakii ok sir |
@cnzakii, then there's no need for an RPC method handler, right? |
@cnzakii |
@cnzakii Please check out the pull request , sir |
What is the purpose of the change
ISSUE: #issue_number
Brief changelog
Verifying this change
Checklist