[beepwg] [ANN] Vortex Library 1.1.7 "Exogenesis Symphony Part 1: Overture" release is ready!

Francis Brosnan Blazquez <francis@aspl.es> Thu, 27 January 2011 17:56 UTC

Return-Path: <beepwg-bounces@beepcore.org>
X-Original-To: ietfarch-beep-archive@core3.amsl.com
Delivered-To: ietfarch-beep-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CD1B53A699E for <ietfarch-beep-archive@core3.amsl.com>; Thu, 27 Jan 2011 09:56:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.299
X-Spam-Level:
X-Spam-Status: No, score=-1.299 tagged_above=-999 required=5 tests=[AWL=1.300, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EWs1Ked1S5Q7 for <ietfarch-beep-archive@core3.amsl.com>; Thu, 27 Jan 2011 09:56:39 -0800 (PST)
Received: from hl45.dinaserver.com (hl45.dinaserver.com [82.98.131.66]) by core3.amsl.com (Postfix) with ESMTP id D4C683A67FB for <beep-archive@lists.ietf.org>; Thu, 27 Jan 2011 09:56:38 -0800 (PST)
Received: from hl45.dinaserver.com (localhost [127.0.0.1]) by hl45.dinaserver.com (Postfix) with ESMTP id 6306E759A0D; Thu, 27 Jan 2011 18:58:01 +0100 (CET)
X-Original-To: beepwg@beepcore.org
Delivered-To: beepwg@hl45.dinaserver.com
Received: from mail.aspl.es (196.Red-212-170-101.staticIP.rima-tde.net [212.170.101.196]) by hl45.dinaserver.com (Postfix) with ESMTP id B77596698B3; Thu, 27 Jan 2011 18:38:54 +0100 (CET)
Received: from localhost (localhost [127.0.0.1]) by mail.aspl.es (Postfix) with ESMTP id 1499A1170005; Thu, 27 Jan 2011 18:38:52 +0100 (CET)
X-Virus-Scanned: amavisd-new at aspl.es
Received: from mail.aspl.es ([127.0.0.1]) by localhost (dolphin.aspl.es [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t5jBqgHH+H0C; Thu, 27 Jan 2011 18:38:36 +0100 (CET)
Received: from [192.168.0.132] (barracuda [10.0.0.4]) by mail.aspl.es (Postfix) with ESMTP id 37BB41170001; Thu, 27 Jan 2011 18:38:36 +0100 (CET)
From: Francis Brosnan Blazquez <francis@aspl.es>
To: Vortex <vortex@lists.aspl.es>, Vortex Tech Support <vortex-tech-support@aspl.es>
Content-Type: text/plain; charset="ISO-8859-15"
Organization: ASPL
Date: Thu, 27 Jan 2011 18:38:34 +0100
Message-Id: <1296149914.31159.734.camel@vulcan.aspl.local>
Mime-Version: 1.0
X-Mailer: Evolution 2.26.3
Content-Transfer-Encoding: 8bit
X-DinaScanner: Libre de Virus, Libre de Virus
X-DinaScanner-SpamCheck: no es spam, SpamAssassin (no almacenado, puntaje=0.001, requerido 6, autolearn=not spam, RELAY_ES 0.00), no es spam, SpamAssassin (almacenado, puntaje=0.001, requerido 6, autolearn=not spam, RELAY_ES 0.00)
Cc: BEEP <beepbuilders@beepcore.org>, BEEPwg <beepwg@beepcore.org>
Subject: [beepwg] [ANN] Vortex Library 1.1.7 "Exogenesis Symphony Part 1: Overture" release is ready!
X-BeenThere: beepwg@beepcore.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <beepwg.beepcore.org>
List-Unsubscribe: <http://beepcore.org/mailman/options/beepwg>, <mailto:beepwg-request@beepcore.org?subject=unsubscribe>
List-Post: <mailto:beepwg@beepcore.org>
List-Help: <mailto:beepwg-request@beepcore.org?subject=help>
List-Subscribe: <http://beepcore.org/mailman/listinfo/beepwg>, <mailto:beepwg-request@beepcore.org?subject=subscribe>
Sender: beepwg-bounces@beepcore.org
Errors-To: beepwg-bounces@beepcore.org
X-DinaScanner-Information: DinaScanner. Filtro anti-Spam y anti-Virus
X-MailScanner-ID: 6306E759A0D.684AB
X-DinaScanner-From: beepwg-bounces@beepcore.org

      ###################################################
      ##              Vortex Library 1.1.7             ##
      ##     "Exogenesis Symphony Part 1: Overture"    ##
      ###################################################

Release note
~~~~~~~~~~~~

  Advanced Software Production Line is proud to announce Vortex
  Library 1.1.7 "Exogenesis Symphony Part 1: Overture" release
  availability: an open source "BEEP Core" protocol implementation
  written in C, mapped onto TCP/IP.

  Vortex Library is a stable and robust application protocol
  development toolkit, with active support for Microsoft Windows and
  GNU/Linux platforms.

  Check out the following links to get ready with Vortex Library:

    - http://www.aspl.es/vortex
      [Vortex Library homepage]

    - http://www.aspl.es/vortex/py-vortex/html
      [PyVortex homepage]

    - http://www.aspl.es/turbulence
      [Turbulence BEEP server homepage]
 
    - http://www.sf.net/projects/vortexlibrary
      [Sources and Win32 binaries]

    - http://www.beepcore.org
      [BEEP Core community web site]

    - http://www.aspl.es/xml
      [Axl Library, XML 1.0 implementation]
    
This release in short
~~~~~~~~~~~~~~~~~~~~~

  - Several improvements to make the library faster while transferring
    content on a single channel. Used FTP/SMB as reference for LAN
    host to host transfer. Now the library performs with similar
    results:

    Using FTP/SMB:                 26,31 secs (11660,50 KB/sec)
    Using feeder with 32k window:  27.47 secs (11192,55 KB/sec)
    
    (test transfers a 300MB binary .avi file)

  - Updated payload feeder API to allow cancel or pause a
    transfer. Updated payload feeder to allow the user to install a
    handler called when transfer finish.

  - Many updates and regression tests improvements.

Change notifications
~~~~~~~~~~~~~~~~~~~~
  None

Thanks to..
~~~~~~~~~~~

  - Gernot Siedler (reported memory leaks at ALIVE, reported wrong
    vortex private header inclusion).

  - Benoit Amiaux (Reported and fixed various compilation errors at
    vortex reg-tests,

  - Ralf Konush (Reported vortex crash on crafted BEEP frames without
    MIME header and no \n or \r\n at the content, Reported missing
    symbols at libvortex-1.1.def).

Changes since 1.1.6
~~~~~~~~~~~~~~~~~~~

* [fix] Fixed memory leak at alive implementation when connection
  ref count update fails. Reported by Gernot Seidler.

* [fix] Fixed various compilation warnings at vortex regression test
  suite. Reported and fixed by Benoit Amiaux. 

* [fix] Updated PyVortex sending API to allow providing -1 as content
  size to allow the function to deduce the content size to send to
  properly send unicode strings which provides character length size
  but not byte level size. Added test_25 to reproduce the bug and
  check the fix introduced.

* [new] Adding initial implementation for a circular blocking support
  byte buffer which will be used by vortex payload feeder to improve
  file transfer performance. API added:

   - vortex_cbuffer_new
   - vortex_cbuffer_is_empty
   - vortex_cbuffer_size
   - vortex_cbuffer_available_bytes
   - vortex_cbuffer_put
   - vortex_cbuffer_get
   - vortex_cbuffer_free

* [fix] Many improvements into VortexCBuffer implementation. Added
  initial working regression test to check its function. Still more
  work is required.

* [fix] More updates to circular byte buffer (VortexCBuffer). More
  updates to regression test (test_00d). Still more work is required.

* [fix] More updates to vortex cbuffer implementation. Still more work
  required.

* [fix] More fixings and updates to vortex cbuffer
  implementation. Also updated reg test. Still more work required.

* [fix] More fixings to VortexCBuffer structure. Updated regression
  test test_00-d to include more checks. The structure is not
  properly working. NICE!

* [fix] Adding initial patches to integrate VortexCBuffer into payload
  file feeder. API added:

  - vortex_payload_feeder_file_set_buffer

  Still more work is required.

* [fix] Reimplemented vortex_cbuffer_is_empty to use internally
  vortex_cbuffer_available_bytes.

* [new] Updated VortexPayloadFeeder implementation to support thread
  safe reference counting. API added:

   - vortex_payload_feeder_ref
   - vortex_payload_feeder_unref

* [new] Finished initial working support to include a circular buffer
  (VortexCBuffer) inside the vortex payload feeder from file to allow
  doing all I/O during the wait until next SEQ frame is received.

* [fix] Updated test_04e regression test to check transferring
  content.

* [fix] Updated vortex-file-transfer-client.c to allow configuring its
  different options through command line parameters.
  
  Using a payload feeder with an configured buffer. 

* [fix] Several modifications to vortex payload feeder.
  
* [fix] Dropping lot of work invested in vortex_cbuffer.[hc]. It is
  working fast and so, but it does not fix the issue. Updated vortex
  payload feeder integration with vortex_cbuffer. Regression tests and
  additional checks shows little or no improvement after
  integrating VortexCBuffer.

* [fix] Removed call to memset inside epoll initialization at vortex
  io module.

* [fix] Removing all references to VortexCBuffer.

* [fix] More updates to remove vortex cbuffer.

* [fix] Adding additional #if #endif conditionals to remove debug code
  that won't be run because it is behind of vortex_log_is_enabled and
  similar functions.

* [fix] Removing reply_processed code from vortex channel which is now
  no longer required. Flagged vortex_channel_flag_reply_processed as
  deprecated. Checked regression test. Everything ok.

* [fix] Some updates to make vortex-file-transfer-server.c 
  to be able to read binary files on windows platform.

* [fix] Minimal updates to vortex-file-transfer-server.c to allow
  selecting the file to serve.

* [fix] Moved VortexConnection object definition to
  vortex_connection_private.h so it can be used internally from other
  vortex modules.  Updated definition to include reader_unwatch and
  initial_accept to avoid using vortex_connection_get_data to check
  those values.

* [fix] Updated vortex_frame_readline implementation to avoid using
  vortex_connection_get_data to store half read lines but to use a
  fixed pointer stored associated into the connection. Code updated to
  not require using memset (0).

* [new] Updated vortex connection API to include a function that
  reports if a connection is in BEEP half opened state:

   - vortex_connection_half_opened.

* [fix] Removed not required debug message at
  __vortex_frame_get_next_id.

* [fix] Making internal content allocation for vortex_frame_get_next
  to use malloc (instead of calloc) to improve performance (by not
  calling to memset) which is not required since the function returns
  complete and checked frames.

* [fix] VortexConnection internal implementation updates to use
  seq_frames_disabled and pre_accept_handler internal variables
  instead of storing them into the vortex connection data hash.

* [fix] More updates to move internal variables used by
  vortex_frame_get_next to track status that were using
  vortex_connection_set/get_data.

* [fix] Updating some calls to axl_new replaced by malloc to avoid
  memset stuff at channel and thread pool module.

* [fix] General updates applied to
  vortex_frame_build_up_from_params_s_buffer to avoid using
  axl_stream_printf_buffer which is too heavy, replacing that call
  with vortex_frame_build_header which implements the same operation
  but consuming 40% less time.

* [fix] Updating vortex-file-transfer-client.c to include an ellapsed
  time for the transfer.

* [fix] Making SEQ frame generation to use vortex_frame_build_header
  to improve performance.

* [fix] Fixed compilation warnings for test_00d under 32bit platforms.

* [fix] Fixed test_01-r which was finishing a connection twice.

* [fix] Fixed funny bug that was causing to crash mime processing when
  channel complete flag was disabled and the latest frame do not
  contains a \n or \r\n causing an internal iterator to read memory
  not allowed. Reported by Ralf Konush.

* [fix] Added initial code to allow cancelling or pausing a feeder
  transfer.

* [fix] Updating release..

* [fix] More updates on adding support to cancel and pause feeder.

* [fix] Updated internal call vortex_payload_feeder_is_finish to avoid
  requiring ctx (which is now provided by the feeder itself).

* [new] Added initial support to get a finish notification by a
  handler when a feeder transfer is done. API added:

   - VortexPayloadFeederFinishedHandler
   - vortex_payload_feeder_set_on_finished

* [fix] More updates to cancel and pause support. Added initial
  regression test (test-04-f) to check this new support.

* [fix] More updates on adding support to cancel or pause payload
  feeder transfers.

* [fix] Web updates to include cybiet and cybex references.

* [fix] More updates to support payload feeder
  cancelling/pausing. Removed vortex_payload_feeder_cancel since it
  provides same function as pause.  Still more work is required.

* [fix] Finished initial working support to pause/cancel a payload
  feeder transfer.

* [fix] Updated internal vortex channel module code to remove
  last_message_sent and last_message_received, replacing/updating code
  to use outstanding_msg list.

* [fix] Removed internal function vortex_channel_is_up_to_date.

* [fix] Updated vortex_payload_feeder_unref to not require a ctx
  parameter which is already provided at the creation time (and
  internally stored).

* [fix] Removed code not required at vortex reader which was commented
  out previously.

* [fix] Fixed bug that was causing vortex to lock forever in the case
  a vortex_connection_close call is issued and a wrong reply or
  connection lost happens at the right time when the vortex reader was
  calling to vortex_frame_get_next and in the case this function was
  the first to detect a connection failure. Added regression test
  test_01s1.

* [fix] Added internal call vortex_connection_set_initial_accept to
  allow turbulence to handle connections on childs.

* [fix] Updated payload feeder implementation to acquire a reference to
  the channel that was used to do the transfer.

* [new] Added working support to notify feeder finished transfer.  API
  added:

   - vortex_payload_feeder_set_on_finished
   - VortexPayloadFeederFinishedHandler

  Updated regression test (test_04f) to check proper notification.

* [new] Updated payload feeder API to include a function to get stats
  and status for a particular feeder. API added:

   - vortex_payload_feeder_status
   - VortexPayloadFeederStatus

  Updated regression test (test_04f) to check values returned.

* [fix] Fixed test_01r which was deadlocking on windows. Updated
  vortex thread win32 implementation to record thread Id to compare
  this value against current thread id on thread termination.

* [fix] Fixed documentation (vortex payload feeder updates).

* [fix] Updated vortex payload feeder to remove required VortexCtx
  parameter which now it is set when the feeder is actually used
  (avoid confusion when several VortexCtx are available).

* [fix] Adding __vortex_connection_set_not_connected to
  libvortex-1.1.def to allow libvortex-http-1.1 component to compile
  on windows. Reported by Ralf Konush.

* [fix] Making gettimeofday to be included into libvortex-1.1.def
  file.  Reported by Ralf Konush.

* [fix] Updated test 14-b to introduce a micro delay to ensure
  channels not available check to succeed. Reported by Ralf Konush.

* [fix] Several updates to ensure regression tests can run more tests
  even without having TLS (md5 was used for file checking).

* [fix] Removed private header vortex_connection_private.h to
  vortex_connection.c Reported by Gernot Seidler.

* [fix] Nullify mutex handler after closing it on windows. Reported
  and fixed by Thomas Unterleitner.

About Us
~~~~~~~~

  Advanced Software Production Line provides GNU/Linux support and
  consulting services to help organizations to introduce GNU/Linux
  inside its process.

  Contact us, using English or Spanish, to get commercial support
  and/or BEEP based development services.

  You can reach us:

       http://www.aspl.es - info@aspl.es

  Enjoy Vortex Library!  

--
Francis Brosnan Blázquez           - francis@aspl.es
Advanced Software Production Line  - http://www.aspl.es
27th jan 2011, Madrid (Spain)