-
Notifications
You must be signed in to change notification settings - Fork 186
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
Relay Client #875
Relay Client #875
Conversation
@@ -8,7 +8,6 @@ import ( | |||
grpcnode "github.com/Layr-Labs/eigenda/api/grpc/node" | |||
"github.com/Layr-Labs/eigenda/core" | |||
"github.com/Layr-Labs/eigenda/encoding" | |||
"github.com/Layr-Labs/eigenda/node" |
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.
moved some methods from node/utils.go
to core/serialization.go
to prevent this client from importing node
package
113b4c6
to
c6da8ce
Compare
36bd63b
to
1cd6570
Compare
api/clients/relay_client.go
Outdated
|
||
type ChunkRequestByIndex struct { | ||
BlobKey corev2.BlobKey | ||
Indexes []uint32 |
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.
nit: indices?
// GetChunksByRange retrieves blob chunks from a relay by chunk index range | ||
// The returned slice has the same length and ordering as the input slice, and the i-th element is the bundle for the i-th request. | ||
// Each bundle is a sequence of frames in raw form (i.e., serialized core.Bundle bytearray). | ||
GetChunksByRange(ctx context.Context, relayKey corev2.RelayKey, requests []*ChunkRequestByRange) ([][]byte, error) |
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.
Should this client handle deserialization?
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.
It's intentionally left serialized so that caller can use the serialized bytes without serializing it again. (node can directly store the bytearrays without the overhead of serializing them again)
1cd6570
to
e4ed0aa
Compare
Why are these changes needed?
Scaffold implementation of client that talks to a set of relay services.
A follow up PR will handle gRPC calls when the interface has been finalized and merged
Checks