From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Julian Graham Newsgroups: gmane.lisp.guile.user Subject: Re: [ANN] gzochi project development release 0.12 Date: Wed, 4 Jul 2018 11:01:35 -0400 Message-ID: References: <99e8b79c-6ece-08af-4632-936a13aded03@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Trace: blaine.gmane.org 1530716454 27736 195.159.176.226 (4 Jul 2018 15:00:54 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 4 Jul 2018 15:00:54 +0000 (UTC) Cc: Guile Users To: zelphirkaltstahl@gmail.com Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Wed Jul 04 17:00:50 2018 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fajH0-00077f-4p for guile-user@m.gmane.org; Wed, 04 Jul 2018 17:00:50 +0200 Original-Received: from localhost ([::1]:47649 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fajJ7-0003zU-0M for guile-user@m.gmane.org; Wed, 04 Jul 2018 11:03:01 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48381) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fajI1-0003Y4-Cf for guile-user@gnu.org; Wed, 04 Jul 2018 11:01:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fajHv-0000BS-Dm for guile-user@gnu.org; Wed, 04 Jul 2018 11:01:53 -0400 Original-Received: from mail-yb0-x235.google.com ([2607:f8b0:4002:c09::235]:43957) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fajHv-0000BH-8X for guile-user@gnu.org; Wed, 04 Jul 2018 11:01:47 -0400 Original-Received: by mail-yb0-x235.google.com with SMTP id x10-v6so2171936ybl.10 for ; Wed, 04 Jul 2018 08:01:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=67Vl4YbzhgaEtHcrtYuB5MwU/nYfI1lvsBB+T/Ye1sQ=; b=e0yNs0KKso3/y3zKI1K9nyLHzeEA9vqclZDJouq1+Aea/w5BjtH1P3wjp1Hqc2nmMv PoXAgLQpq1ZKz3SXN7j5drEIdbY/PRzwkirpPS+cP0+qGsl3hBp+VbaxpOun5ZFtusiF ospCJn/0fwNTZmKHnKEYf8nxbJu1c5eV52boTB0NK4quT7FGtgLJlHvBDqxmQwmoENxU 34/0Mz2dcCgGKRGVTgBOXagDJuMbSuTAB8rJ+ItEvjDU/ef6HLuSfckjKzBFxb/c9+Bw 37bjOxcTXDkPpYn2GNcubglcTn8G4u0SnYx+tmBxtQ9qOWjmsg1vNbhorafCs9Mej9qv ZkDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=67Vl4YbzhgaEtHcrtYuB5MwU/nYfI1lvsBB+T/Ye1sQ=; b=FuIJgR7QGyTT4v0Eh8R+RkHi4eKVVpP+tcquRtImm/OmF/RpKeRogxOA/Cy5tC6gdF dkZZm0Z1QOz7pC0D8nDHeBufirLZ0IjPuKL28FR+puI8r0BAPdqqI10Ls1QuOucOUSuN bFlEV54WydPI/D842lUgGiqXUivVzAG8O+t+IeueWDCmoFE/VxVqKQvaqDwDihb7WFBD MP4aYJExk/0Awr6RzCetwS3RLyDyYIR/RPJE+lxPzuQHv6zNHbu4hIKagT50rMnIH35P 5F6JCK2iK5gSOKDjjTVCoGNP+iTbmLR6mU5GIhIU/wY9kD9h1PEdDVqYNQ4yLfNOdlML sZYw== X-Gm-Message-State: APt69E0GQTtpMPAAntt6PY7FopAT3mwhiUwfjnPf19yVPy9lpYqbKeNi U7f64sNNuT76C/MDCs6KERMEuQ5L96q5fmFH6Ec= X-Google-Smtp-Source: AAOMgpcaL1fvR+s+y2zR9Z9o1jt2gknLzkVRYrYfq09ZEFYZhflL5j1+My7Gz2x36AFbJ4wpKtQk8bXA0NhUN1NXP7E= X-Received: by 2002:a25:4e87:: with SMTP id c129-v6mr1197605ybb.156.1530716506229; Wed, 04 Jul 2018 08:01:46 -0700 (PDT) In-Reply-To: <99e8b79c-6ece-08af-4632-936a13aded03@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4002:c09::235 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:14685 Archived-At: Hi Zelphir! I'm afraid I'm going to disappoint you: Most of gzochi is written in C, including the networking and message-delivery code. The C code links with libguile to host Guile applications and inject them with services like messaging and data storage. So there isn't much Guile networking code to study. You're right that keeping state synchronized across multiple servers is difficult. It's handled in different ways in different parts of the system, but at a high level, the architecture works like this: There are application container servers, which clients log into and which actually run Guile application code; and, when running in distributed mode, there is a meta server, which the application container servers log into and which takes care of maintaining shared state like lock tables, task assignments, message routing, etc. On Tue, Jul 3, 2018 at 6:36 PM Zelphir Kaltstahl wrote: > > Sounds really good! I did not know about gzochi. > > I am interested in the networking part. Do you have some document > somewhere describing how gzochi handles distributed servers and what the > approach is to keep stuff synchronized over multiple servers? Or how it > deals with disconnects from servers? As I have not done much network > programming, these things seem complex and I don't know much about them > yet. It would be great to have a learning resource that describes these > things and how they are implemented using Guile.