diff options
author | Andrew Tridgell <tridge@samba.org> | 2009-09-14 13:24:07 -0700 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2009-09-14 13:24:07 -0700 |
commit | 5464ce6df678a6ce3022f4a30fd9553996cefb69 (patch) | |
tree | 86982aa8eda44b0de296f46171fdebb9a4be8597 /source4/dsdb/repl/drepl_service.h | |
parent | 72fcc6344f1ddfece4dd41790fc1add9c6d2c0f7 (diff) | |
parent | 3dd404abad878fa7e760ba50ce84fc80b82ea159 (diff) | |
download | samba-5464ce6df678a6ce3022f4a30fd9553996cefb69.tar.gz samba-5464ce6df678a6ce3022f4a30fd9553996cefb69.tar.xz samba-5464ce6df678a6ce3022f4a30fd9553996cefb69.zip |
Merge branch 'master' of /home/tridge/samba/git/combined
Diffstat (limited to 'source4/dsdb/repl/drepl_service.h')
-rw-r--r-- | source4/dsdb/repl/drepl_service.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/source4/dsdb/repl/drepl_service.h b/source4/dsdb/repl/drepl_service.h index a9eea30719..0f9684fa78 100644 --- a/source4/dsdb/repl/drepl_service.h +++ b/source4/dsdb/repl/drepl_service.h @@ -69,6 +69,9 @@ struct dreplsrv_partition_source_dsa { struct repsFromToBlob _repsFromBlob; struct repsFromTo1 *repsFrom1; + /* the last uSN when we sent a notify */ + uint64_t notify_uSN; + /* the reference to the source_dsa and its outgoing connection */ struct dreplsrv_out_connection *conn; }; @@ -107,6 +110,17 @@ struct dreplsrv_out_operation { struct composite_context *creq; }; +struct dreplsrv_notify_operation { + struct dreplsrv_notify_operation *prev, *next; + + struct dreplsrv_service *service; + uint64_t uSN; + + struct dreplsrv_partition_source_dsa *source_dsa; + + struct composite_context *creq; +}; + struct dreplsrv_service { /* the whole drepl service is in one task */ struct task_server *task; @@ -150,6 +164,23 @@ struct dreplsrv_service { struct tevent_timer *te; } periodic; + /* some stuff for notify processing */ + struct { + /* + * the interval between notify runs + */ + uint32_t interval; + + /* + * the timestamp for the next event, + * this is the timstamp passed to event_add_timed() + */ + struct timeval next_event; + + /* here we have a reference to the timed event the schedules the notifies */ + struct tevent_timer *te; + } notify; + /* * the list of partitions we need to replicate */ @@ -166,6 +197,12 @@ struct dreplsrv_service { /* the list of pending operations */ struct dreplsrv_out_operation *pending; + + /* the list of pending notify operations */ + struct dreplsrv_notify_operation *notifies; + + /* an active notify operation */ + struct dreplsrv_notify_operation *n_current; } ops; }; |