[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet-scheme] branch master updated (ca54828 -> 31f69a0)
From: |
gnunet |
Subject: |
[gnunet-scheme] branch master updated (ca54828 -> 31f69a0) |
Date: |
Wed, 31 Aug 2022 13:30:16 +0200 |
This is an automated email from the git hooks/post-receive script.
maxime-devos pushed a change to branch master
in repository gnunet-scheme.
from ca54828 cadet/client: Handle closing channels.
new dbbb55f data-string: Eliminate mutation of variables.
new 7dcbbeb NEWS: Add news entries.
new c302831 NEWS: normalise EOL.
new 502cb77 Sort changes since 0.2.
new 31f69a0 guix: Extend description for new version.
The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
NEWS | 28 ++++++++++++++++++++++++----
gnu/gnunet/data-string.scm | 44 ++++++++++++++++++++++++--------------------
guix.scm | 17 +++++++++++++++--
3 files changed, 63 insertions(+), 26 deletions(-)
diff --git a/NEWS b/NEWS
index f0b56b2..7122b2a 100644
--- a/NEWS
+++ b/NEWS
@@ -7,12 +7,32 @@
# without any warranty.
* Changes since 0.2
-** API
+** New functionality
+ - There is some initial support for CADET in (gnu gnunet cadet client),
+ documented in the manual. However, it is incomplete and reconnection
+ is completely untested.
- DHT searches can now be stopped (‘cancelled’) with 'stop-get!'.
Additionally, DHT searches are automatically cancelled when the
search object becomes unreachable.
- - DHT server objects are automatically disconnected when they become
- unreachable (TODO: NSE server objects!)
+ - DHT and NSE server objects are automatically disconnected when they become
+ unreachable.
+ - The new module (gnu gnunet concurrency lost-and-found) can detect if an
+ object became garbage-collectable, interacting with guile-fibers.
+ - (gnu gnunet utils bv-slice) has been extended.
+** API changes
+ - (gnu gnunet data-string) now signals bogus input with exceptions instead
+ of returning #false.
+ - (gnu gnunet utils hat-let) is now more flexible in recognising _ --
+ it is now irrelevant whether _ has been imported (from (rnrs base))
+ or not.
+** Bug fixes
+ - Negative floating point numbers are now recognised by the configuration
parser.
+ - Envelopes now have a 'envelope-peek-irrevocably-sent?' procedure for
testing
+ if it has been sent.
+** Internals
+ - (gnu gnunet data-string) has been modified to not mutate any variables.
+ - The tests in tests/mq-stream are now more sensitive.
+ - Documentation has been split in several files.
** Documentation
- The ‘message-symbol’ network structure property is now defined for DHT
messages and documented in the manual. The aim is to make the code
@@ -33,4 +53,4 @@
so unreadability of slices cannot be circumvented with object->string
anymore.
- Bytevector slice manipulating code now raises &missing-capabilities
- conditions instead of &assertion when appropriate.
\ No newline at end of file
+ conditions instead of &assertion when appropriate.
diff --git a/gnu/gnunet/data-string.scm b/gnu/gnunet/data-string.scm
index 041d382..54150d0 100644
--- a/gnu/gnunet/data-string.scm
+++ b/gnu/gnunet/data-string.scm
@@ -53,26 +53,30 @@ of the C implementation.
@var{size}: length of data to encode, in octets"
((bv) (data->string bv 0 (bytevector-length bv)))
((bv offset size)
- (let loop ((vbit 0) (rpos offset) (bits 0) (accumulated '()))
- (if (or (< (- rpos offset) size) (> vbit 0))
- (begin
- (when (and (< (- rpos offset) size) (< vbit 5))
- (set! bits (bitwise-ior (bitwise-arithmetic-shift-left bits 8)
- (bytevector-u8-ref bv rpos)))
- (set! rpos (+ 1 rpos))
- (set! vbit (+ vbit 8)))
- (when (< vbit 5)
- (set! bits (bitwise-arithmetic-shift-left bits (- 5 vbit)))
- (assert (= vbit (mod (* 8 size) 5)))
- (set! vbit 5))
- (loop (- vbit 5) rpos bits
- (cons (string-ref charset
- (bitwise-and
- (bitwise-arithmetic-shift-right
- bits (- vbit 5)) 31))
- accumulated)))
- (begin (assert (= 0 vbit))
- (apply string (reverse accumulated))))))))
+ (let^ ((/o/ loop (vbit 0) (rpos offset) (bits 0) (accumulated '()))
+ (? (not (or (< (- rpos offset) size) (> vbit 0)))
+ (assert (= 0 vbit))
+ (apply string (reverse accumulated)))
+ (<-- (bits rpos vbit)
+ (if (and (< (- rpos offset) size) (< vbit 5))
+ (let^ ((! bits (bitwise-ior
(bitwise-arithmetic-shift-left bits 8)
+ (bytevector-u8-ref bv rpos)))
+ (! rpos (+ 1 rpos))
+ (! vbit (+ vbit 8)))
+ (values bits rpos vbit))
+ (values bits rpos vbit)))
+ (<-- (bits vbit)
+ (if (< vbit 5)
+ (begin
+ (assert (= vbit (mod (* 8 size) 5)))
+ (values (bitwise-arithmetic-shift-left bits (- 5
vbit)) 5))
+ (values bits vbit))))
+ (loop (- vbit 5) rpos bits
+ (cons (string-ref charset
+ (bitwise-and
+ (bitwise-arithmetic-shift-right
+ bits (- vbit 5)) 31))
+ accumulated))))))
;; TODO: appropriate supertype
;; TODO: fields!
diff --git a/guix.scm b/guix.scm
index d05ce8c..b5ff740 100644
--- a/guix.scm
+++ b/guix.scm
@@ -60,8 +60,21 @@
texmacs
xvfb-run))
(inputs (list guile-3.0-latest))
- (synopsis "partial Scheme port of GNUnet")
+ (synopsis "Guile implementation of GNUnet client libraries")
(license license:agpl3+)
- (description #f)
+ ;; Description for new version
+ (description "This package provides Guile modules for connecting to various
+GNUnet services. It also has infrastructure for writing new GNUnet services and
+connecting to them and can be used from multi-threaded environments. It is not
+to be confused with @code{guile-gnunet} -- @code{guile-gnunet} supports a
different
+set of services.
+
+The following services are supported:
+
+@itemize
+@item NSE (network size estimation)
+@item DHT (distributed hash table)
+@item CADET (secure end-to-end communication between arbitrary peers)
+@end itemize")
(home-page #f)))
scheme-gnunet
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnunet-scheme] branch master updated (ca54828 -> 31f69a0),
gnunet <=
- [gnunet-scheme] 03/05: NEWS: normalise EOL., gnunet, 2022/08/31
- [gnunet-scheme] 01/05: data-string: Eliminate mutation of variables., gnunet, 2022/08/31
- [gnunet-scheme] 04/05: Sort changes since 0.2., gnunet, 2022/08/31
- [gnunet-scheme] 02/05: NEWS: Add news entries., gnunet, 2022/08/31
- [gnunet-scheme] 05/05: guix: Extend description for new version., gnunet, 2022/08/31