Firefly
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized resource of type System.Byte[].
Looks up a localized resource of type System.Byte[].
Core class implementing the Firefly database server functionality
Handles the HSET command which sets a field in a hash.
Command arguments in format: "key field value"
1 if the field was added, 0 if it was updated
Handles the HGET command which retrieves the value of a field in a hash.
Command arguments in format: "key field"
The value of the field, or nil if the field doesn't exist
Handles the HDEL command which removes a field from a hash.
Command arguments in format: "key field"
1 if the field was removed, 0 if it didn't exist
Handles the HEXISTS command which checks if a field exists in a hash.
Command arguments in format: "key field"
1 if the field exists, 0 if it doesn't
Handles the HGETALL command which retrieves all fields and values in a hash.
Command arguments in format: "key"
All fields and values in the hash, or nil if the hash doesn't exist
Handles the HMSET command which sets multiple fields in a hash.
Command arguments in format: "key field value [field value ...]"
OK on success, error if arguments are invalid
Gets or creates a hash for a given key.
The key to get or create the hash for
The hash
Checks if a hash exists for a given key.
The key to check the hash for
True if the hash exists, false otherwise
Gets a hash for a given key.
The key to get the hash for
The hash
True if the hash was found, false otherwise
Removes a hash for a given key.
The key to remove the hash for
True if the hash was removed, false otherwise
Splits a string respecting quoted sections.
The input string to split
An array of tokens from the input string
Pattern:
([^\\s"]+)|"([^"]*)"
Explanation:
○ Match with 2 alternative expressions, atomically.
○ 1st capture group.
○ Match a character in the set [^"\s] atomically at least once.
○ Match a sequence of expressions.
○ Match '"'.
○ 2nd capture group.
○ Match a character other than '"' atomically any number of times.
○ Match '"'.
Creates an array of shards of type T.
The type of the shards
An array of shards
Creates an array of ReaderWriterLockSlim instances for list operations.
An array of locks
Gets the shard index for a given key.
The key to get the shard index for
The shard index
Creates an array of locks.
An array of locks
Checks if a key exists in any store (string, list, or hash).
The key to check
True if the key exists in any store, false otherwise
Gets the type of a key if it exists in any store.
The key to check
The type of the key ("string", "list", "hash", or null if not found)
Ensures a key doesn't exist in any store before creating it in the target store.
The key to check
The type of store where the key will be created
True if the key can be created, false if it already exists with a different type
Handles the DEL command which removes a key from all stores (string, list, hash).
The key to delete
The number of keys that were removed
Handles the TYPE command which returns the type of a key.
The key to check the type of
The type of the key as a string response
Handles the KEYS command which returns all keys matching a pattern.
The pattern to match
A list of keys matching the pattern
Handles the LPUSH command which adds an element to the left of a list.
Command arguments in format: "key value"
The length of the list after the push operation
Handles the RPUSH command which adds values to the tail of a list.
Command arguments in format: "key value1 [value2 ...]"
Response indicating the new length of the list
Handles the LPOP command which removes and returns the first element of a list.
Command arguments containing the key
The popped value or nil if the list is empty
Handles the RPOP command which removes and returns the last element of a list.
Command arguments containing the key
The popped value or nil if the list is empty
Handles the LRANGE command which returns a range of elements from a list.
Command arguments in format: "key start stop"
Array of elements in the specified range
Handles the LINDEX command which returns an element from a list by its index.
Command arguments in format: "key index"
The element at the specified index or nil if not found
Handles the LSET command which sets the value of an element in a list by its index.
Command arguments in format: "key index value"
OK on success, error if index is out of range
Handles the LPOS command which returns the position of an element in a list.
Command arguments in format: "key element [RANK rank] [MAXLEN len]"
The position of the element or nil if not found
Handles the LTRIM command which trims a list to the specified range.
Command arguments in format: "key start stop"
OK on success, error if arguments are invalid
Handles the LREM command which removes elements equal to the given value from a list.
Command arguments in format: "key count element"
The number of removed elements
Gets or creates a list for a given key.
The key to get or create the list for
The list
Checks if a list exists for a given key.
The key to check the list for
True if the list exists, false otherwise
Gets a list for a given key.
The key to get the list for
The list
True if the list was found, false otherwise
Removes a list for a given key.
The key to remove the list for
True if the list was removed, false otherwise
Executes an action with a write lock on a list for a given key.
The key to execute the action on
The action to execute
Executes an action with a read lock on a list for a given key.
The type of the result
The key to execute the action on
The action to execute
Handles the AUTH command which authenticates a client.
The password to authenticate with
The client ID
OK on success, error if authentication fails
Checks if a client is authenticated.
The client ID
True if the client is authenticated, false otherwise
Handles the SAVE command which triggers a manual backup of the data.
Handles the BGSAVE command which triggers an asynchronous backup of the data.
Handles server shutdown operations
Handles the SET command which sets a key-value pair in the string store.
Command arguments in format: "key value"
OK on success, error if arguments are invalid
Handles the GET command which retrieves a value from the string store.
Command arguments containing the key
The value associated with the key, or nil if the key doesn't exist
Checks if a string exists for a given key.
The key to check the string for
True if the string exists, false otherwise
Sets a string for a given key.
The key to set the string for
The value to set
True if the string was set, false otherwise
Gets a string for a given key.
The key to get the string for
The value
True if the string was found, false otherwise
Removes a string for a given key.
The key to remove the string for
True if the string was removed, false otherwise
Container class for all Firefly database data used in serialization and backup operations.
Dictionary containing all string key-value pairs stored in the database.
Dictionary containing all lists stored in the database.
Dictionary containing all hash tables stored in the database.
Timestamp when the backup was created.
Test client for verifying pipelining and batching functionality
Runs the pipeline test
Read responses from the stream until we have the expected count
Test with sequential commands (no pipelining)
Test with pipelined commands
Test with batched commands
Defines the Firefly wire protocol specification for 3rd party clients
The current version of the Firefly protocol
Prefix for simple string responses (+)
Prefix for error responses (-)
Prefix for integer responses (:)
Prefix for bulk string responses ($)
Prefix for array responses (*)
Special message indicating a nil value ($-1)
Standard message terminator sequence (\r\n)
Standard OK response (+OK\r\n)
Response for queued pipeline commands (+QUEUED\r\n)
Standard nil response ($-1\r\n)
Command format specification for external clients
Authenticate with the server using a password
Test server connection
Close the connection
Set a key to hold a string value
Get the value of a key
Delete a key
Insert elements at the head of a list
Insert elements at the tail of a list
Remove and get the first element in a list
Remove and get the last element in a list
Get a range of elements from a list
Set the string value of a hash field
Get the value of a hash field
Delete a hash field
Get all fields and values in a hash
Start a pipeline for batch processing
Execute all commands in the pipeline
Response format specification for external clients
Format a simple string response
The string value to format
Formatted string response
Format an error response
The error message
Formatted error response
Format an integer response
The integer value to format
Formatted integer response
Format a bulk string response
The string value to format
Formatted bulk string response
Format an array response
Array of strings to format
Formatted array response
Custom -derived type for the MyRegex method.
Cached, thread-safe singleton instance.
Initializes the instance.
Provides a factory for creating instances to be used by methods on .
Creates an instance of a used by methods on .
Provides the runner that contains the custom logic implementing the specified regular expression.
Scan the starting from base.runtextstart for the next match.
The text being scanned by the regular expression.
Search starting from base.runtextpos for the next location a match could possibly start.
The text being scanned by the regular expression.
true if a possible match was found; false if no more matches are possible.
Determine whether at base.runtextpos is a match for the regular expression.
The text being scanned by the regular expression.
true if the regular expression matches at the current position; otherwise, false.
Helper methods used by generated -derived implementations.
Default timeout value set in , or if none was set.
Whether is non-infinite.