diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-11-14 21:21:58 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-11-14 21:21:58 -0800 |
| commit | 68043cfcacd4c35e86d063a08bf0de2cfbf5f7ad (patch) | |
| tree | d46b0aeffb024e145d4abf36575bb409aba316a3 | |
| parent | 0fc9ffc603cd5ceeb7d268ff6bb559f2967573b2 (diff) | |
| download | seaweedfs-68043cfcacd4c35e86d063a08bf0de2cfbf5f7ad.tar.xz seaweedfs-68043cfcacd4c35e86d063a08bf0de2cfbf5f7ad.zip | |
add reference implementation to detect create/update/delete/rename events
| -rw-r--r-- | weed/pb/filer_pb/filer_pb_helper.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/weed/pb/filer_pb/filer_pb_helper.go b/weed/pb/filer_pb/filer_pb_helper.go index bc0fac36c..75e37ca1b 100644 --- a/weed/pb/filer_pb/filer_pb_helper.go +++ b/weed/pb/filer_pb/filer_pb_helper.go @@ -121,3 +121,20 @@ func LookupEntry(client SeaweedFilerClient, request *LookupDirectoryEntryRequest } var ErrNotFound = errors.New("filer: no entry is found in filer store") + +func IsCreate(event *SubscribeMetadataResponse) bool { + return event.EventNotification.NewEntry != nil && event.EventNotification.OldEntry == nil +} +func IsUpdate(event *SubscribeMetadataResponse) bool { + return event.EventNotification.NewEntry != nil && + event.EventNotification.OldEntry != nil && + event.Directory == event.EventNotification.NewParentPath +} +func IsDelete(event *SubscribeMetadataResponse) bool { + return event.EventNotification.NewEntry == nil && event.EventNotification.OldEntry != nil +} +func IsRename(event *SubscribeMetadataResponse) bool { + return event.EventNotification.NewEntry != nil && + event.EventNotification.OldEntry != nil && + event.Directory != event.EventNotification.NewParentPath +} |
