async def _alice_context(): async with backend_authenticated_cmds_factory( alice.organization_addr, alice.device_id, alice.signing_key ) as cmds: rdm = RemoteDevicesManager(cmds, alice.root_verify_key) async with UserFS.run( alice, path, cmds, rdm, event_bus, get_prevent_sync_pattern() ) as user_fs: yield user_fs
async def logged_core_factory(config: CoreConfig, device: LocalDevice, event_bus: Optional[EventBus] = None): event_bus = event_bus or EventBus() prevent_sync_pattern = get_prevent_sync_pattern( config.prevent_sync_pattern_path) backend_conn = BackendAuthenticatedConn( addr=device.organization_addr, device_id=device.device_id, signing_key=device.signing_key, event_bus=event_bus, max_cooldown=config.backend_max_cooldown, max_pool=config.backend_max_connections, keepalive=config.backend_connection_keepalive, ) remote_devices_manager = RemoteDevicesManager(backend_conn.cmds, device.root_verify_key) async with UserFS.run( data_base_dir=config.data_base_dir, device=device, backend_cmds=backend_conn.cmds, remote_devices_manager=remote_devices_manager, event_bus=event_bus, prevent_sync_pattern=prevent_sync_pattern, preferred_language=config.gui_language, workspace_storage_cache_size=config.workspace_storage_cache_size, ) as user_fs: backend_conn.register_monitor( partial(monitor_messages, user_fs, event_bus)) backend_conn.register_monitor(partial(monitor_sync, user_fs, event_bus)) async with backend_conn.run(): async with mountpoint_manager_factory( user_fs, event_bus, config.mountpoint_base_dir, mount_all=config.mountpoint_enabled, mount_on_workspace_created=config.mountpoint_enabled, mount_on_workspace_shared=config.mountpoint_enabled, unmount_on_workspace_revoked=config.mountpoint_enabled, exclude_from_mount_all=config.disabled_workspaces, ) as mountpoint_manager: yield LoggedCore( config=config, device=device, event_bus=event_bus, mountpoint_manager=mountpoint_manager, user_fs=user_fs, remote_devices_manager=remote_devices_manager, backend_conn=backend_conn, )
async def _user_fs_factory(device, event_bus=None, initialize_in_v0: bool = False): event_bus = event_bus or event_bus_factory() async with backend_authenticated_cmds_factory( device.organization_addr, device.device_id, device.signing_key ) as cmds: path = local_storage_path(device) rdm = RemoteDevicesManager(cmds, device.root_verify_key) async with UserFS.run(device, path, cmds, rdm, event_bus) as user_fs: if not initialize_in_v0: await initialize_userfs_storage_v1(user_fs.storage) yield user_fs
async def _user_fs_factory(device, event_bus=None, data_base_dir=data_base_dir): event_bus = event_bus or event_bus_factory() async with backend_authenticated_cmds_factory( device.organization_addr, device.device_id, device.signing_key) as cmds: rdm = RemoteDevicesManager(cmds, device.root_verify_key) async with UserFS.run(data_base_dir, device, cmds, rdm, event_bus, get_prevent_sync_pattern()) as user_fs: yield user_fs
async def logged_core_factory( config: CoreConfig, device: LocalDevice, event_bus: Optional[EventBus] = None ): event_bus = event_bus or EventBus() backend_conn = BackendAuthenticatedConn( addr=device.organization_addr, device_id=device.device_id, signing_key=device.signing_key, event_bus=event_bus, max_cooldown=config.backend_max_cooldown, max_pool=config.backend_max_connections, keepalive=config.backend_connection_keepalive, ) path = config.data_base_dir / device.slug remote_devices_manager = RemoteDevicesManager(backend_conn.cmds, device.root_verify_key) async with UserFS.run( device, path, backend_conn.cmds, remote_devices_manager, event_bus ) as user_fs: backend_conn.register_monitor(partial(monitor_messages, user_fs, event_bus)) backend_conn.register_monitor(partial(monitor_sync, user_fs, event_bus)) async with backend_conn.run(): async with mountpoint_manager_factory( user_fs, event_bus, config.mountpoint_base_dir ) as mountpoint_manager: yield LoggedCore( config=config, device=device, event_bus=event_bus, remote_devices_manager=remote_devices_manager, mountpoint_manager=mountpoint_manager, backend_conn=backend_conn, user_fs=user_fs, )