Initialization constructor
Initialization({
- required NdkConfig config,
- required GlobalState globalState,
Implementation
Initialization({
required this.config,
required this.globalState,
}) {
relayManager = RelayManager(
nostrTransportFactory: _webSocketNostrTransportFactory,
bootstrapRelays: config.bootstrapRelays,
globalState: globalState,
);
switch (config.engine) {
case NdkEngine.RELAY_SETS:
engine = RelaySetsEngine(
cacheManager: config.cache,
globalState: globalState,
relayManager: relayManager,
);
break;
case NdkEngine.JIT:
engine = JitEngine(
eventSigner: config.eventSigner,
cache: config.cache,
ignoreRelays: config.ignoreRelays,
seedRelays: config.bootstrapRelays,
globalState: globalState,
);
break;
default:
throw UnimplementedError("Unknown engine");
}
cacheWrite = CacheWrite(config.cache);
cacheRead = CacheRead(config.cache);
requests = Requests(
globalState: globalState,
cacheRead: cacheRead,
cacheWrite: cacheWrite,
networkEngine: engine,
eventVerifier: config.eventVerifier,
);
follows = Follows(
requests: requests,
cacheManager: config.cache,
relayManager: relayManager,
);
metadatas = Metadatas(
requests: requests,
cacheManager: config.cache,
relayManager: relayManager,
);
userRelayLists = UserRelayLists(
requests: requests,
cacheManager: config.cache,
relayManager: relayManager,
);
lists = Lists(
requests: requests,
cacheManager: config.cache,
relayManager: relayManager,
);
relaySets = RelaySets(
cacheManager: config.cache,
relayManager: relayManager,
userRelayLists: userRelayLists,
);
}