mirror of
https://github.com/apple/pkl.git
synced 2026-05-31 02:50:40 +02:00
Refine external reader API (#762)
* Encapsulate message transport by removing `ExternalReaderProcess.getTransport` and adding `getModuleResolver` and `getResourceResolver` methods * Reuse `Random` instances within `ExternalReaderProcessImpl` and module/resource resolvers * Externalize all `ExternalReaderProcessException` messages * Add some missing doc comments to `ModuleKeyFactories` and `ResourceReaders` methods for external readers * Move org.pkl.core.util.Readers to org.pkl.core.Readers
This commit is contained in:
@@ -28,6 +28,8 @@ import org.pkl.core.messaging.MessageTransport
|
||||
import org.pkl.core.messaging.MessageTransports
|
||||
import org.pkl.core.messaging.Messages.*
|
||||
import org.pkl.core.messaging.ProtocolException
|
||||
import org.pkl.core.module.ExternalModuleResolver
|
||||
import org.pkl.core.resource.ExternalResourceResolver
|
||||
|
||||
class TestExternalReaderProcess(private val transport: MessageTransport) : ExternalReaderProcess {
|
||||
private val initializeModuleReaderResponses: MutableMap<String, Future<ModuleReaderSpec?>> =
|
||||
@@ -40,7 +42,11 @@ class TestExternalReaderProcess(private val transport: MessageTransport) : Exter
|
||||
transport.close()
|
||||
}
|
||||
|
||||
override fun getTransport(): MessageTransport = transport
|
||||
override fun getModuleResolver(evaluatorId: Long): ExternalModuleResolver =
|
||||
ExternalModuleResolver(transport, evaluatorId)
|
||||
|
||||
override fun getResourceResolver(evaluatorId: Long): ExternalResourceResolver =
|
||||
ExternalResourceResolver(transport, evaluatorId)
|
||||
|
||||
fun run() {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user