gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]