From af07e429c5a5f3cf210421bd711af4d269863d7e Mon Sep 17 00:00:00 2001 From: Chris Dinh Date: Thu, 2 Jan 2025 09:06:21 -0800 Subject: [PATCH] Add suffix support for Notifications Summary: # Context We are introducing EdenFS notifications to support scalable and ergonomic file system notifications for EdenFS mounts. # This Diff This diff introduces the concepts of included/excluded Suffixes to the getChangesV2 pipeline. The files returned from the API will always match any defined included suffixes, and never have any excluded suffixes. If a suffix is both included and excluded, then it is excluded. A suffix is defined as the substring that ends the string. As currently defined, a suffix could include content past the file extention, including the , eg for file.ext1.ext2, ex2, ext1.ext2, and file.ext1.ext2 are valid suffixes # Technical Details This diff creates the thrift definitions for the included/excluded suffix types # Discussion Points Reviewed By: jdelliot Differential Revision: D67613986 fbshipit-source-id: f18957a490d3095324d46046f57233bba92565aa --- eden/fs/service/eden.thrift | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/eden/fs/service/eden.thrift b/eden/fs/service/eden.thrift index 6b0837206dbf..ed38eaf96b29 100644 --- a/eden/fs/service/eden.thrift +++ b/eden/fs/service/eden.thrift @@ -1941,6 +1941,14 @@ struct ChangesSinceV2Result { * excludedRoots - optional ist of roots to exclude from results. If not * provided or an empty list, no roots will be excluded from results. * Applied after roots are included - see includedRoots. + * + * includedSuffixes - optional list of suffixes to include in results. If not + * provided or an empty list, all suffixes will be included in results. + * Applied before suffixes are excluded - see excludedSuffixes. + * + * excludedSuffixes - optional ist of suffixes to exclude from results. If not + * provided or an empty list, no suffixes will be excluded from results. + * Applied after suffixes are included - see includedSuffixes. */ struct ChangesSinceV2Params { 1: PathString mountPoint; @@ -1948,6 +1956,8 @@ struct ChangesSinceV2Params { 3: optional bool includeVCSRoots; 4: optional list includedRoots; 5: optional list excludedRoots; + 6: optional list includedSuffixes; + 7: optional list excludedSuffixes; } service EdenService extends fb303_core.BaseService {