• exec/load/recordfile.js

    From deuce@VERT to CVS commit on Sat Aug 10 10:18:52 2019
    exec/load recordfile.js 1.15 1.16
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv23936

    Modified Files:
    recordfile.js
    Log Message:
    Add Lock() and UnLock() methods, and lock the record when creating a new
    one.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sat Aug 10 10:38:21 2019
    exec/load recordfile.js 1.16 1.17
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv26376

    Modified Files:
    recordfile.js
    Log Message:
    We can't just add milliseconds to a Date object.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sat Aug 10 10:47:37 2019
    exec/load recordfile.js 1.17 1.18
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv27457

    Modified Files:
    recordfile.js
    Log Message:
    Wait a millisecond before retrying a lock.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sat Aug 17 14:27:08 2019
    exec/load recordfile.js 1.18 1.19
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv8364

    Modified Files:
    recordfile.js
    Log Message:
    Add an optional "keep locked" paremeter to file I/O functions.
    Default is to have the same lock state on return as when entered.
    Lock records when reading/writing.

    Fix defaults to be raw values rather than objects... most obvious with
    Boolean values.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sun Aug 18 07:27:05 2019
    exec/load recordfile.js 1.19 1.20
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv5841

    Modified Files:
    recordfile.js
    Log Message:
    More concurrency changes...
    1) Don't mswait(1) on a successful lock, or when timeout is zero.
    2) Flush read buffer on Get and ReLoad()
    - If there's a single record in the file, close and re-open it.
    - If a lock is held on a different record already, read that record.
    - Otherwise, read the first record a lock with timeout zero succeeds.
    3) Flush write buffer on Put().

    This should now actually be safe as long as locks work.
    Using file_mutex() on records is the only potential change still needed. (Because POSIX fcntl() locks are insane)




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sun Aug 18 08:17:19 2019
    exec/load recordfile.js 1.20 1.21
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv12559

    Modified Files:
    recordfile.js
    Log Message:
    More concurency overhaul.
    Remember that only one record lock can be held per file on some systems due
    due flock() usage.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sat Aug 24 15:18:45 2019
    exec/load recordfile.js 1.23 1.24
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv9269/load

    Modified Files:
    recordfile.js
    Log Message:
    To make JSLint happy, non-constructer functions must not begin with an upper-case character.

    Provide upper-case wrapper for compatibility.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tue Aug 27 05:50:27 2019
    exec/load recordfile.js 1.24 1.25
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv12112/load

    Modified Files:
    recordfile.js
    Log Message:
    Support 16-bit integers.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tue Aug 27 11:56:49 2019
    exec/load recordfile.js 1.25 1.26
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv16091

    Modified Files:
    recordfile.js
    Log Message:
    Add 8-bit integer and "Pascal" string support.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tue Aug 27 15:27:37 2019
    exec/load recordfile.js 1.26 1.27
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv18204/load

    Modified Files:
    recordfile.js
    Log Message:
    Fix some buts for PString and Integer8 types.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Mon Sep 2 18:29:06 2019
    exec/load recordfile.js 1.27 1.28
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv27272/load

    Modified Files:
    recordfile.js
    Log Message:
    Always use base 10 for parseInt(), fix PString handling.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Fri Sep 6 17:39:09 2019
    exec/load recordfile.js 1.28 1.29
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv17506

    Modified Files:
    recordfile.js
    Log Message:
    For NaN to zero when writing number types.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Fri Sep 20 21:36:45 2019
    exec/load recordfile.js 1.29 1.30
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv21661/load

    Modified Files:
    recordfile.js
    Log Message:
    Add support for nested objects.
    Fix bug writing Integer8 values.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Mon Apr 6 11:51:23 2020
    exec/load recordfile.js 1.30 1.31
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv24925

    Modified Files:
    recordfile.js
    Log Message:
    Covert signed integers to unsigned before writing.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Mon Mar 1 17:05:06 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/f689af6f9f61c2a0efd6deb7
    Modified Files:
    exec/load/recordfile.js
    Log Message:
    Add put() and reInit() support for object/object array types.

    Apparently, I've never needed this before.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tue Mar 2 11:22:52 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/e49448b3f25aad3dd6606fff
    Modified Files:
    exec/load/recordfile.js
    Log Message:
    Add a close method.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wed Mar 3 17:01:09 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/7d9d878edebc528424256cf4
    Modified Files:
    exec/load/recordfile.js
    Log Message:
    Looks like a vbuf size of a record is broken. :(

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wed Mar 3 18:40:43 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/6ca58cf825da2af075306842
    Modified Files:
    exec/load/recordfile.js
    Log Message:
    Revert back to using vbuf for write buffering.

    While it would be nice to serialize it and do a single write, there's
    no native functions to create binary values from numbers in the
    Synchronet JS object model at this time.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net