sapling/eden/fs/service
David Tolnay 4a1a0d6284 Remove _types suffix from name of types crate
Summary:
The Rust Thrift implementation presently compiles to 4 crates:

```lang=mermaid
flowchart TD;
    foo --> foo-clients;
    foo --> foo-types;
    foo --> foo-services;
    foo-clients --> foo-types;
    foo-services --> foo-types;
```

Sadly, the one with the best name is the most useless. That top-level foo crate just contains the following:

```
pub use ::foo_types as types;
pub use ::foo_clients as client;
pub use ::foo_services as server;

pub use ::foo_types::consts;
pub use ::foo_types::errors;
pub use ::foo_types::services;
pub use ::foo_clients::mock;

pub use self::consts::*;
pub use self::errors::*;
pub use self::types::*;
```

Furthermore, it is extremely uncommon for anything to want to be both a client and a server of the *same* Thrift interface. It arises occasionally for proxies, but otherwise you are either implementing the server for a particular service, or accessing it as a client, not both.

I am interested in eliminating the useless crate, and renaming the types subcrate to the nice name.

```lang=mermaid
flowchart TD;
    foo-clients --> foo;
    foo-services --> foo;
```

### Implementation plan

1. This diff
2. Migrate everything that uses `:foo-rust` and needs a client to `:foo-rust-clients`, and everything that needs a server to `:foo-rust-services` -- after this point, everything still depending on `:foo-rust` only uses types
3. In the macros, atomically delete `:foo-rust` and rename `:foo-rust-types` into its place (this will be a small diff)

Reviewed By: zertosh, shayne-fletcher

Differential Revision: D53302058

fbshipit-source-id: 8d28c90f3a13e71e0cedd3ce3c1cb6fe40cffe27
2024-02-01 10:26:41 -08:00
..
clients Eliminate deps from clients to servers and vice versa 2024-02-01 07:14:06 -08:00
oss oss: remove Windows specific try/catch 2022-11-03 11:37:39 -07:00
services Eliminate deps from clients to servers and vice versa 2024-02-01 07:14:06 -08:00
test Remove explicit key 2023-12-04 10:03:02 -08:00
thrift_streaming Remove _types suffix from name of types crate 2024-02-01 10:26:41 -08:00
types Remove _types suffix from name of types crate 2024-02-01 10:26:41 -08:00
.gitignore watchman: pull in thrift in the oss build for eden support 2019-02-04 21:37:47 -08:00
Cargo.toml Move server traits to a separate crate 2024-01-29 19:35:06 -08:00
CMakeLists.txt fix getdeps build on Windows 2023-07-25 15:24:16 -07:00
eden.thrift fbcode/eden/ 2023-11-14 19:37:41 -08:00
EdenCPUThreadPool.cpp gflags: codemod our use of gflags to use folly/portability/GFlags.h 2022-06-16 13:43:57 -07:00
EdenCPUThreadPool.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
EdenInit.cpp allow consumption of /etc/eden/edenfs_cfgr.rc 2023-10-19 17:22:48 -07:00
EdenInit.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
EdenMain.cpp refactor FilteredBackingStore creation 2023-11-30 13:29:50 -08:00
EdenMain.h Add a possibility to configure the default blake3 key value 2023-06-23 14:58:01 -07:00
EdenServer.cpp support cloning a FilteredFS repo 2023-11-30 13:29:50 -08:00
EdenServer.h inodes: remove remaining QueuedImmediateExecutor from EdenMount 2023-11-07 11:18:21 -08:00
EdenServiceHandler.cpp bridge to mercurial for partial glob matching 2024-01-19 09:15:08 -08:00
EdenServiceHandler.h service: use VirtualInodeLoader for getBlake3 Thrift call 2023-10-23 09:47:08 -07:00
EdenStateDir.cpp better error message when eden fails to start flock 2023-12-06 15:21:09 -08:00
EdenStateDir.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
PeriodicTask.cpp break PeriodicTask's dependency on EdenServer 2023-05-11 15:06:37 -07:00
PeriodicTask.h break PeriodicTask's dependency on EdenServer 2023-05-11 15:06:37 -07:00
PrettyPrinters.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
PrettyPrinters.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
PrivHelperMain.cpp privhelper is no longer FUSE-specific, so move it to fs/ 2023-05-11 18:29:21 -07:00
StartupLogger.cpp eden (-8536898070263054920) 2023-10-14 03:37:10 -07:00
StartupLogger.h expose startup status on thrift server 2023-01-27 15:48:56 -08:00
StartupStatusSubscriber.cpp create StartupStatusSubscriber 2022-12-09 11:42:07 -08:00
StartupStatusSubscriber.h create StartupStatusSubscriber 2022-12-09 11:42:07 -08:00
streamingeden.thrift bridge to mercurial for partial glob matching 2024-01-19 09:15:08 -08:00
TARGETS bridge to mercurial for partial glob matching 2024-01-19 09:15:08 -08:00
thrift_build.rs Move server traits to a separate crate 2024-01-29 19:35:06 -08:00
thrift_lib.rs move autocargo up one level (#101) 2022-02-08 06:07:52 -08:00
ThriftGetObjectImpl.cpp rename getBlobFromOrigin 2023-01-27 14:35:09 -08:00
ThriftGetObjectImpl.h rename getBlobFromOrigin 2023-01-27 14:35:09 -08:00
ThriftGlobImpl.cpp fully separate GlobNode and GlobTree 2023-10-10 14:54:13 -07:00
ThriftGlobImpl.h fully separate GlobNode and GlobTree 2023-10-10 14:54:13 -07:00
ThriftPermissionChecker.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ThriftPermissionChecker.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ThriftStreamStartupStatusSubscriber.cpp introduce ThriftStreamStartupStatusSubscriber 2023-01-03 11:02:09 -08:00
ThriftStreamStartupStatusSubscriber.h introduce ThriftStreamStartupStatusSubscriber 2023-01-03 11:02:09 -08:00
ThriftUtil.cpp remove all but one inclusion of folly/String.h in headers 2023-05-11 11:10:01 -07:00
ThriftUtil.h ThriftUtil to support blake3 2023-06-05 23:41:35 -07:00
UsageService.cpp clang-tidy advice 2023-07-13 16:30:55 -07:00
UsageService.h remove some ifdefs by introducing a platform-independent UsageService class 2023-05-17 19:16:48 -07:00