asio review results -- asio accepted

All - I'm pleased to announce that asio has been accepted into Boost. As usual with a Boost review, the asio review generated plenty of discussion, issues, and controversy. Comments ranged from high praise, including success stories of projects in production, to serious design concerns and issues. On balance, in my judgment, asio provides a generally solid library that is ready for inclusion into the Boost library -- providing key functionality in an area that developers have a strong need. Of course, like anything else, asio is not perfect -- a number of key issues were uncovered during the review. In terms of required changes I'm only going to cite a few: - Fixes to dynamic memory allocation issues - Interface changes to support ipv4 and ipv6 seamlessly at runtime - Improvements to support strongly typed socket interfaces Chris has communicated a couple possible solutions to the memory allocation issue and I'll ask that the interface and other changes for this issue continue to be discussed on the Boost list so consensus can be achieved on the best resolution. Other key improvements that should be explored as future enhancements include: - Possible removal of some of the c-style interfaces - Exploration of higher level iostream integrations - Performance improvements - Improved documentation (wouldn't be Boost w/o this one) Chris has a much longer list of changes garnered from the review and is well on his way to addressing many of them. Note that there were several threads and discussions about performance, which is particularly critical for the domain covered by asio. One of the performance issues is the dynamic memory allocation issue cited above. In general, the reviewers have extremely high expectations here. However, after reviewing the discussion and library it's my belief that many developers will find asio performance sufficient to build significant projects with only the memory allocation changes. I expect Chris will be able to address some of the other performance issues cited by reviewers in asio over time. Once again I'll apologize to the Boost community for the delay in the review results. The delay was entirely due to my own personal scheduling issues and should not reflect on asio in any way. Thanks again to all the reviewers for their effort and especially to Chris for his tremendous effort in bringing asio to Boost! Jeff

