lintel 0.2.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
lintel::SharedMemoryController Class Reference

#include <SharedMemoryController.h>

Inheritance diagram for lintel::SharedMemoryController:
lintel::Controller lintel::GroupProvider

Public Member Functions

 ADD_HANDLER_METHOD (R"(/shm/segments/([^\/]+))", Get, allSegmentsOf)
 
 ADD_HANDLER_METHOD (R"(/shm/segments/shrink/([^\/]+))", Put, shrinkSegmentOf)
 
 ADD_HANDLER_METHOD (R"(/shm/segments/grow/([^\/]+)/([^\/]+))", Put, growSegmentOf)
 
 ADD_HANDLER_METHOD (R"(/shm/repositories/([^\/]+)/([^\/]+))", Get, allRepositoriesOf)
 
 ADD_HANDLER_METHOD (R"(/shm/repository/([^\/]+))", Get, exportRepositoryOf)
 
 SharedMemoryController (const std::shared_ptr< IAuthService > &authServicie, std::shared_ptr< ISharedMemoryService > sharedMemoryService, std::shared_ptr< ISharedMemorySegmentManager > sharedMemorySegmentManager, std::vector< std::shared_ptr< SharedMemoryRepository > > sharedMemoryRepositories)
 
- Public Member Functions inherited from lintel::Controller
 Controller (std::shared_ptr< IAuthService > authService)
 
 ~Controller () override=default
 
void setTrustedProxies (std::vector< std::string > trustedProxies)
 
void registerMethods (std::shared_ptr< httplib::Server > &server)
 
- Public Member Functions inherited from lintel::GroupProvider
 GroupProvider ()=default
 
void add (const Group &group)
 
virtual ~GroupProvider ()=default
 
const std::vector< Group > & provide ()
 

Additional Inherited Members

- Protected Types inherited from lintel::Controller
enum  HttpType { Get , Put , Post , Delete }
 
using HandlerArgs = void(const httplib::Request &, httplib::Response &)
 
using HandlerWithContentReaderArgs = void(const httplib::Request &, httplib::Response &, const httplib::ContentReader &)
 
using Handler = std::function< HandlerArgs >
 
using HandlerWithContentReader = std::function< HandlerWithContentReaderArgs >
 
- Protected Member Functions inherited from lintel::Controller
std::string clientIpOf (const httplib::Request &request)
 
template<class Type , HttpType httpType>
Type addMethod (const std::string &pattern, Type handler)
 
- Static Protected Member Functions inherited from lintel::Controller
static PagingParams pagingParamsOf (const httplib::Request &request)
 
- Protected Attributes inherited from lintel::Controller
std::shared_ptr< IAuthService > m_authService
 
ClientIpResolver m_ipResolver
 
std::map< HttpType, std::vector< Method > > m_methods
 

Detailed Description

HTTP controller for shared memory segment and repository management

Constructor & Destructor Documentation

◆ SharedMemoryController()

lintel::SharedMemoryController::SharedMemoryController ( const std::shared_ptr< IAuthService > &  authServicie,
std::shared_ptr< ISharedMemoryService >  sharedMemoryService,
std::shared_ptr< ISharedMemorySegmentManager >  sharedMemorySegmentManager,
std::vector< std::shared_ptr< SharedMemoryRepository > >  sharedMemoryRepositories 
)

Member Function Documentation

◆ ADD_HANDLER_METHOD() [1/5]

lintel::SharedMemoryController::ADD_HANDLER_METHOD ( R"(/shm/repositories/([^\/]+)/([^\/]+))"  ,
Get  ,
allRepositoriesOf   
)

◆ ADD_HANDLER_METHOD() [2/5]

lintel::SharedMemoryController::ADD_HANDLER_METHOD ( R"(/shm/repository/([^\/]+))"  ,
Get  ,
exportRepositoryOf   
)

◆ ADD_HANDLER_METHOD() [3/5]

lintel::SharedMemoryController::ADD_HANDLER_METHOD ( R"(/shm/segments/([^\/]+))"  ,
Get  ,
allSegmentsOf   
)

◆ ADD_HANDLER_METHOD() [4/5]

lintel::SharedMemoryController::ADD_HANDLER_METHOD ( R"(/shm/segments/grow/([^\/]+)/([^\/]+))"  ,
Put  ,
growSegmentOf   
)

◆ ADD_HANDLER_METHOD() [5/5]

lintel::SharedMemoryController::ADD_HANDLER_METHOD ( R"(/shm/segments/shrink/([^\/]+))"  ,
Put  ,
shrinkSegmentOf   
)

The documentation for this class was generated from the following file: