From dc7ad57c845cc9b1b502e5e8b12ce96af4183dc4 Mon Sep 17 00:00:00 2001 From: vman Date: Fri, 18 Nov 2022 17:15:36 -0500 Subject: Add project files. --- .../src/Exceptions/InvalidStatusException.cs | 39 ++++++++++++++++++++++ .../src/Exceptions/MessageTooLargeException.cs | 26 +++++++++++++++ .../src/Exceptions/ObjectNotFoundException.cs | 23 +++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 VNLib.Data.Caching/src/Exceptions/InvalidStatusException.cs create mode 100644 VNLib.Data.Caching/src/Exceptions/MessageTooLargeException.cs create mode 100644 VNLib.Data.Caching/src/Exceptions/ObjectNotFoundException.cs (limited to 'VNLib.Data.Caching/src/Exceptions') diff --git a/VNLib.Data.Caching/src/Exceptions/InvalidStatusException.cs b/VNLib.Data.Caching/src/Exceptions/InvalidStatusException.cs new file mode 100644 index 0000000..f5e35f4 --- /dev/null +++ b/VNLib.Data.Caching/src/Exceptions/InvalidStatusException.cs @@ -0,0 +1,39 @@ +using System; + +using VNLib.Net.Messaging.FBM; + +namespace VNLib.Data.Caching.Exceptions +{ + /// + /// Raised when the response status code of an FBM Request message is not valid for + /// the specified request + /// + public class InvalidStatusException : InvalidResponseException + { + private readonly string? StatusCode; + /// + /// Initalizes a new with the specfied status code + /// + /// + /// + public InvalidStatusException(string message, string statusCode):this(message) + { + this.StatusCode = statusCode; + } + + /// + public InvalidStatusException() + { + } + /// + public InvalidStatusException(string message) : base(message) + { + } + /// + public InvalidStatusException(string message, Exception innerException) : base(message, innerException) + { + } + /// + public override string Message => $"InvalidStatusException: Status Code {StatusCode} \r\n {base.Message}"; + } +} diff --git a/VNLib.Data.Caching/src/Exceptions/MessageTooLargeException.cs b/VNLib.Data.Caching/src/Exceptions/MessageTooLargeException.cs new file mode 100644 index 0000000..e8f19c5 --- /dev/null +++ b/VNLib.Data.Caching/src/Exceptions/MessageTooLargeException.cs @@ -0,0 +1,26 @@ +using System; +using System.Runtime.Serialization; + +using VNLib.Net.Messaging.FBM; + +namespace VNLib.Data.Caching.Exceptions +{ + /// + /// Raised when a request (or server response) calculates the size of the message to be too large to proccess + /// + public class MessageTooLargeException : FBMException + { + /// + public MessageTooLargeException() + {} + /// + public MessageTooLargeException(string message) : base(message) + {} + /// + public MessageTooLargeException(string message, Exception innerException) : base(message, innerException) + {} + /// + protected MessageTooLargeException(SerializationInfo info, StreamingContext context) : base(info, context) + {} + } +} diff --git a/VNLib.Data.Caching/src/Exceptions/ObjectNotFoundException.cs b/VNLib.Data.Caching/src/Exceptions/ObjectNotFoundException.cs new file mode 100644 index 0000000..fb284f3 --- /dev/null +++ b/VNLib.Data.Caching/src/Exceptions/ObjectNotFoundException.cs @@ -0,0 +1,23 @@ +using System; + +namespace VNLib.Data.Caching.Exceptions +{ + /// + /// Raised when a command was executed on a desired object in the remote cache + /// but the object was not found + /// + public class ObjectNotFoundException : InvalidStatusException + { + internal ObjectNotFoundException() + {} + + internal ObjectNotFoundException(string message) : base(message) + {} + + internal ObjectNotFoundException(string message, string statusCode) : base(message, statusCode) + {} + + internal ObjectNotFoundException(string message, Exception innerException) : base(message, innerException) + {} + } +} -- cgit