internal ReplicatedDocument([NotNull] string docID, C4RevisionFlags flags, C4Error error,
                             bool isTransient)
 {
     Id          = docID;
     Flags       = flags.ToDocumentFlags();
     NativeError = error;
     Error       = error.domain == 0 ? null : CouchbaseException.Create(error);
     IsTransient = isTransient;
 }
예제 #2
0
        private static bool PushFilterCallback(FLSlice docID, C4RevisionFlags revisionFlags, FLDict *dict, void *context)
        {
            var replicator = GCHandle.FromIntPtr((IntPtr)context).Target as Replicator;

            if (replicator == null)
            {
                WriteLog.To.Database.E(Tag, "Push filter context pointing to invalid object {0}, aborting and returning true...",
                                       replicator);
                return(true);
            }

            var docIDStr = docID.CreateString();

            if (docIDStr == null)
            {
                WriteLog.To.Database.E(Tag, "Null document ID received in push filter, rejecting...");
                return(false);
            }

            var flags = revisionFlags.ToDocumentFlags();

            return(replicator.PushFilterCallback(docIDStr, dict, flags));
        }