Skip to content
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

Add clients #17

Open
LimpidCrypto opened this issue Jul 30, 2022 · 1 comment · Fixed by #70
Open

Add clients #17

LimpidCrypto opened this issue Jul 30, 2022 · 1 comment · Fixed by #70
Assignees
Labels
1st month Planned to be worked on in the first month. Estimate budget: 13,333 $ 2nd month Planned to be worked on in the second month. Estimate budget: 6,666 $ enhancement New feature or request XRPL Grants This issue is planned to get resoled as part of the XRPL Grants program (within 8 months)
Milestone

Comments

@LimpidCrypto
Copy link
Collaborator

LimpidCrypto commented Jul 30, 2022

Clients:

WebsocketClient

std

Crates

DNS

The tokio crate provides dns lookup functionalities.

TLS

The crate tokio-rustls can be used to establish secure connections.

Networking

The crate embedded-websocket provides all functionalities for opening a websocket connection and sending/receiving messages through that connection. It takes a TcpStream to establish a connection.

no_std

Crates

DNS

TLS

The crate embedded-tls to establish secure connections.

Networking

JsonRpcClient

std

Crates

DNS

The tokio crate provides dns lookup functionalities we're using when the std feature is enabled.

TLS

The crate tokio-rustls can be used to establish secure connections.

Networking

The crate reqwless is used for HttpClient to send JsonRpc requests. It takes a TcpStream to establish a connection.

no_std

Crates

DNS

TLS

Networking

The crate reqwless is used for HttpClient to send JsonRpc requests. It takes a TcpStream to establish a connection.

Features

  • dns
  • tls

Traits

Client

_request_impl

An asynchronous driver for a given request.

AsyncClient

request

An asynchronous method which by default simply awaits the Client._request_impl method.

WebsocketBase

is_open

Checks if the websocket client is open.

_set_up_future

This method is to ensure that a request with an ID is backed by an open future.

_handler

An asynchronous method to resolve any outstanding futures for all messages we are receiving and push it to the message queue.

_do_open

An asynchronous method to connect to the host. It also sets the message queue and polls the _handler task.

_do_close

An asynchronous method to close the connection between the client and the host. It cancels the _handler task and any open request futures. We also clear the message queue here and finally close the connection.

_do_send

An asynchronous method which creates a future for the given request and then sends the request.

_do_request_impl

An asynchronous method that injects an ID into a request if the user haven't provided one. It then sends the request and waits for the future to be resolved to return the response.

@LimpidCrypto LimpidCrypto self-assigned this Jul 30, 2022
@LimpidCrypto
Copy link
Collaborator Author

Discussion: #14 (comment)

@LimpidCrypto LimpidCrypto added this to the Month 1 milestone Aug 30, 2022
@LimpidCrypto LimpidCrypto changed the title Add clients and Response struct Add clients Aug 30, 2022
@LimpidCrypto LimpidCrypto modified the milestones: Month 1, Add clients Sep 2, 2022
@LimpidCrypto LimpidCrypto added 1st month Planned to be worked on in the first month. Estimate budget: 13,333 $ 2nd month Planned to be worked on in the second month. Estimate budget: 6,666 $ XRPL Grants This issue is planned to get resoled as part of the XRPL Grants program (within 8 months) labels Sep 2, 2022
@LimpidCrypto LimpidCrypto linked a pull request May 15, 2023 that will close this issue
4 tasks
@LimpidCrypto LimpidCrypto linked a pull request Aug 14, 2023 that will close this issue
2 tasks
Repository owner deleted a comment from katsavav Feb 5, 2024
@github-staff github-staff deleted a comment from wenxingxing Mar 22, 2024
@LimpidCrypto LimpidCrypto mentioned this issue Jun 13, 2024
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1st month Planned to be worked on in the first month. Estimate budget: 13,333 $ 2nd month Planned to be worked on in the second month. Estimate budget: 6,666 $ enhancement New feature or request XRPL Grants This issue is planned to get resoled as part of the XRPL Grants program (within 8 months)
Projects
Status: 🏗 In progress
1 participant