#![forbid(unsafe_code)]
mod chunk;
mod chunk_runtime;
mod diagnostics;
mod fault;
mod fault_state;
mod flow;
mod item_listener;
mod listener;
mod repository;
mod runtime;
mod service;
mod shutdown;
mod telemetry;
pub use chunk::{
BusinessStatement, BusinessTransaction, BusinessTransactionError, BusinessValue,
BusinessValueKind, BusinessWriteResult, ChunkCommitReceipt, ChunkCompletion,
ChunkCompletionContext, ChunkCompletionError, ChunkCompletionOutcome, ChunkFaultProgress,
ChunkTransaction, ChunkTransactionContext, ChunkTransactionError, ChunkTransactionManager,
InheritedStepProgress, ItemProcessor, ItemReader, ItemWriter, ProcessContext, ProcessOutcome,
ProcessorError, ReadContext, ReadOutcome, ReaderError, WriteContext, WriteOutcome, WriterError,
};
pub use chunk_runtime::{
ChunkAttemptOutcome, ChunkExecutionOutcome, ChunkExecutionReport, ChunkFailure, ChunkJob,
ChunkLaunchReport, ChunkListener, ChunkListenerContext, ChunkListenerError,
ChunkListenerFailure, ChunkListenerFailureKind, ChunkListenerPhase, ChunkStep,
};
pub use diagnostics::{
DiagnosticField, EventComponent, EventSeverity, ExecutionAttempt, ExecutionCorrelation,
LifecycleEvent, LifecycleEventKind, LifecycleEventSink, MetricLabel,
};
pub use fault::{BackoffOutcome, BackoffSleeper};
pub use fault_state::{
FaultProgress, FaultRuntime, FaultStateEntry, FaultStateEnvelope, FaultStateError,
FaultStateFormatError, FaultStateStore, InMemoryFaultState, RetryCounts, RetryKey,
RetryReservation,
};
pub use flow::{
DeciderError, DecisionInput, DecisionStepInput, FlowEvent, FlowEventKind, FlowEventSink,
FlowExecutionOutcome, FlowFailure, FlowJob, FlowJobError, FlowLaunchReport, FlowLauncher,
FlowRuntimeError, JobExecutionDecider, PartitionFactoryError, PartitionPlanFactory,
PartitionPlanRequest, PartitionTaskletFactory, PartitionWorkerInput, TaskletStepFactory,
};
pub use item_listener::{
BeforeCallbackOutcome, ItemListenerContext, ItemListenerError, ItemListenerFailure,
ItemListenerPhase, ItemListenerSet, ProcessListener, ReadListener, RetryListener, RetryOutcome,
SkipListener, WriteListener,
};
pub use listener::{
JobExecutionListener, ListenerContext, ListenerError, ListenerFailure, ListenerFailureKind,
ListenerPhase, StepExecutionListener,
};
pub use oxide_batch_core::{
BackoffKind, BackoffPolicy, BatchStatus, Checkpoint, ChunkComponentRevisions, ChunkCount,
ChunkCounts, ChunkDeliveryMode, ChunkError, ChunkProgress, ChunkRestartContract, ChunkSize,
ClassifierRevision, ComponentRevision, DefinitionError, DefinitionIdentity, DefinitionManifest,
DefinitionRevision, DefinitionTokenKind, DefinitionUpgrade, DefinitionUpgradeKey, DomainError,
DurableStateKind, ExecutionContext, ExecutionCounts, ExecutionMetadata, ExecutionTimestamps,
ExecutionVersion, ExitCode, ExitStatus, FailureCategory, FailureId, FailureSummary,
FaultAction, FaultClassifier, FaultDecision, FaultDescriptor, FaultEvidence, FaultPhase,
FaultPolicy, FaultPolicyError, FaultRule, FlowTarget, IdentifierKind, InFlightPolicy,
JobExecution, JobExecutionId, JobInstance, JobInstanceId, JobInstanceKey, JobName,
JobParameter, JobParameters, LifecycleError, LifecycleTransition, MAX_NODES, MAX_PARTITIONS,
MAX_TRANSITIONS, ManifestError, NameKind, NodeId, OperatorRequestId, ParameterName,
ParameterRole, ParameterValue, ParameterValueKind, RecoveryDecisionId, RetentionActionId,
RetryLimit, RetryOrdinal, RetryStateLimit, RollbackDisposition, SkipCounts, SkipLimit,
StartControls, StartLimit, StateCodecError, StateError, StateLimits, StateSchemaId,
StateSchemaUpgrade, StateSchemaVersion, StepDefinitionUpgrade, StepExecution, StepExecutionId,
StepName, StepPartitionId, TerminalKind, VersionedStateCodec,
};
pub use oxide_batch_plan::{
CompiledExecutionPlan, DeciderRevision, DecisionInputVersion, DecisionNode, ExitPattern,
FlowGraph, FlowNode, FlowSelectionError, FlowTransition, JoinNode, LocalFailurePolicy,
MAX_BRANCH_STEPS, MAX_OUTGOING_TRANSITIONS, MAX_PARTITION_WORKERS, MAX_PATTERN_BYTES,
MAX_SPLIT_BRANCHES, PartitionBudget, PartitionCount, PartitionedStepNode, PatternSpecificity,
PlanError, SplitBranch, SplitBudget, SplitNode, StepComponents, StepNode,
};
pub use oxide_batch_repository::{
ActorRef, AuthorizationClass, BoxFuture, Clock, Cursor, CursorError, CursorKey,
DEFAULT_MAX_CLOCK_SKEW, DEFAULT_PAGE_SIZE, DEFAULT_PURGE_AGE, DEFAULT_STALE_THRESHOLD,
DefinitionDescriptor, ExecutionControl, ExplorerError, ExplorerQuery, ExplorerRepository,
FlowDecision, FlowDecisionId, FlowDecisionRequest, FlowDecisionSequence, FlowStepState,
FlowTransitionKind, IdGenerationError, IdGenerator, JobExecutionProjection,
JobInstanceProjection, JobInstanceSelection, JobRepository, MAX_ACTOR_REF_BYTES,
MAX_CLOCK_SKEW, MAX_CURSOR_BYTES, MAX_OPERATION_ID_BYTES, MAX_PAGE_SIZE,
MAX_PARTITION_CONTEXT_BYTES, MAX_PARTITION_KEY_BYTES, MAX_PURGE_BATCH, MAX_REASON_CODE_BYTES,
MAX_RESPONSE_BYTES, MAX_STALE_THRESHOLD, MIN_CLOCK_SKEW, MIN_PURGE_AGE, MIN_STALE_THRESHOLD,
MIN_UNRESOLVED_AGE, MaxClockSkew, MonotonicClock, MonotonicInstant, OperationId,
OperatorAction, OperatorOutcomeClass, OperatorRecord, OperatorRecordDraft, OperatorRejection,
OperatorRequest, OwnerObservation, OwnerToken, Page, PageRequest, PageSize,
ParameterDescriptor, PartitionAggregate, PartitionAggregationError, PartitionKey,
PartitionPlanEntry, PartitionResult, PartitionValueError, PurgeBatchBound, PurgeCandidate,
PurgeCounts, PurgePlan, PurgePlanRequest, PurgeSurvey, QueryWindow, ReasonCode,
RecoveryDecision, RecoveryDirective, RecoveryDisposition, RecoveryError, RecoveryEvidence,
RecoveryField, RecoveryMarkers, RecoveryProposal, RecoveryRepository, RecoveryRequest,
RecoveryRequestError, RecoveryResult, RecoverySnapshot, RecoveryStepEvidence,
RepositoryCapability, RepositoryDescriptor, RepositoryError, RepositoryUnitOfWork,
RequestDigest, RequestField, RequestFieldError, RetentionAction, RetentionError, RetentionHold,
RetentionOutcome, RetentionRecord, RetentionRecordDraft, SequentialIdGenerator, StaleThreshold,
StateEnvelopeDescriptor, StepExecutionProjection, StepPartition, StepPartitionProjection,
SystemClock, SystemMonotonicClock, TerminalStatusSet, aggregate_step_partitions,
};
#[cfg(feature = "postgres")]
pub use repository::{
CaCertificate, PostgresChunkStateError, PostgresChunkStateProvider,
PostgresChunkTransactionManager, PostgresConfig, PostgresConfigError, PostgresDurableStepState,
PostgresExplorer, PostgresFaultState, PostgresJobRepository, PostgresMigrator, TlsMode,
};
pub use repository::{InMemoryExplorer, InMemoryJobRepository};
pub use runtime::{
BlockingTasklet, BlockingTaskletAdapter, BlockingTaskletContext, JobLauncher, LaunchError,
LaunchReport, StopPollInterval, StopSource, StopTiming, StopToken, Tasklet, TaskletContext,
TaskletError, TaskletExecutionOutcome, TaskletFailure, TaskletJob, TaskletOutcome, TaskletStep,
};
pub use service::{
JobExplorer, JobOperator, OperatorError, OperatorOutcome, RecoveryProposer, RetentionReport,
RetentionService,
};
pub use shutdown::{
DEFAULT_SHUTDOWN_DEADLINE, DEFAULT_TELEMETRY_FLUSH_DEADLINE, DrainResult,
MAX_SHUTDOWN_DEADLINE, MAX_TELEMETRY_FLUSH_DEADLINE, MIN_SHUTDOWN_DEADLINE,
MIN_TELEMETRY_FLUSH_DEADLINE, ShutdownCoordinator, ShutdownDeadline, ShutdownError,
ShutdownHookError, ShutdownHookStatus, ShutdownReport, ShutdownRequest, ShutdownSignal,
ShutdownTaskPhase, TaskJoinDeadline, TelemetryFlushDeadline, TelemetryFlushStatus,
UnjoinedPhase,
};
pub use telemetry::{
DEFAULT_DROP_REPORT_WINDOW, DEFAULT_EXPORT_QUEUE_RECORDS, DEFAULT_RETAINED_EVENT_CAPACITY,
DEFAULT_RETAINED_EVENTS_PER_EXECUTION, DropReportWindow, EnqueueResult, EventTiming,
ExportError, ExportFlushReport, ExportQueueBound, ExporterConfigurationError,
IncidentBufferConfigurationError, IncidentEventBuffer, MAX_DROP_REPORT_WINDOW,
MAX_EXPORT_QUEUE_RECORDS, MAX_METRIC_NAME_ALLOWLIST, MAX_RETAINED_EVENTS_PER_EXECUTION,
METRIC_CARDINALITY_BUDGET, MIN_DROP_REPORT_WINDOW, MIN_EXPORT_QUEUE_RECORDS,
MetricCardinalityGuard, MetricConfigurationError, MetricDimensions, MetricFamily,
MetricObservation, MetricUnit, OTHER_LABEL_VALUE, TELEMETRY_EVENT_CATALOG,
TELEMETRY_SCHEMA_VERSION, TELEMETRY_SPAN_CATALOG, TelemetryEventKind, TelemetryEventSink,
TelemetryExportSink, TelemetryExporter, TelemetryQueue, TelemetryRecord, TelemetrySpanKind,
TelemetrySpanStatus,
};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");