Floris Bruynooghe
616eabc613
feat: Make the IoPausedGuard a simple sender ( #4184 )
...
This replaces the mechanism by which the IoPauseGuard makes sure the
IO scheduler is resumed: it really is a drop guard now by sending a
single message on drop.
This makes it not have to hold on to anything like the context so
makes it a lot easier to use.
The trade-off is that a long-running task is spawned when the guard is
created, this task needs to receive the message from the drop guard in
order for the scheduler to resume.
2023-03-22 17:42:21 +01:00
Floris Bruynooghe
e985588c6c
ref(jsonrpc): Getting backup provider QR code now blocks ( #4198 )
...
This changes the JSON-RPC APIs to get a QR code from the backup
provider to block. It means once you have a (blocking) call to
provide_backup() you can call get_backup_qr() or get_backup_qr_svg()
and they will block until the QR code is available.
Calling get_backup_qr() or get_backup_qr_svg() when there is no backup
provider will immediately error.
2023-03-22 12:45:38 +01:00
bjoern
034cde9289
typo: CollectionReceived ( #4189 )
2023-03-21 10:21:30 +01:00
Floris Bruynooghe
35f50a8965
feat: Pause IO for BackupProvider ( #4182 )
...
This makes the BackupProvider automatically invoke pause-io while it
is needed.
It needed to make the guard independent from the Context lifetime to
make this work. Which is a bit sad.
2023-03-20 19:57:17 +01:00
link2xt
5d80d4788c
Pause I/O in get_backup()
2023-03-20 10:24:59 +01:00
link2xt
eb0f896d57
Use scheduler.is_running()
2023-03-19 11:23:09 +00:00
dignifiedquire
fd358617f5
feat: implement more detailed progress on sending
2023-03-17 23:37:00 +01:00
link2xt
0a5542a698
Log transfer rate on success
2023-03-17 10:45:43 +00:00
dignifiedquire
518bd19e96
fix: do not block transfer on db import
2023-03-17 11:29:27 +01:00
dignifiedquire
7a49e9401f
fixup clippy & fmt
2023-03-16 17:53:27 +01:00
link2xt
cbc18ee5a4
Log connection errors
2023-03-14 18:49:14 +00:00
dignifiedquire
14521cfc2d
improve address handling
2023-03-14 15:38:28 +01:00
Floris Bruynooghe
05e50ea787
Connect to all addresses the provider has
...
This uses a branch directly from iroh repo again
2023-03-09 16:49:34 +01:00
Floris Bruynooghe
c7de4f66e7
Bind to 0.0.0.0
2023-03-09 15:34:15 +01:00
Floris Bruynooghe
c1a2df91ac
Fix typo in blob names
...
This is now tested properly too.
2023-03-02 21:53:13 +01:00
Floris Bruynooghe
9d88ef069e
log some more
2023-03-02 11:21:05 +01:00
Floris Bruynooghe
155dff2813
renaming of upstream
2023-03-02 11:18:30 +01:00
Floris Bruynooghe
6f24874eb8
Use a RAII guard to remove the db export
2023-03-02 10:58:39 +01:00
Floris Bruynooghe
5833a9b347
fix doc comments
2023-02-22 18:50:32 +01:00
Floris Bruynooghe
fc64c33368
Use released version of sendme^Wiroh
...
This switches to a released version. It has been renamed from sendme
to iroh.
2023-02-22 16:05:24 +01:00
Floris Bruynooghe
b920db12c7
Split _wait and _unref
...
This also removes BackupProvider::join in favour of implementing
Future directly. I wondered about implementing a FusedFutre to make
this a little safer but it would introduce a dependency on the futures
crate in deltachat-ffi which did not exist yet, so I didn't do that.
2023-02-20 15:56:05 +01:00
Floris Bruynooghe
73b90eee3e
improve docs
2023-02-20 13:10:29 +01:00
Floris Bruynooghe
ada858f439
Improve comments, mostly ffi. and some renames
2023-02-20 12:48:43 +01:00
Floris Bruynooghe
8072f78058
Do not emit ImexEvent From BlobDirIter
...
We no longer need that in the transfer case, that would give very
weird results. This also means there is nothing imex-specific about
this anymore so move it to blobs.rs
2023-02-16 18:05:09 +01:00
Floris Bruynooghe
c48c2af7a1
Allow retrieval of backup QR on context
...
This enables being able to get the QR code without needing to have
access to the BackupProvider itself. This is useful for the JSON-RPC
server.
2023-02-16 16:49:20 +01:00
Floris Bruynooghe
490a14c5ef
Remove the need for a directory for db export
...
Plus on import use the context directory. We can actually write there
just fine.
2023-02-16 16:06:41 +01:00
Floris Bruynooghe
19f6f89312
no let else :(
2023-02-14 13:29:55 +01:00
Floris Bruynooghe
d56e05a11a
fixup doc links
2023-02-14 13:27:15 +01:00
Floris Bruynooghe
c379a4e5a7
use ProgressEmitter from sendme
2023-02-14 13:19:43 +01:00
Floris Bruynooghe
ff0d675082
Make getting backup use the ongoing process
2023-02-14 12:19:40 +01:00
Floris Bruynooghe
e1087b4145
translate the string for qr code
2023-02-14 12:07:02 +01:00
Floris Bruynooghe
852adbe514
bits left over from master merge
2023-02-13 15:45:38 +01:00
Floris Bruynooghe
6a3fe3db92
fixup doc comments
2023-02-10 14:15:39 +01:00
Floris Bruynooghe
ac048c154d
Add progress for provider
...
Fix progress for getter. Maths. It's hard.
Add test for progress.
2023-02-10 13:54:50 +01:00
Floris Bruynooghe
3f51a8ffc2
Some more doc comments
2023-02-10 10:48:10 +01:00
Floris Bruynooghe
2129b2b7a0
Add a ton of code for receiver-side progress
2023-02-09 18:09:16 +01:00
Floris Bruynooghe
3734fc25a7
update callback to take collection by ref
2023-02-09 10:02:18 +01:00
Floris Bruynooghe
05ddc13054
Use name prefixes so the db can not be spoofed by a blob
2023-02-07 18:21:46 +01:00
Floris Bruynooghe
187861c3b2
Make stuff work. With test!
2023-02-07 17:18:34 +01:00
Floris Bruynooghe
0b075ac762
Stop after a transfer happened.
2023-02-06 14:58:08 +01:00
Floris Bruynooghe
a6c889ed5e
Clean up files on errors
2023-02-02 18:11:12 +01:00
Floris Bruynooghe
ca1533b0e4
delete device messages
2023-02-02 17:47:41 +01:00
Floris Bruynooghe
3267596a30
handle the database
2023-02-02 17:43:12 +01:00
Floris Bruynooghe
5f29b93970
Start of get support and create new module.
2023-02-02 17:15:23 +01:00