Magick++ 6.9.13
Loading...
Searching...
No Matches
ResourceLimits.h
1// This may look like C code, but it is really -*- C++ -*-
2//
3// Copyright Dirk Lemstra 2014-2018
4//
5// Definition of resource limits.
6//
7
8#if !defined(Magick_ResourceLimits_header)
9#define Magick_ResourceLimits_header
10
11#include "Magick++/Include.h"
12
13namespace Magick
14{
15 class MagickPPExport ResourceLimits
16 {
17 public:
18
19 // Pixel cache limit in bytes. Requests for memory above this limit
20 // are automagically allocated on disk.
21 static void area(const MagickSizeType limit_);
22 static MagickSizeType area(void);
23
24 // Pixel cache limit in bytes. Requests for memory above this limit
25 // will fail.
26 static void disk(const MagickSizeType limit_);
27 static MagickSizeType disk(void);
28
29 // The maximum number of open pixel cache files. When this limit is
30 // exceeded, any subsequent pixels cached to disk are closed and reopened
31 // on demand. This behavior permits a large number of images to be accessed
32 // simultaneously on disk, but with a speed penalty due to repeated
33 // open/close calls.
34 static void file(const MagickSizeType limit_);
35 static MagickSizeType file(void);
36
37 // The maximum height of an image.
38 static void height(const MagickSizeType limit_);
39 static MagickSizeType height(void);
40
41 // The maximum number of images in an image list.
42 static void listLength(const MagickSizeType limit_);
43 static MagickSizeType listLength();
44
45 // Pixel cache limit in bytes. Once this memory limit is exceeded,
46 // all subsequent pixels cache operations are to/from disk.
47 static void map(const MagickSizeType limit_);
48 static MagickSizeType map(void);
49
50 // Pixel cache limit in bytes. Once this memory limit is exceeded,
51 // all subsequent pixels cache operations are to/from disk or to/from
52 // memory mapped files.
53 static void memory(const MagickSizeType limit_);
54 static MagickSizeType memory(void);
55
56 // Limits the number of threads used in multithreaded operations.
57 static void thread(const MagickSizeType limit_);
58 static MagickSizeType thread(void);
59
60 // Periodically yield the CPU for at least the time specified in
61 // milliseconds.
62 static void throttle(const MagickSizeType limit_);
63 static MagickSizeType throttle(void);
64
65 // The maximum width of an image.
66 static void width(const MagickSizeType limit_);
67 static MagickSizeType width(void);
68
69 private:
70 ResourceLimits(void);
71
72 }; // class ResourceLimits
73
74} // Magick namespace
75
76#endif // Magick_ResourceLimits_header