@@ -534,6 +534,41 @@ function Base.showerror(io::IO, err::InvalidCallbackUsage)
534534 print (io, " InvalidCallbackUsage: Cannot submit $(err. submittable) inside a $(err. callback) ." )
535535end
536536
537+ """
538+ CallbackNodeStatusCode
539+
540+ An Enum of possible return values from calling [`get`](@ref) with
541+ [`CallbackNodeStatus`](@ref).
542+
543+ Possible values are:
544+
545+ * CALLBACK_NODE_STATUS_INTEGER: the primal solution available from
546+ [`CallbackVariablePrimal`](@ref) is integer feasible.
547+ * CALLBACK_NODE_STATUS_FRACTIONAL: the primal solution available from
548+ [`CallbackVariablePrimal`](@ref) is integer infeasible.
549+ * CALLBACK_NODE_STATUS_UNKNOWN: the primal solution available from
550+ [`CallbackVariablePrimal`](@ref) might be integer feasible or infeasible.
551+ """
552+ @enum (
553+ CallbackNodeStatusCode,
554+ CALLBACK_NODE_STATUS_INTEGER,
555+ CALLBACK_NODE_STATUS_FRACTIONAL,
556+ CALLBACK_NODE_STATUS_UNKNOWN,
557+ )
558+
559+ """
560+ CallbackNodeStatus(callback_data)
561+
562+ An optimizer attribute describing the (in)feasibility of the primal solution
563+ available from [`CallbackVariablePrimal`](@ref) during a callback identified by
564+ `callback_data`.
565+
566+ Returns a [`CallbackNodeStatusCode`](@ref) Enum.
567+ """
568+ struct CallbackNodeStatus{CallbackDataType} <: AbstractOptimizerAttribute
569+ callback_data:: CallbackDataType
570+ end
571+ is_set_by_optimize (:: CallbackNodeStatus ) = true
537572
538573# # Optimizer attributes
539574
0 commit comments