doc: OwlProducerのドキュメントを追加

This commit is contained in:
usbharu 2024-04-22 10:58:44 +09:00
parent 54b1cbde9c
commit c76f9e36f0
Signed by: usbharu
GPG Key ID: 8CB1087135660B8D
1 changed files with 22 additions and 0 deletions

View File

@ -20,10 +20,32 @@ import dev.usbharu.owl.common.task.PublishedTask
import dev.usbharu.owl.common.task.Task
import dev.usbharu.owl.common.task.TaskDefinition
/**
* タスクを発生させるクライアント
*
*/
interface OwlProducer {
/**
* Producerを開始します
*
*/
suspend fun start()
/**
* タスク定義を登録します
*
* @param T 登録するタスク
* @param taskDefinition 登録するタスクの定義
*/
suspend fun <T : Task> registerTask(taskDefinition: TaskDefinition<T>)
/**
* タスクを公開しますタスクは定義済みである必要があります
*
* @param T 公開するタスク
* @param task タスクの詳細
* @return 公開されたタスク
*/
suspend fun <T : Task> publishTask(task: T): PublishedTask<T>
}