mirror of
https://github.com/coder/coder.git
synced 2025-07-15 22:20:27 +00:00
chore: rename client Listen to ConnectRPC (#11916)
ConnectRPC seems more appropriate for this function
This commit is contained in:
@ -88,7 +88,7 @@ type Options struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Client interface {
|
type Client interface {
|
||||||
Listen(ctx context.Context) (drpc.Conn, error)
|
ConnectRPC(ctx context.Context) (drpc.Conn, error)
|
||||||
ReportStats(ctx context.Context, log slog.Logger, statsChan <-chan *agentsdk.Stats, setInterval func(time.Duration)) (io.Closer, error)
|
ReportStats(ctx context.Context, log slog.Logger, statsChan <-chan *agentsdk.Stats, setInterval func(time.Duration)) (io.Closer, error)
|
||||||
PostLifecycle(ctx context.Context, state agentsdk.PostLifecycleRequest) error
|
PostLifecycle(ctx context.Context, state agentsdk.PostLifecycleRequest) error
|
||||||
PostMetadata(ctx context.Context, req agentsdk.PostMetadataRequest) error
|
PostMetadata(ctx context.Context, req agentsdk.PostMetadataRequest) error
|
||||||
@ -691,8 +691,8 @@ func (a *agent) run(ctx context.Context) error {
|
|||||||
}
|
}
|
||||||
a.sessionToken.Store(&sessionToken)
|
a.sessionToken.Store(&sessionToken)
|
||||||
|
|
||||||
// Listen returns the dRPC connection we use for the Agent v2+ API
|
// ConnectRPC returns the dRPC connection we use for the Agent and Tailnet v2+ APIs
|
||||||
conn, err := a.client.Listen(ctx)
|
conn, err := a.client.ConnectRPC(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -99,7 +99,7 @@ func (c *Client) Close() {
|
|||||||
c.derpMapOnce.Do(func() { close(c.derpMapUpdates) })
|
c.derpMapOnce.Do(func() { close(c.derpMapUpdates) })
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) Listen(ctx context.Context) (drpc.Conn, error) {
|
func (c *Client) ConnectRPC(ctx context.Context) (drpc.Conn, error) {
|
||||||
conn, lis := drpcsdk.MemTransportPipe()
|
conn, lis := drpcsdk.MemTransportPipe()
|
||||||
c.LastWorkspaceAgent = func() {
|
c.LastWorkspaceAgent = func() {
|
||||||
_ = conn.Close()
|
_ = conn.Close()
|
||||||
|
@ -319,7 +319,7 @@ func TestWorkspaceAgentLogs(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestWorkspaceAgentListen(t *testing.T) {
|
func TestWorkspaceAgentConnectRPC(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
t.Run("Connect", func(t *testing.T) {
|
t.Run("Connect", func(t *testing.T) {
|
||||||
@ -400,7 +400,7 @@ func TestWorkspaceAgentListen(t *testing.T) {
|
|||||||
agentClient := agentsdk.New(client.URL)
|
agentClient := agentsdk.New(client.URL)
|
||||||
agentClient.SetSessionToken(authToken)
|
agentClient.SetSessionToken(authToken)
|
||||||
|
|
||||||
_, err = agentClient.Listen(ctx)
|
_, err = agentClient.ConnectRPC(ctx)
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
var sdkErr *codersdk.Error
|
var sdkErr *codersdk.Error
|
||||||
require.ErrorAs(t, err, &sdkErr)
|
require.ErrorAs(t, err, &sdkErr)
|
||||||
@ -500,7 +500,7 @@ func TestWorkspaceAgentTailnetDirectDisabled(t *testing.T) {
|
|||||||
// Verify that the manifest has DisableDirectConnections set to true.
|
// Verify that the manifest has DisableDirectConnections set to true.
|
||||||
agentClient := agentsdk.New(client.URL)
|
agentClient := agentsdk.New(client.URL)
|
||||||
agentClient.SetSessionToken(r.AgentToken)
|
agentClient.SetSessionToken(r.AgentToken)
|
||||||
rpc, err := agentClient.Listen(ctx)
|
rpc, err := agentClient.ConnectRPC(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
defer func() {
|
defer func() {
|
||||||
cErr := rpc.Close()
|
cErr := rpc.Close()
|
||||||
@ -830,7 +830,7 @@ func TestWorkspaceAgentAppHealth(t *testing.T) {
|
|||||||
|
|
||||||
agentClient := agentsdk.New(client.URL)
|
agentClient := agentsdk.New(client.URL)
|
||||||
agentClient.SetSessionToken(r.AgentToken)
|
agentClient.SetSessionToken(r.AgentToken)
|
||||||
conn, err := agentClient.Listen(ctx)
|
conn, err := agentClient.ConnectRPC(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
defer func() {
|
defer func() {
|
||||||
cErr := conn.Close()
|
cErr := conn.Close()
|
||||||
@ -1129,7 +1129,7 @@ func TestWorkspaceAgent_Metadata(t *testing.T) {
|
|||||||
agentClient.SetSessionToken(r.AgentToken)
|
agentClient.SetSessionToken(r.AgentToken)
|
||||||
|
|
||||||
ctx := testutil.Context(t, testutil.WaitMedium)
|
ctx := testutil.Context(t, testutil.WaitMedium)
|
||||||
conn, err := agentClient.Listen(ctx)
|
conn, err := agentClient.ConnectRPC(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
defer func() {
|
defer func() {
|
||||||
cErr := conn.Close()
|
cErr := conn.Close()
|
||||||
@ -1307,7 +1307,7 @@ func TestWorkspaceAgent_Metadata_CatchMemoryLeak(t *testing.T) {
|
|||||||
agentClient.SetSessionToken(r.AgentToken)
|
agentClient.SetSessionToken(r.AgentToken)
|
||||||
|
|
||||||
ctx, cancel := context.WithCancel(testutil.Context(t, testutil.WaitSuperLong))
|
ctx, cancel := context.WithCancel(testutil.Context(t, testutil.WaitSuperLong))
|
||||||
conn, err := agentClient.Listen(ctx)
|
conn, err := agentClient.ConnectRPC(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
defer func() {
|
defer func() {
|
||||||
cErr := conn.Close()
|
cErr := conn.Close()
|
||||||
@ -1669,7 +1669,7 @@ func requireGetManifest(ctx context.Context, t testing.TB, aAPI agentproto.DRPCA
|
|||||||
}
|
}
|
||||||
|
|
||||||
func postStartup(ctx context.Context, t testing.TB, client agent.Client, startup *agentproto.Startup) error {
|
func postStartup(ctx context.Context, t testing.TB, client agent.Client, startup *agentproto.Startup) error {
|
||||||
conn, err := client.Listen(ctx)
|
conn, err := client.ConnectRPC(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
defer func() {
|
defer func() {
|
||||||
cErr := conn.Close()
|
cErr := conn.Close()
|
||||||
|
@ -398,7 +398,7 @@ func createWorkspaceWithApps(t *testing.T, client *codersdk.Client, orgID uuid.U
|
|||||||
primaryAppHost, err := client.AppHost(appHostCtx)
|
primaryAppHost, err := client.AppHost(appHostCtx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
if primaryAppHost.Host != "" {
|
if primaryAppHost.Host != "" {
|
||||||
rpcConn, err := agentClient.Listen(appHostCtx)
|
rpcConn, err := agentClient.ConnectRPC(appHostCtx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
aAPI := agentproto.NewDRPCAgentClient(rpcConn)
|
aAPI := agentproto.NewDRPCAgentClient(rpcConn)
|
||||||
manifest, err := aAPI.GetManifest(appHostCtx, &agentproto.GetManifestRequest{})
|
manifest, err := aAPI.GetManifest(appHostCtx, &agentproto.GetManifestRequest{})
|
||||||
|
@ -171,9 +171,8 @@ func (c *Client) RewriteDERPMap(derpMap *tailcfg.DERPMap) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Listen connects to the workspace agent API WebSocket
|
// ConnectRPC connects to the workspace agent API and tailnet API
|
||||||
// that handles connection negotiation.
|
func (c *Client) ConnectRPC(ctx context.Context) (drpc.Conn, error) {
|
||||||
func (c *Client) Listen(ctx context.Context) (drpc.Conn, error) {
|
|
||||||
rpcURL, err := c.SDK.URL.Parse("/api/v2/workspaceagents/me/rpc")
|
rpcURL, err := c.SDK.URL.Parse("/api/v2/workspaceagents/me/rpc")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Errorf("parse url: %w", err)
|
return nil, xerrors.Errorf("parse url: %w", err)
|
||||||
@ -210,7 +209,7 @@ func (c *Client) Listen(ctx context.Context) (drpc.Conn, error) {
|
|||||||
netConn := &closeNetConn{
|
netConn := &closeNetConn{
|
||||||
Conn: wsNetConn,
|
Conn: wsNetConn,
|
||||||
closeFunc: func() {
|
closeFunc: func() {
|
||||||
_ = conn.Close(websocket.StatusGoingAway, "Listen closed")
|
_ = conn.Close(websocket.StatusGoingAway, "ConnectRPC closed")
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
config := yamux.DefaultConfig()
|
config := yamux.DefaultConfig()
|
||||||
|
@ -176,7 +176,7 @@ func TestServiceBanners(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func requireGetServiceBanner(ctx context.Context, t *testing.T, client *agentsdk.Client) codersdk.ServiceBannerConfig {
|
func requireGetServiceBanner(ctx context.Context, t *testing.T, client *agentsdk.Client) codersdk.ServiceBannerConfig {
|
||||||
cc, err := client.Listen(ctx)
|
cc, err := client.ConnectRPC(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
defer func() {
|
defer func() {
|
||||||
_ = cc.Close()
|
_ = cc.Close()
|
||||||
|
Reference in New Issue
Block a user