mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[rd] IJPL-162621: Use Frontend and Workspace partitions for transactors
See fleet.kernel.rebase.RebaseLoopKt.offering where the check for Frontend partition is happening. Since by default partition is Common, it means that this check never succeeded GitOrigin-RevId: 133ed72d293fa1900cff8aa9f900a7b85217ec80
This commit is contained in:
committed by
intellij-monorepo-bot
parent
469010a42d
commit
8bb98d4b9e
+8
-15
@@ -4,19 +4,12 @@ package com.intellij.platform.ide.bootstrap.kernel
|
||||
import com.intellij.platform.kernel.util.kernelCoroutineContext
|
||||
import com.jetbrains.rhizomedb.EffectInstruction
|
||||
import com.jetbrains.rhizomedb.MapAttribute
|
||||
import com.jetbrains.rhizomedb.Part
|
||||
import com.jetbrains.rhizomedb.ReifyEntities
|
||||
import fleet.kernel.FrontendPart
|
||||
import fleet.kernel.TransactorMiddleware
|
||||
import fleet.kernel.rebase.AddCoder
|
||||
import fleet.kernel.rebase.CompositeCoder
|
||||
import fleet.kernel.rebase.CreateEntityCoder
|
||||
import fleet.kernel.rebase.FollowerTransactorMiddleware
|
||||
import fleet.kernel.rebase.InstructionSet
|
||||
import fleet.kernel.rebase.LeaderTransactorMiddleware
|
||||
import fleet.kernel.rebase.LocalInstructionCoder
|
||||
import fleet.kernel.rebase.RemoveCoder
|
||||
import fleet.kernel.rebase.RetractAttributeCoder
|
||||
import fleet.kernel.rebase.RetractEntityCoder
|
||||
import fleet.kernel.rebase.ValidateCoder
|
||||
import fleet.kernel.WorkspacePart
|
||||
import fleet.kernel.rebase.*
|
||||
import fleet.kernel.rete.withRete
|
||||
import fleet.kernel.withTransactor
|
||||
import kotlinx.coroutines.CompletableDeferred
|
||||
@@ -42,18 +35,18 @@ private val CommonInstructionSet: InstructionSet =
|
||||
|
||||
@ApiStatus.Internal
|
||||
suspend fun startClientKernel(scope: CoroutineScope): KernelStarted {
|
||||
return startKernel(scope, FollowerTransactorMiddleware(CommonInstructionSet.encoder()))
|
||||
return startKernel(scope, FollowerTransactorMiddleware(CommonInstructionSet.encoder()), partition = FrontendPart)
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
suspend fun startServerKernel(scope: CoroutineScope): KernelStarted {
|
||||
return startKernel(scope, LeaderTransactorMiddleware(CommonInstructionSet.encoder()))
|
||||
return startKernel(scope, LeaderTransactorMiddleware(CommonInstructionSet.encoder()), partition = WorkspacePart)
|
||||
}
|
||||
|
||||
private suspend fun startKernel(scope: CoroutineScope, middleware: TransactorMiddleware): KernelStarted {
|
||||
private suspend fun startKernel(scope: CoroutineScope, middleware: TransactorMiddleware, partition: Part): KernelStarted {
|
||||
val kernelContextDeferred = CompletableDeferred<CoroutineContext>()
|
||||
scope.launch {
|
||||
withTransactor(emptyList(), middleware = middleware) { _ ->
|
||||
withTransactor(emptyList(), middleware = middleware, defaultPart = partition) { _ ->
|
||||
withRete {
|
||||
kernelContextDeferred.complete(this.coroutineContext.kernelCoroutineContext())
|
||||
awaitCancellation()
|
||||
|
||||
Reference in New Issue
Block a user