Hi Mindaugas,

during process_event_loop() events are processed inside
items_edit_handler() function, and this event handler can access
workareas opened in a parent dialog (item dialog), private variables
of item_hadler(), etc.

I didn't inspect the code yet, but it would be nice
to be able to pass LOCAL vars (f.e. array/hash container
of values) down the path. To make it possible to avoid
memvars.

Other major changes
===================

[...]
- socket.c is more multithread GC friendly (using hb_vm[Un]Lock());

This answers one of my questions.

Next question: Why don't we apply these to our core? It's a waste
of resources to have two socket APIs.

- error handling. Runtime errors in "user" code does not cause server
 crash;

This also answers one of my questions. Thank you.

One thread per session
----------------------
Pro:
 * OK, if there is a limited number of clients actively using web
   application
Cons:
 * not scalable solution for sites with thousands low activity
   users (will keep a large number of inactive threads)

Yes, but if we keep in mind business applications, they aren't
typically used by several thousand users. In case of that many
users it's also possible to use extra instances of uttpd executable
on alternate IP/machine/port. To get around the different IP/port
issue an uhttpd gateway can be implemented to distribute the load
between uhttpd server instances running on multiple servers.

Anyhow this plays well with the direction CPUs/servers are taking
these days, more and more cores and parallel processing.

Roadmap
=======
I'm not sure if I will not delete the whole sessioned threads, modal
page handlers, and widgets in next version of uhttpd. But there are

IMO they shouldn't be deleted.

a few things I know I will implement:
 * Templates
   Perhaps this can change widgets a lot. Only complicated widgets
   will remain. Simple widgets and layouts will move to templates.

Sounds good.

Brgds,
Viktor


_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to