# context_server: Abstract server transport \(\#24528\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/f11357db7ca457518a1ad71fa7fc9479cb98fa8e)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: f11357db7ca457518a1ad71fa7fc9479cb98fa8e

Requested commit: f11357db7ca457518a1ad71fa7fc9479cb98fa8e

Commit: f11357db7ca457518a1ad71fa7fc9479cb98fa8e

Tree: f656a9286df502e27d3b58a70777bb87aa082d3c

Author: Federico Dionisi

Committer: GitHub

## Message

```
context_server: Abstract server transport (#24528)

This PR abstracts the communication layer for context servers, laying
the groundwork for supporting multiple transport mechanisms and taking
one step towards enabling remote servers.

Key changes centre around creating a new `Transport` trait with methods
for sending and receiving messages. I've implemented this trait for the
existing stdio-based communication, which is now encapsulated in a
`StdioTransport` struct. The `Client` struct has been refactored to use
this new `Transport` trait instead of directly managing stdin and
stdout.

The next steps will involve implementing an SSE + HTTP transport and
defining alternative context server settings for remote servers.

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>
```

## Parents

- [6d17546b1aa4882f1ecb707cadb387664ce299a0](https://git.cafe/gitcafe/zed/commit/6d17546b1aa4882f1ecb707cadb387664ce299a0?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/f11357db7ca457518a1ad71fa7fc9479cb98fa8e?format=markdown)
