[sandbox/socket]1.32/vc7.1: Who's in charge???
Hi I am trying to get the boost-sandbox/socket running but it seems that this socket library is out of sync, at least for vc7.1. Who is in charge of this library since Hugo DUNCAN has moved its code base out of the boost foundry?? Cheers Francis
On Wed, 20 Oct 2004 11:50:15 +0200, Francis ANDRE wrote
Hi
I am trying to get the boost-sandbox/socket running but it seems that this socket library is out of sync, at least for vc7.1. Who is in charge of this library since Hugo DUNCAN has moved its code base out of the boost foundry??
Well, no-one is I guess. I think you will want to go and get Hugo's latest code from http://sourceforge.net/projects/giallo Jeff
Would anybody mind if I removed the sandbox version to prevent any more people spending time on that code? I am aiming to make an intial alpha release of giallo in the next couple of weeks. Following recent discussions I have factored out the demultiplexer code to be completely independent of the socket code, and am in the process of generating some initial documentation. The giallo CVS codebase will be somewhat unstable until then. Hugo
On Wed, 20 Oct 2004 13:57:27 -0400, Hugo Duncan wrote
Would anybody mind if I removed the sandbox version to prevent any more people spending time on that code?
No objection.
I am aiming to make an intial alpha release of giallo in the next couple of weeks.
Sounds great :-) Jeff
Hugo
Would you put pack your Gallio developments into the boost foundry???
This is a quite important question and and your answer is even more
important. At our development center, we are quite ennoyed to have many
differents open source softwares that we use for building ours. Some are out
of date, some are not really portable, some are unmaitained. So, there has
been a decision to focus our subsystems software on boost and only on boost
(whenever possible) because the overall framework of boost give us a
coherent, maintained, portable and sustained C++ foundry.
As such, we would appreciate that socket/gallio be back in the boost arena.
Francis
A good friend will come bail you out of jail..........
but, a true friend....will be sitting next to you saying:
"...that was fun."
----- Original Message -----
From: "Hugo Duncan"
Would anybody mind if I removed the sandbox version to prevent any more people spending time on that code?
I am aiming to make an intial alpha release of giallo in the next couple of weeks. Following recent discussions I have factored out the demultiplexer code to be completely independent of the socket code, and am in the
process
of generating some initial documentation. The giallo CVS codebase will be somewhat unstable until then.
Hugo
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
On Thu, 21 Oct 2004 Francis ANDRE wrote: Francis,
Would you put pack your Gallio developments into the boost foundry???
The intention has always been to get the library accepted into boost. I have moved it out of the boost-sandbox because my development has been very slow, and I did not want to give the impression of blocking anyone else who had more time from developing a "boost.socket" library. Hugo
Hugo Duncan wrote:
I am aiming to make an intial alpha release of giallo in the next couple of weeks. Following recent discussions I have factored out the demultiplexer code to be completely independent of the socket code, and am in the process of generating some initial documentation. The giallo CVS codebase will be somewhat unstable until then.
I'd just like to point out that I intend to share a prototype design of a demultiplexor. I don't think there will be much overlap, as it is not socket-centric, and perhaps doesn't even need to be part of a socket library, as its just as related to sockets as it is to, say, threads or directories. Furthermore, the code itself is not so important; my primary intent is to share a design for how I think a serious C++ demultiplexor should look. As its entirely flexable, it should be trivial to adapt to Gallio for demonstration purposes. Aaron W. LaFramboise
On Thu, 21 Oct 2004 16:17:15 -0500, Aaron W. LaFramboise wrote
Hugo Duncan wrote:
I'd just like to point out that I intend to share a prototype design of a demultiplexor. I don't think there will be much overlap, as it is not socket-centric, and perhaps doesn't even need to be part of a socket library, as its just as related to sockets as it is to, say, threads or directories. Furthermore, the code itself is not so important; my primary intent is to share a design for how I think a serious C++ demultiplexor should look.
As its entirely flexable, it should be trivial to adapt to Gallio for demonstration purposes.
Yeah, after our last burst of discussion on the developer list a couple months ago I've come to think more and more that the demultiplexor should be it's own little piece that doesn't get rolled into the socket library. Glad to hear someone actually has time to pursue this :-) Jeff
On Thu, 21 Oct 2004 Aaron W. LaFramboise wrote:
I'd just like to point out that I intend to share a prototype design of a demultiplexor.
Great. Your previous posts and the previous discussion motivated me to take a look at how the demultiplexer was coupled to the socket classes, and prompted me to better define the interface between them. The interface that I have is now: template <typename Impl> class demux { template <typename Arguments> demultiplexer_error add(Arguments&, bool notify=true); template <typename Arguments> bool remove(Arguments&, bool notify=true); bool handle_events(long timeout=-1); // one shot void run(); // until stop() void stop(); void notify(); // eg, new events to handle } The tricky bit seems to be creating concrete Argument classes, which provide the information about the resource the demultiplexer should wait on, possibly the type of event to wait for, and the function it should call if an event occurs. The solution I have implemented uses composition of othogonal classes, with the composition controlled by the concrete type of the demux implementation, the type of resource, and the operation being performed on the resource. An example: A waitable timer needs to provide a handle a callback. A socket wishing to do asynch io with proactor style completion notification using a windows event object demultiplexer needs to provide an OVERLAPPED structure an event object, and a callback. The concrete Arguments type computed in these cases provides what is needed, with the user consistently specifying just the handle and callback in each case. Does that make any sense? Does that compare somewhat to your proposal? Hugo
On Thu, 21 Oct 2004 18:24:45 -0400, Hugo Duncan wrote
On Thu, 21 Oct 2004 Aaron W. LaFramboise wrote:
I'd just like to point out that I intend to share a prototype design of a demultiplexor.
Just a note, this discussion probably belongs on the dev list... Jeff
Hugo Duncan wrote:
On Thu, 21 Oct 2004 Aaron W. LaFramboise wrote:
I'd just like to point out that I intend to share a prototype design of a demultiplexor.
The interface that I have is now:
template <typename Impl> class demux { template <typename Arguments> demultiplexer_error add(Arguments&, bool notify=true);
template <typename Arguments> bool remove(Arguments&, bool notify=true);
bool handle_events(long timeout=-1); // one shot void run(); // until stop() void stop(); void notify(); // eg, new events to handle }
The tricky bit seems to be creating concrete Argument classes, which provide the information about the resource the demultiplexer should wait on, possibly the type of event to wait for, and the function it should call if an event occurs.
I also agree that this is a difficult part. However, in the way I've set up my prototype, this itself isn't actually a problem, as the registering of events of organized slightly differently.
Does that make any sense?
Yes.
Does that compare somewhat to your proposal?
Well, I think I've done things a little differently. Allow me to wait until I have something to show, though, before I elaborate. By the way, I've tentatively named my prototype class and the associated components 'notify.' Someone--I don't remember who--pointed out earlier that the name 'demultiplexor' is fairly awful, and suggested that new name instead. I like it. :) Aaron W. LaFramboise
On Thu, 21 Oct 2004 Aaron W. LaFramboise wrote:
Well, I think I've done things a little differently. Allow me to wait until I have something to show, though, before I elaborate.
You've got me intrigued. Look forward to seeing your proposal.
By the way, I've tentatively named my prototype class and the associated components 'notify.'
I have no problem with demultiplexer. Having said that, demux is a common abbreviation, and notifier is fine, but I think the class name should be a noun. Hugo
Hi boost users,
A friend of mine wants to expose properties in his classes in the form
properties exist in other languages such as Delphi or VB or C#. I don't
agree with the idea since get and set methods are just fine for me but I
thought I would send this question out and see if any of you have a
recommendation. The idea would be the following:
class CButton
{
public:
void SetColor(const int & nColor) { m_nColor = nColor; }
const int & GetColor() const { return m_nColor; }
private:
int m_nColor;
};
So of course we can set and retrieve the color of a CButton instance using
the get and set methods in the way:
CButton button;
button.SetColor(5);
int nColor = button.GetColor();
However what my friend wants to do is to expose methods so we can do:
button.color = 5;
int nColor = button.color;
...and the get and set method would be called internally. He already has a
solution for this problem using a template class property
participants (5)
-
Aaron W. LaFramboise
-
Delfin Rojas
-
Francis ANDRE
-
Hugo Duncan
-
Jeff Garland