/* * SPDX-License-Identifier: AGPL-3.0-or-later * Copyright (C) 2025 Sergej Görzen * This file is part of OmiLAXR. */ using OmiLAXR.Composers; namespace OmiLAXR.Endpoints { /// /// Defines the contract for statement transfer endpoints. /// Provides methods for managing statement sending lifecycle. /// public interface IEndpoint { /// /// Indicates whether the endpoint is currently in the process of sending statements. /// bool IsSending { get; } /// /// Indicates whether a transfer operation is currently in progress. /// bool IsTransferring { get; } /// /// Begins the statement sending process. /// /// Optional flag to reset the statement queue before starting void StartSending(bool resetQueue = false); /// /// Temporarily pauses the statement sending process. /// void PauseSending(); /// /// Completely stops the statement sending process. /// void StopSending(); /// /// Adds a single statement to the sending queue. /// /// The statement to be sent void SendStatement(IStatement statement); } }