Jeff Garland <jeff@crystalclearsoftware.com> writes:
All -
I'm pleased to announce that asio has been accepted into Boost.
Thanks for completing what must've been a difficult review judgement, Jeff.
As usual with a Boost review, the asio review generated plenty of discussion, issues, and controversy. Comments ranged from high praise, including success stories of projects in production, to serious design concerns and issues. On balance, in my judgment, asio provides a generally solid library that is ready for inclusion into the Boost library -- providing key functionality in an area that developers have a strong need.
Of course, like anything else, asio is not perfect -- a number of key issues were uncovered during the review. In terms of required changes I'm only going to cite a few:
- Fixes to dynamic memory allocation issues - Interface changes to support ipv4 and ipv6 seamlessly at runtime - Improvements to support strongly typed socket interfaces
If you're only citing a few of the required changes, where is the complete list? Keeping it out of public view doesn't make any sense to me.
Chris has communicated a couple possible solutions to the memory allocation issue and I'll ask that the interface and other changes for this issue continue to be discussed on the Boost list so consensus can be achieved on the best resolution.
Other key improvements that should be explored as future enhancements include:
- Possible removal of some of the c-style interfaces - Exploration of higher level iostream integrations - Performance improvements - Improved documentation (wouldn't be Boost w/o this one)
Chris has a much longer list of changes garnered from the review and is well on his way to addressing many of them.
Note that there were several threads and discussions about performance, which is particularly critical for the domain covered by asio. One of the performance issues is the dynamic memory allocation issue cited above. In general, the reviewers have extremely high expectations here. However, after reviewing the discussion and library it's my belief that many developers will find asio performance sufficient to build significant projects with only the memory allocation changes. I expect Chris will be able to address some of the other performance issues cited by reviewers in asio over time.
Are these issues addressable as an implementation detail, or will it cause an interface change? -- Dave Abrahams Boost Consulting www.boost-consulting.com

Hi Dave, --- David Abrahams <dave@boost-consulting.com> wrote: [ ... performance issues ... ]
Are these issues addressable as an implementation detail, or will it cause an interface change?
The performance improvements I have in mind will not cause the interface to change in a breaking way, although it is possible they may be additive. Cheers, Chris

Christopher Kohlhoff <chris@kohlhoff.com> writes:
Hi Dave,
--- David Abrahams <dave@boost-consulting.com> wrote: [ ... performance issues ... ]
Are these issues addressable as an implementation detail, or will it cause an interface change?
The performance improvements I have in mind will not cause the interface to change in a breaking way, although it is possible they may be additive.
I'm thinking specifically of the memory allocation issue. That too? -- Dave Abrahams Boost Consulting www.boost-consulting.com

David Abrahams wrote:
Christopher Kohlhoff <chris@kohlhoff.com> writes:
Hi Dave,
Are these issues addressable as an implementation detail, or will it cause an interface change? The performance improvements I have in mind will not cause the interface to change in a breaking way, although it is possible
--- David Abrahams <dave@boost-consulting.com> wrote: [ ... performance issues ... ] they may be additive.
I'm thinking specifically of the memory allocation issue. That too?
That one changes the interface and hence is on the required change list. Jeff

David Abrahams wrote:
Of course, like anything else, asio is not perfect -- a number of key issues were uncovered during the review. In terms of required changes I'm only going to cite a few:
- Fixes to dynamic memory allocation issues - Interface changes to support ipv4 and ipv6 seamlessly at runtime - Improvements to support strongly typed socket interfaces
If you're only citing a few of the required changes, where is the complete list? Keeping it out of public view doesn't make any sense to me.
What I was trying to say was that I was only requiring a 3 changes -- so that's the entire list. My feeling was these were the only 'must-have' changes even though there was certainly discussion of other changes and extensions.
Chris has communicated a couple possible solutions to the memory allocation issue and I'll ask that the interface and other changes for this issue continue to be discussed on the Boost list so consensus can be achieved on the best resolution.
Other key improvements that should be explored as future enhancements include:
- Possible removal of some of the c-style interfaces - Exploration of higher level iostream integrations - Performance improvements - Improved documentation (wouldn't be Boost w/o this one)
Chris has a much longer list of changes garnered from the review and is well on his way to addressing many of them.
Note that there were several threads and discussions about performance, which is particularly critical for the domain covered by asio. One of the performance issues is the dynamic memory allocation issue cited above. In general, the reviewers have extremely high expectations here. However, after reviewing the discussion and library it's my belief that many developers will find asio performance sufficient to build significant projects with only the memory allocation changes. I expect Chris will be able to address some of the other performance issues cited by reviewers in asio over time.
Are these issues addressable as an implementation detail, or will it cause an interface change?
I believe they are only implementation details (seems that Chris agrees with this) -- the c-style interfaces issue being the exception. But it is a large library so it's possible we've missed something in the public interface that will need to change. As for the c-style interfaces, the review discussion wasn't sufficient to convince me that it was a possible change and the benefits weren't clear so I'm leaving it to the discretion of the library author. Jeff

--- Jeff Garland <jeff@crystalclearsoftware.com> wrote:
I'm pleased to announce that asio has been accepted into Boost. As usual with a Boost review, the asio review generated plenty of discussion, issues, and controversy. Comments ranged from high praise, including success stories of projects in production, to serious design concerns and issues. On balance, in my judgment, asio provides a generally solid library that is ready for inclusion into the Boost library -- providing key functionality in an area that developers have a strong need.
Thanks Jeff, and thanks everybody for participating in the review. The review process has been very helpful in contributing ideas to make the library better. The current plan is for the next version to include breaking interface changes arising from the review, plus some features on which I would like to get more feedback (such as custom memory allocation and dual IPv4/6 support). At that time, in addition to the changelog, I will publish a list of review changes that are yet to be made. Cheers, Chris P.S. did the review result get posted to the boost-users list?

Congratulation Chris. While I did vote aganist the library, I'm glad that in the end it was accepted. During the review discussions Chris has shown that he is very willing to address some of the issues that have been brought up and it did clarify some other problems or misconceptions. In the end I think that it is going to be a great, and very very needed, library. Keep up the good work. -- Giovanni P. Deretta

Perhaps this could be reflected on the boost main page? Greetings Franz btw is there a chance that asio will be in 1.35? ----- Original Message ----- From: "Jeff Garland" <jeff@crystalclearsoftware.com> To: <boost@lists.boost.org> Sent: Wednesday, March 22, 2006 5:31 PM Subject: [boost] asio review results -- asio accepted
All -
I'm pleased to announce that asio has been accepted into Boost. As usual with a Boost review, the asio review generated plenty of discussion, issues, and controversy. Comments ranged from high praise, including success stories of projects in production, to serious design concerns and issues. On balance, in my judgment, asio provides a generally solid library that is ready for inclusion into the Boost library -- providing key functionality in an area that developers have a strong need.
Of course, like anything else, asio is not perfect -- a number of key issues were uncovered during the review. In terms of required changes I'm only going to cite a few:
- Fixes to dynamic memory allocation issues - Interface changes to support ipv4 and ipv6 seamlessly at runtime - Improvements to support strongly typed socket interfaces
Chris has communicated a couple possible solutions to the memory allocation issue and I'll ask that the interface and other changes for this issue continue to be discussed on the Boost list so consensus can be achieved on the best resolution.
Other key improvements that should be explored as future enhancements include:
- Possible removal of some of the c-style interfaces - Exploration of higher level iostream integrations - Performance improvements - Improved documentation (wouldn't be Boost w/o this one)
Chris has a much longer list of changes garnered from the review and is well on his way to addressing many of them.
Note that there were several threads and discussions about performance, which is particularly critical for the domain covered by asio. One of the performance issues is the dynamic memory allocation issue cited above. In general, the reviewers have extremely high expectations here. However, after reviewing the discussion and library it's my belief that many developers will find asio performance sufficient to build significant projects with only the memory allocation changes. I expect Chris will be able to address some of the other performance issues cited by reviewers in asio over time.
Once again I'll apologize to the Boost community for the delay in the review results. The delay was entirely due to my own personal scheduling issues and should not reflect on asio in any way. Thanks again to all the reviewers for their effort and especially to Chris for his tremendous effort in bringing asio to Boost!
Jeff
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

--- "Dr. Franz Fehringer" <fehrin@t-online.de> wrote:
btw is there a chance that asio will be in 1.35?
I don't know what the timetable for 1.35 is, but I'm currently focused on getting the breaking interface changes done. Hopefully these should reach a final form in time for 1.35. Some of the requested enhancements that are additions to the interface may not make it, however. Cheers, Chris

Hi Franz, Thanks for pointing out the oversight. I have added the announcement to the front page. Cheers, ron On Apr 9, 2006, at 3:55 AM, Dr. Franz Fehringer wrote:
Perhaps this could be reflected on the boost main page?
Greetings
Franz
btw is there a chance that asio will be in 1.35?
participants (6)
-
Christopher Kohlhoff
-
David Abrahams
-
Dr. Franz Fehringer
-
Giovanni P. Deretta
-
Jeff Garland
-
Ronald Garcia