447e086422f1ab7cc16833583ed70a4af7a84bc5Timo Sirainen#ifndef REPLICATOR_BRAIN_H
447e086422f1ab7cc16833583ed70a4af7a84bc5Timo Sirainen#define REPLICATOR_BRAIN_H
447e086422f1ab7cc16833583ed70a4af7a84bc5Timo Sirainen
447e086422f1ab7cc16833583ed70a4af7a84bc5Timo Sirainenstruct replicator_settings;
2e08b126fd1a168c993b1c8c0d1211da236ff604Timo Sirainenstruct replicator_queue;
447e086422f1ab7cc16833583ed70a4af7a84bc5Timo Sirainen
447e086422f1ab7cc16833583ed70a4af7a84bc5Timo Sirainenstruct replicator_brain *
447e086422f1ab7cc16833583ed70a4af7a84bc5Timo Sirainenreplicator_brain_init(struct replicator_queue *queue,
447e086422f1ab7cc16833583ed70a4af7a84bc5Timo Sirainen const struct replicator_settings *set);
447e086422f1ab7cc16833583ed70a4af7a84bc5Timo Sirainenvoid replicator_brain_deinit(struct replicator_brain **brain);
447e086422f1ab7cc16833583ed70a4af7a84bc5Timo Sirainen
2e08b126fd1a168c993b1c8c0d1211da236ff604Timo Sirainenstruct replicator_queue *
2e08b126fd1a168c993b1c8c0d1211da236ff604Timo Sirainenreplicator_brain_get_queue(struct replicator_brain *brain);
2e08b126fd1a168c993b1c8c0d1211da236ff604Timo Sirainenconst struct replicator_settings *
2e08b126fd1a168c993b1c8c0d1211da236ff604Timo Sirainenreplicator_brain_get_settings(struct replicator_brain *brain);
2e08b126fd1a168c993b1c8c0d1211da236ff604Timo Sirainen
2e08b126fd1a168c993b1c8c0d1211da236ff604Timo Sirainenconst ARRAY_TYPE(dsync_client) *
2e08b126fd1a168c993b1c8c0d1211da236ff604Timo Sirainenreplicator_brain_get_dsync_clients(struct replicator_brain *brain);
2e08b126fd1a168c993b1c8c0d1211da236ff604Timo Sirainen
447e086422f1ab7cc16833583ed70a4af7a84bc5Timo Sirainen#endif