createBackend method

  1. @override
Future<Backend> createBackend(
  1. BackendWorkerHandlerContext context,
  2. SyncEngineConfig config
)

Creates a backend instance for this remote handler.

Called once during worker initialization. The context provides access to connector receivers that receive data from the main thread (e.g., authentication credentials from RemoteMainHandler.workerConnectors).

Example:

@override
Future<Backend> createBackend(WorkerContext context, SyncEngineConfig config) async {
  return SolidBackend(
    auth: SolidAuthConnector.receiver(context),
  );
}

Implementation

@override
Future<Backend> createBackend(
    BackendWorkerHandlerContext context, SyncEngineConfig config) async {
  final solidConfig = await SolidConfigConnector.receiveConfig(context, id);

  final backend = SolidBackend(
    auth: SolidAuthConnector.receiver(context, id),
    rdfCore: context.rdfCore,
    iriTermFactory: context.iriFactory ?? IriTerm.validated,
    httpClient: _httpClient,
    config: solidConfig,
    storageAccessFactory: context.storageAccessFactory,
  );
  if (context.perflog != Perflog.disabled) {
    return PerflogPipelineBackend(backend, perflog: context.perflog);
  } else {
    return backend;
  }
}