1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-06-21 12:48:58 +00:00
seafile-server/controller/seafile-controller.h

61 lines
1.3 KiB
C
Raw Normal View History

2016-08-10 06:53:33 +00:00
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* Seafile-controller is responsible for:
*
* 1. Start: start server processes:
*
* - ccnet-server
* - seaf-server
* - seaf-mon
*
* 2. Repair:
*
* - ensure ccnet process availability by watching client->connfd
* - ensure server processes availablity by checking process is running periodically
* If some process has stopped working, try to restart it.
*
*/
#ifndef SEAFILE_CONTROLLER_H
#define SEAFILE_CONTROLLER_H
typedef struct _SeafileController SeafileController;
enum {
PID_CCNET = 0,
PID_SERVER,
PID_FILESERVER,
2016-08-10 06:53:33 +00:00
PID_SEAFDAV,
2019-01-08 10:03:04 +00:00
PID_SEAFEVENTS,
2016-08-10 06:53:33 +00:00
N_PID
};
typedef struct SeafDavConfig {
gboolean enabled;
int port;
char *host;
} SeafDavConfig;
struct _SeafileController {
char *central_config_dir;
char *config_dir;
char *seafile_dir;
char *rpc_pipe_path;
2016-08-10 06:53:33 +00:00
char *logdir;
guint check_process_timer;
guint client_io_id;
/* Decide whether to start seaf-server in cloud mode */
gboolean cloud_mode;
int pid[N_PID];
char *pidfile[N_PID];
SeafDavConfig seafdav_config;
2019-01-08 10:03:04 +00:00
gboolean has_seafevents;
2016-08-10 06:53:33 +00:00
};
#endif