pub enum Error {
Show 15 variants Invalid, NoMem, ScanTerminated, CompileError(CompileError), CompilerError, DbVersionError, DbPlatformError, DbModeError, BadAlign, BadAlloc, ScratchInUse, UnknownError, FailInternal, UnknownHSError, Code(ch_error_t),
}
Expand description

A type for errors returned by Chimera functions.

Variants

Invalid

A parameter passed to this function was invalid.

NoMem

A memory allocation failed.

ScanTerminated

The engine was terminated by callback.

This return value indicates that the target buffer was partially scanned, but that the callback function requested that scanning cease after a match was located.

CompileError(CompileError)

The pattern compiler failed, and the ch_compile_error_t should be inspected for more detail.

CompilerError

The pattern compiler failed.

DbVersionError

The given database was built for a different version of the Chimera matcher.

DbPlatformError

The given database was built for a different platform (i.e., CPU type).

DbModeError

The given database was built for a different mode of operation.

This error is returned when streaming calls are used with a non-streaming database and vice versa.

BadAlign

A parameter passed to this function was not correctly aligned.

BadAlloc

The memory allocator did not correctly return memory suitably aligned for the largest representable data type on this platform.

ScratchInUse

The scratch region was already in use.

This error is returned when Chimera is able to detect that the scratch region given is already in use by another Chimera API call.

A separate scratch region, allocated with @ref ch_alloc_scratch() or @ref ch_clone_scratch(), is required for every concurrent caller of the Chimera API.

For example, this error might be returned when @ref ch_scan() has been called inside a callback delivered by a currently-executing @ref ch_scan() call using the same scratch region.

Note: Not all concurrent uses of scratch regions may be detected. This error is intended as a best-effort debugging tool, not a guarantee.

UnknownError

Unexpected internal error from Hyperscan.

This error indicates that there was unexpected matching behaviors from Hyperscan. This could be related to invalid usage of scratch space or invalid memory operations by users.

FailInternal

Returned when pcre_exec (called for some expressions internally from ch_scan) failed due to a fatal error.

UnknownHSError

Unexpected internal error from Hyperscan.

This error indicates that there was unexpected matching behaviors from Hyperscan. This could be related to invalid usage of scratch space or invalid memory operations by users.

Code(ch_error_t)

Unknown error code

Trait Implementations

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0:

use the Display impl or to_string()

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to provide by using demand. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.