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

This commit is contained in:
usbharu 2024-04-22 10:58:44 +09:00
parent acd3555f97
commit 5349b1a060
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.Task
import dev.usbharu.owl.common.task.TaskDefinition import dev.usbharu.owl.common.task.TaskDefinition
/**
* タスクを発生させるクライアント
*
*/
interface OwlProducer { interface OwlProducer {
/**
* Producerを開始します
*
*/
suspend fun start() suspend fun start()
/**
* タスク定義を登録します
*
* @param T 登録するタスク
* @param taskDefinition 登録するタスクの定義
*/
suspend fun <T : Task> registerTask(taskDefinition: TaskDefinition<T>) suspend fun <T : Task> registerTask(taskDefinition: TaskDefinition<T>)
/**
* タスクを公開しますタスクは定義済みである必要があります
*
* @param T 公開するタスク
* @param task タスクの詳細
* @return 公開されたタスク
*/
suspend fun <T : Task> publishTask(task: T): PublishedTask<T> suspend fun <T : Task> publishTask(task: T): PublishedTask<T>
} }