Skip to content

Commit 7e55dce

Browse files
committed
chore: remove transport negotiation
1 parent 37a14b8 commit 7e55dce

File tree

5 files changed

+10
-49
lines changed

5 files changed

+10
-49
lines changed

docs/concepts/interacting-with-actors.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,6 @@ Other common errors you might encounter:
569569

570570
- `InternalError`: Error from your actor that's not a subclass of `UserError`
571571
- `ManagerError`: Issues when connecting to or communicating with the actor manager
572-
- `NoSupportedTransport`: When the client and server have no compatible transport
573572

574573
## Disconnecting and Cleanup
575574

packages/actor-core/src/client/actor_conn.ts

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,7 @@ export class ActorConnRaw {
116116
private readonly endpoint: string,
117117
private readonly params: unknown,
118118
private readonly encodingKind: Encoding,
119-
private readonly supportedTransports: Transport[],
120-
private readonly serverTransports: Transport[],
119+
private readonly transport: Transport,
121120
private readonly actorQuery: ActorQuery,
122121
) {
123122
this.#keepNodeAliveInterval = setInterval(() => 60_000);
@@ -349,13 +348,12 @@ enc
349348
this.#onOpenPromise = Promise.withResolvers();
350349

351350
// Connect transport
352-
const transport = this.#pickTransport();
353-
if (transport === "websocket") {
351+
if (this.transport === "websocket") {
354352
this.#connectWebSocket();
355-
} else if (transport === "sse") {
353+
} else if (this.transport === "sse") {
356354
this.#connectSse();
357355
} else {
358-
assertUnreachable(transport);
356+
assertUnreachable(this.transport);
359357
}
360358

361359
// Wait for result
@@ -365,19 +363,6 @@ enc
365363
}
366364
}
367365

368-
#pickTransport(): Transport {
369-
// Choose first supported transport from server's list that client also supports
370-
const transport = this.serverTransports.find((t) =>
371-
this.supportedTransports.includes(t),
372-
);
373-
374-
if (!transport) {
375-
throw new errors.NoSupportedTransport();
376-
}
377-
378-
return transport;
379-
}
380-
381366
#connectWebSocket() {
382367
const { WebSocket } = this.#dynamicImports;
383368

packages/actor-core/src/client/client.ts

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export interface ActorAccessor<AD extends AnyActorDefinition> {
6363
*/
6464
export interface ClientOptions {
6565
encoding?: Encoding;
66-
supportedTransports?: Transport[];
66+
transport?: Transport;
6767
}
6868

6969
/**
@@ -140,7 +140,7 @@ export class ClientRaw {
140140

141141
#managerEndpoint: string;
142142
#encodingKind: Encoding;
143-
#supportedTransports: Transport[];
143+
#transport: Transport;
144144

145145
/**
146146
* Creates an instance of Client.
@@ -153,10 +153,7 @@ export class ClientRaw {
153153
this.#managerEndpoint = managerEndpoint;
154154

155155
this.#encodingKind = opts?.encoding ?? "cbor";
156-
this.#supportedTransports = opts?.supportedTransports ?? [
157-
"websocket",
158-
"sse",
159-
];
156+
this.#transport = opts?.transport ?? "websocket";
160157
}
161158

162159
/**
@@ -185,12 +182,7 @@ export class ClientRaw {
185182
};
186183

187184
const managerEndpoint = this.#managerEndpoint;
188-
const conn = this.#createConn(
189-
managerEndpoint,
190-
opts?.params,
191-
["websocket", "sse"],
192-
actorQuery,
193-
);
185+
const conn = this.#createConn(managerEndpoint, opts?.params, actorQuery);
194186
return this.#createProxy(conn) as ActorConn<AD>;
195187
}
196188

@@ -261,7 +253,6 @@ export class ClientRaw {
261253
const conn = this.#createConn(
262254
managerEndpoint,
263255
opts?.params,
264-
["websocket", "sse"],
265256
actorQuery,
266257
);
267258
return this.#createProxy(conn) as ActorConn<AD>;
@@ -324,28 +315,21 @@ export class ClientRaw {
324315
};
325316

326317
const managerEndpoint = this.#managerEndpoint;
327-
const conn = this.#createConn(
328-
managerEndpoint,
329-
opts?.params,
330-
["websocket", "sse"],
331-
actorQuery,
332-
);
318+
const conn = this.#createConn(managerEndpoint, opts?.params, actorQuery);
333319
return this.#createProxy(conn) as ActorConn<AD>;
334320
}
335321

336322
#createConn(
337323
endpoint: string,
338324
params: unknown,
339-
serverTransports: Transport[],
340325
actorQuery: ActorQuery,
341326
): ActorConnRaw {
342327
const conn = new ActorConnRaw(
343328
this,
344329
endpoint,
345330
params,
346331
this.#encodingKind,
347-
this.#supportedTransports,
348-
serverTransports,
332+
this.#transport,
349333
actorQuery,
350334
);
351335
this[ACTOR_CONNS_SYMBOL].add(conn);

packages/actor-core/src/client/errors.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,6 @@ export class MalformedResponseMessage extends ActorClientError {
2424
}
2525
}
2626

27-
export class NoSupportedTransport extends ActorClientError {
28-
constructor() {
29-
super("No supported transport available between client and server");
30-
}
31-
}
32-
3327
export class ActionError extends ActorClientError {
3428
constructor(
3529
public readonly code: string,

packages/actor-core/src/client/mod.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ export {
2424
ManagerError,
2525
ConnParamsTooLong,
2626
MalformedResponseMessage,
27-
NoSupportedTransport,
2827
ActionError,
2928
ConnectionError,
3029
} from "@/client/errors";

0 commit comments

Comments
 (0)