diff options
Diffstat (limited to 'zenserver/cidstore.h')
| -rw-r--r-- | zenserver/cidstore.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/zenserver/cidstore.h b/zenserver/cidstore.h new file mode 100644 index 000000000..8e7832b35 --- /dev/null +++ b/zenserver/cidstore.h @@ -0,0 +1,35 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include <zenhttp/httpserver.h> + +namespace zen { + +/** + * Simple CID store HTTP endpoint + * + * Note that since this does not end up pinning any of the chunks it's only really useful for a small subset of use cases where you know a + * chunk exists in the underlying CID store. Thus it's mainly useful for internal use when communicating between Zen store instances + * + * Using this interface for adding CID chunks makes little sense except for testing purposes as garbage collection may reap anything you add + * before anything ever gets to access it + */ + +class CidStore; + +class HttpCidService : public HttpService +{ +public: + explicit HttpCidService(CidStore& Store); + ~HttpCidService() = default; + + virtual const char* BaseUri() const override; + virtual void HandleRequest(zen::HttpServerRequest& Request) override; + +private: + CidStore& m_CidStore; + HttpRequestRouter m_Router; +}; + +} // namespace zen |