Documentation ¶
Overview ¶
Package vtworkerclient contains the generic client side of the remote vtworker protocol.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterFactory ¶
RegisterFactory allows a client implementation to register itself.
func RunCommandAndWait ¶
func RunCommandAndWait(ctx context.Context, server string, args []string, recv func(*logutilpb.Event)) error
RunCommandAndWait executes a single command on a given vtworker and blocks until the command did return or timed out. Output from vtworker is streamed as logutil.Event messages which have to be consumed by the caller who has to specify a "recv" function.
func UnregisterFactoryForTest ¶
func UnregisterFactoryForTest(name string)
UnregisterFactoryForTest allows to unregister a client implementation from the static map. This function is used by unit tests to cleanly unregister any fake implementations. This way, a test package can use the same name for different fakes and no dangling fakes are left behind in the static factories map after the test.
Types ¶
type Client ¶
type Client interface { // ExecuteVtworkerCommand will execute the command remotely. // NOTE: ErrFunc should only be checked after the returned channel was closed to avoid races. ExecuteVtworkerCommand(ctx context.Context, args []string) (<-chan *logutilpb.Event, ErrFunc, error) // Close will terminate the connection. This object won't be // used after this. Close() }
Client defines the interface used to send remote vtworker commands