Enum SourceBufferingMode
Specifies the mode for buffering source streams to temporary repository work files. This setting controls the trade-off between throughput, memory usage, and security resilience against slow sources.
Namespace: FulcrumFS
Assembly: FulcrumFS.dll
Syntax
public enum SourceBufferingMode
Remarks
Security & Performance Trade-offs:
Disabling source buffering to temporary files avoids unnecessary I/O and can improve
throughput. However, memory usage may increase and make the service more susceptible to "low and slow" style denial-of-service attacks.
Recommendations:
- General Use: Auto is recommended as it balances performance and security. It avoids copying likely fast sources (like MemoryStream or FileStream) while protecting against direct processing of unknown streams.
- Slow Storage: If the source is a slow FileStream (e.g. to a high-latency network share), use ForceTempCopy to ensure it is copied before processing.
- Trusted Environments: Disabled can be appropriate when repositories are local-only access, clients are trusted, or other security mitigations are in place. May increase memory usage if many concurrent files are processed from slow sources.
Fields
| Name | Description |
|---|---|
| Auto | Optimizes based on the source type. Sources presumed to be fast (i.e. MemoryStream and FileStream) may be processed directly. All other source streams are force-copied to a temporary file before processing. |
| Disabled | Sources may be processed directly, bypassing the initial copy to a temporary repository work file. Use this only for sources known to be fast (e.g. wrappers over local file streams) to avoid copy overhead. |
| ForceTempCopy | Sources are always force-copied to a temporary repository work file before processing. |