-
Notifications
You must be signed in to change notification settings - Fork 14
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
Multiparty #176
base: master
Are you sure you want to change the base?
Multiparty #176
Conversation
…n to client immediately
Changed how servers reply to clients. It uses RPCCall instead of Unicast. This makes it easy to check for errors when logging. Also, refactored the broadcast processor to make it more readable.
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'm far from done, but I'm posting now three issues... I hope to get to this in the next few weeks.
logger *slog.Logger | ||
} | ||
|
||
func NewBroadcastManager(logger *slog.Logger, createClient func(addr string, dialOpts []grpc.DialOption) (*Client, error), canceler func(broadcastID uint64, srvAddrs []string), order map[string]int, dialTimeout, reqTTL time.Duration, shardBuffer, sendBuffer int, allowList map[string]string, dialOpts ...grpc.DialOption) Manager { |
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.
Too many arguments.
ServerOriginAddr string = "server" | ||
) | ||
|
||
type ServerHandler func(ctx context.Context, in protoreflect.ProtoMessage, broadcastID uint64, originAddr, originMethod string, options BroadcastOptions, id uint32, addr string, originDigest, originSignature []byte, originPubKey string) |
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.
Too many arguments.
"google.golang.org/protobuf/reflect/protoreflect" | ||
) | ||
|
||
type Manager interface { |
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.
Do we need an interface for this? We should be able to call the methods on the manager
struct itself. Also, feels like there are too many methods available on the manager type;
No description provided.