static void disk(const MagickSizeType limit_);
static MagickSizeType disk(void);
+ // The maximum number of open pixel cache files. When this limit is
+ // exceeded, any subsequent pixels cached to disk are closed and reopened
+ // on demand. This behavior permits a large number of images to be accessed
+ // simultaneously on disk, but with a speed penalty due to repeated
+ // open/close calls.
+ static void file(const MagickSizeType limit_);
+ static MagickSizeType file(void);
+
+ // The maximum height of an image.
+ static void height(const MagickSizeType limit_);
+ static MagickSizeType height(void);
+
// Pixel cache limit in bytes. Once this memory limit is exceeded,
// all subsequent pixels cache operations are to/from disk.
static void map(const MagickSizeType limit_);
static void thread(const MagickSizeType limit_);
static MagickSizeType thread(void);
+ // Periodically yield the CPU for at least the time specified in
+ // milliseconds.
+ static void throttle(const MagickSizeType limit_);
+ static MagickSizeType throttle(void);
+
+ // The maximum width of an image.
+ static void width(const MagickSizeType limit_);
+ static MagickSizeType width(void);
+
private:
ResourceLimits(void);
MagickCore::MagickSizeType Magick::ResourceLimits::area(void)
{
- return GetMagickResourceLimit(AreaResource);
+ return(GetMagickResourceLimit(AreaResource));
}
void Magick::ResourceLimits::disk(const MagickSizeType limit_)
MagickCore::MagickSizeType Magick::ResourceLimits::disk(void)
{
- return GetMagickResourceLimit(DiskResource);
+ return(GetMagickResourceLimit(DiskResource));
+}
+
+void Magick::ResourceLimits::file(const MagickSizeType limit_)
+{
+ (void) SetMagickResourceLimit(FileResource,limit_);
+}
+
+MagickCore::MagickSizeType Magick::ResourceLimits::file(void)
+{
+ return(GetMagickResourceLimit(FileResource));
+}
+
+void Magick::ResourceLimits::height(const MagickSizeType limit_)
+{
+ (void) SetMagickResourceLimit(HeightResource,limit_);
+}
+
+MagickCore::MagickSizeType Magick::ResourceLimits::height(void)
+{
+ return(GetMagickResourceLimit(HeightResource));
}
void Magick::ResourceLimits::map(const MagickSizeType limit_)
MagickCore::MagickSizeType Magick::ResourceLimits::map(void)
{
- return GetMagickResourceLimit(MapResource);
+ return(GetMagickResourceLimit(MapResource));
}
void Magick::ResourceLimits::memory(const MagickSizeType limit_)
MagickCore::MagickSizeType Magick::ResourceLimits::memory(void)
{
- return GetMagickResourceLimit(MemoryResource);
+ return(GetMagickResourceLimit(MemoryResource));
}
void Magick::ResourceLimits::thread(const MagickSizeType limit_)
MagickCore::MagickSizeType Magick::ResourceLimits::thread(void)
{
- return GetMagickResourceLimit(ThreadResource);
+ return(GetMagickResourceLimit(ThreadResource));
+}
+
+void Magick::ResourceLimits::throttle(const MagickSizeType limit_)
+{
+ (void) SetMagickResourceLimit(ThrottleResource,limit_);
+}
+
+MagickCore::MagickSizeType Magick::ResourceLimits::throttle(void)
+{
+ return(GetMagickResourceLimit(ThrottleResource));
+}
+
+void Magick::ResourceLimits::width(const MagickSizeType limit_)
+{
+ (void) SetMagickResourceLimit(WidthResource,limit_);
+}
+
+MagickCore::MagickSizeType Magick::ResourceLimits::width(void)
+{
+ return(GetMagickResourceLimit(WidthResource));
}
Magick::ResourceLimits::ResourceLimits()