Commit Graph
434 Commits
Author SHA1 Message Date
BlueBlock 428b568bd3 add braces, simplify delegate call 2019-08-31 12:39:09 -04:00
BlueBlock 53aafebfd3 fix date compare so both use UTC
othewise it is currently a number of hours off
2019-08-31 12:38:16 -04:00
BlueBlock 06d1cfb62f remove unused method 2019-08-31 12:36:26 -04:00
Kenneth Hsu f1ece62ab7 Fix documentation for ThrottledStream.Read method. 2019-07-07 17:16:58 -07:00
Kenneth Hsu 6f902773c6 Fix documentation for ThrottledStream.Write method. 2019-07-07 17:16:58 -07:00
Kenneth Hsu 5d087791d0 Fix bug in ThrottledStream.Write method.
Prior to revision 0190a9994e ("Rewrote the throttling implementation to
be more effecient"), the DelayIfRequired method would increment the
offset variable to advance through the buffer.  When we modified the
implementation in revision 0190a9994e, we may have forgotten to modify
the offset accordingly.
2019-07-07 17:16:58 -07:00
ts678andGitHub 018f7f1db5 Fix ThrottledStream Read buffer overwrite
Adjust buffer offset by amount read so far in the internal Read loop,
so newly read data goes after old data instead of going on top of it.

This fixes issue #3787 read buffer corruptions when throttle is used.
2019-06-23 21:07:21 -04:00
Daniel Gehriger a394eefe6c Checking for empty filter expression 2019-05-10 11:11:22 +02:00
Kenneth Hsu 457254d9e1 Remove unused local variables. 2019-04-17 20:10:53 -07:00
Francois Lafleur f51a3e07d5 Cache Files filter group doesn't exclude Chrome files on Mac/Linux #3633 2019-04-03 23:08:28 -04:00
Sean Templeton b1c6e9798d Update Amazon Cloud Drive backend for async Put 2019-03-05 21:08:14 -06:00
Kenneth Hsu b5d9451b33 Remove redundant casts. 2019-01-21 19:30:52 -08:00
Kenneth Hsu 9c7f71a63d Remove unnecessary newline. 2019-01-02 15:45:53 -08:00
Kenneth Hsu 16da136a6a Avoid redundant addition of trailing slashes to folder names.
The trailing slash is added when the folder name is pushed onto the
stack.
2019-01-02 15:45:53 -08:00
Kenneth SkovhedeandGitHub f8cbd206e0 Merge pull request #3568 from warwickmm/default_excludes_performance
Improve performance of default excludes filters
2018-12-29 09:11:45 +01:00
Kenneth Hsu 7a106df094 Improve performance of default excludes filters.
Previously, the FilterExpression.Expand method would forward the filter
group name to the FilterEntry constructor, which would combine the
group's patterns into one large regex filter.  This would result in a
significant decrease in performance, as the regex filters are much
slower than the wildcard filters.

Instead, we can first expand the filter group into its constituent
patterns before presenting them to the FilterEntry constructor.  This
preserves their wildcard nature and allows us to take advantage of
faster filtering matching algorithms.

This addresses issue #3395.
2018-12-28 22:07:59 -08:00
Kenneth Hsu 139420a664 Improve performance of wildcard filters.
The mono profiler indicated that a large percentage of the time was
spent allocating the inputPosStack and patternPosStack arrays.  By
replacing these with Stacks, we can avoid this unnecessary overhead.
2018-12-28 17:33:46 -08:00
Kenneth Hsu faf2b0df47 Remove helper method that creates regex filter.
This will discourage the creation of default regex filters, which
exhibit poor performance.
2018-12-20 19:37:36 -08:00
Kenneth Hsu 340d7803cb Convert regex pattern to wildcard in default excludes group.
This provides a workaround for the poor performance of the default
excludes group exhibited by regex filters.  While this wildcard pattern
will potentially exclude more files than the previous regex pattern, in
practice this should not often be the case.

This does not resolve the performance issue of the regex filters.
However, I think in general we should try to avoid expensive
application-specific filters since these will affect the performance for
all users that use the default excludes group, whether the application
is present or not.

This concerns issue #3395.
2018-12-17 18:14:43 -08:00
Kenneth Hsu 8dd3aeaf26 Use invariant culture in calls to ToLower and ToUpper. 2018-12-11 21:21:07 -08:00
Kenneth Hsu 308410650b Remove write-only LinkedSubStream.Position implementation.
The LinkedSubStream class is abstract, and all derived classes implement
a getter and a setter.
2018-12-09 21:42:40 -08:00
Kenneth Hsu b363be1db9 Remove unnecessary newline. 2018-11-18 17:04:41 -08:00
Kenneth Hsu e88b83bf92 Remove unnecessary method overload. 2018-11-18 17:00:46 -08:00
Kenneth Hsu daa8ed7d0f Remove unnecessary lambda expression.
Since the filter is always empty, every folder should be inspected when
enumerating the filesystem entries.
2018-11-18 16:58:46 -08:00
Kenneth Hsu fb7ddf59f2 Remove unnecessary method overload. 2018-11-18 16:54:30 -08:00
Kenneth Hsu 94202ba038 Remove unnecessary method overload. 2018-11-18 16:53:07 -08:00
Kenneth Hsu e03ba7c5d8 Remove unnecessary method overload. 2018-11-18 16:49:38 -08:00
Kenneth Hsu d4584b8443 Remove unnecessary method overload. 2018-11-18 16:48:53 -08:00
Kenneth Hsu 722ff0cca5 Remove unused method parameter. 2018-11-18 16:47:59 -08:00
Kenneth Skovhede 1efaf23042 Updated build tools to use the new Common library 2018-11-13 09:44:27 +01:00
verhoek ab12be6bbd Renamed IsClientLinux to IsClientPosix . 2018-11-03 09:26:04 +01:00
verhoek 72b1f6b6f8 Updated project files. 2018-11-02 22:45:07 +01:00
verhoek 8bb406cd15 Migrated to use the platform class. 2018-11-02 22:17:16 +01:00
verhoek b2cc18426c Renamed Library.IO to Library.Common.IO.
Moved basic Platform functions to Library.Common.Platform.
Turned IO_OS into property within Library.Common.
2018-11-02 21:34:07 +01:00
verhoek 1275f14405 Replaced DirectorySeparatorChar.ToString() calls. 2018-11-02 17:45:00 +01:00
verhoek dd74245b75 Handled GetFiles calls at risky spots in combination with PathTooLongExceptions. 2018-10-30 17:16:13 +01:00
verhoek a90f577624 Redirected GetDirectories calls to Library.IO's version. 2018-10-30 13:38:25 +01:00
verhoek 4d8155fa43 Merge remote-tracking branch 'origin/master' into issue/3311 2018-10-29 12:13:25 +01:00
verhoek bc053df294 Moved basic IO helper functions to Library.IO. 2018-10-27 12:17:07 +02:00
Kenneth Hsu 2d7566e909 Fix typo in regex filter pattern.
The extension for these Firefox files should be .sqlite (with one 'l').
2018-10-26 20:00:07 -07:00
verhoek 40dc6da81d Created separate package for io wrapper. 2018-10-25 20:01:55 +02:00
Kenneth Hsu 9e0b031fee Remove unused members. 2018-10-15 21:20:30 -07:00
Kenneth Hsu 6b8dc6e8b8 Rename parameter to match XML documentation.
The use of camel case is also more consistent with the surrounding
style.
2018-10-13 20:45:13 -07:00
Kenneth Hsu d72128ec83 Remove unused method parameters. 2018-10-06 15:09:43 -07:00
Kenneth Hsu 8902da39f2 Undo removal of method parameters.
This should be done on a separate branch for a different pull request.
2018-09-29 10:44:05 -07:00
Kenneth Hsu 9ce1e807c7 Remove unused variables and fields. 2018-09-29 10:41:27 -07:00
Kenneth SkovhedeandGitHub 7330aebaeb Merge pull request #3394 from warwickmm/remove_unnecessary_indirection
Use built-in method to expand environment variables
2018-09-28 22:25:46 +02:00
Kenneth Hsu d4692e2d35 Use built-in method to expand environment variables.
After we removed the tilde expansion in revision c9aa6cf5fb ("Avoid
performing tilde expansion"), the Utility.ExpandEnvironmentVariables
method simply called System.Environment.ExpandEnvironmentVariables.  We
can simplify the code by just referencing the built-in method directly.
2018-09-22 19:59:46 -07:00
Kenneth Hsu a325a8e0e7 Fix XML documentation to more accurately reflect behavior. 2018-09-22 10:19:45 -07:00
Kenneth Hsu 67871a76ed Fix bug. Append separator when string ends with same separator.
Previously, the replacement would occur if the provided string did not
end with the platform-dependent directory separator.  However, this
utility method is often used to append a trailing slash to URL
specifiers.
2018-09-22 10:19:45 -07:00