orivej has joined #picolisp
orivej has quit [Ping timeout: 264 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
<
tankf33der>
Rundale palace
_whitelogger has joined #picolisp
freemint_ has joined #picolisp
<
Regenaxer>
tankf33der: I'm again working on that timeout issue
<
Regenaxer>
The last solution was that I rounded the microseconds to the next milliseconds
<
Regenaxer>
But all this is not right
<
Regenaxer>
The problem is that with faster CPUs and multi-core millisec precision is simply not enough
<
Regenaxer>
I reworked the internals now, changing all to microseconds internally
<
Regenaxer>
For pil64 only
<
Regenaxer>
I have it now. Testing
<
kakobrekla>
where can i read more about 'distributed database'?
<
Regenaxer>
Hi kakobrekla, there is no explicat docs I think
<
Regenaxer>
The functions are spread throughout the reference
<
kakobrekla>
how is it suppose to work, on a high level?
<
Regenaxer>
remote/2, blk etc
<
Regenaxer>
There are two setups: Either with normal picolisp RPC, or (if the other db is read-onl) by direct reading with 'blk'
<
Regenaxer>
With both you can start queries on other DBs
<
Regenaxer>
eg with Pilog
<
Regenaxer>
Does not cover direct access with 'blk' yet, as this is new
<
kakobrekla>
ok, thanks
<
Regenaxer>
It is a non-trivial matter ;)
<
Regenaxer>
I have several distributed systems running commercially
<
Regenaxer>
But hard to give a
*simple* example
<
Regenaxer>
kakobrekla, the core functionality for remote object access is '*Ext'
<
Regenaxer>
I use this mechanism since around 2007
<
Regenaxer>
Until now I had never DBs which contained objects of other DBs
<
Regenaxer>
But now I have, that's why the DB garbage collector had to be extended
<
kakobrekla>
may be a navie question, does it have any acid properties?
<
Regenaxer>
yes, sure, otherwise it would be pretty useless
<
kakobrekla>
indeed :)
<
Regenaxer>
A process can directly read remote objects, but to modify something it has to send a message
<
Regenaxer>
I have distributed system even across smartphones which may be offline temporarily
<
Regenaxer>
The protocol guarantees that all stays consistent
<
kakobrekla>
thats interesting
<
kakobrekla>
so this is not a classic master-slave topology
<
kakobrekla>
but anyone-can-write
<
Regenaxer>
no, only the "owning" process
<
Regenaxer>
Remote processes send an RPC message
<
Regenaxer>
(rpc 'put!> ...)
<
kakobrekla>
ah, to the writing process
<
Regenaxer>
the 'put!>' runs remotely and is thus synced
<
kakobrekla>
ok i think i got it
<
Regenaxer>
btw, the simples "remote" db you get on PilBox
<
Regenaxer>
The Android runtime is a DB technically for PilBox
<
Regenaxer>
Java objects are accessed as pil symbols etc.
<
Regenaxer>
tankf33der: I've released it
<
Regenaxer>
Please test the next time you drop in :)
<
Regenaxer>
Here all tests passed
<
tankf33der>
Regenaxer: ok
<
Regenaxer>
Thanks!
<
Regenaxer>
Now it is really cool. That test now also works without the (wait 1)
<
Regenaxer>
because of the higher timer resolution
<
Regenaxer>
It is pil64 only
<
tankf33der>
i make a mention in rosetta
<
Regenaxer>
Perhaps better not, as it is only pil64
<
Regenaxer>
Too complicated to explain
<
tankf33der>
i meant i will add “pil64 only”
<
Regenaxer>
ok, but with (wait 1) all versions work (also older ones in the distros)
karswell has joined #picolisp
karswell_ has joined #picolisp
karswell has quit [Ping timeout: 240 seconds]
<
tankf33der>
Regenaxer: i see, leave as is then
styx has joined #picolisp
styx has quit [Client Quit]
orivej has joined #picolisp
alexshendi has joined #picolisp
freemint_ has quit [Quit: Leaving]
alexshendi has quit [Ping timeout: 256 seconds]
karswell_ has quit [Remote host closed the connection]
karswell_ has joined #picolisp
karswell_ has quit [Remote host closed the connection]
karswell_ has joined #picolisp
karswell_ is now known as karswell