#5094 closed task (complete)

Implement TCPAcceptor class in linkea-asiolink.

Reported by: marcin Owned by: marcin
Priority: medium Milestone: Kea1.2
Component: remote-management Version: git
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

The asiolink contains a bunch of wrapper classes around boost::asio. It doesn't contain a wrapper for boost::asio::ip::tcp::acceptor. We need it in libkea-http to handle receiving new connections from the HTTP clients.

Also see http://kea.isc.org/wiki/ControlAPIDesign

Subtickets

Change History (10)

comment:1 Changed 11 months ago by marcin

  • Owner set to marcin
  • Status changed from new to accepted

comment:2 Changed 11 months ago by marcin

  • Owner changed from marcin to UnAssigned
  • Status changed from accepted to reviewing

I have implemented TCPAcceptor class (in asiolink) which can be used to listen and accept new TCP connections. It is required for the implementation of the HTTP service.

Proposed ChangeLog entry:

12XX.   [func]         marcin
	Implemented TCPAcceptor class in libkea-asiolink. This class
	provides means to listen and asynchronously accept new TCP
	connections.
        (Trac #5094, git abcd)

comment:3 Changed 11 months ago by fdupont

  • Owner changed from UnAssigned to fdupont

comment:4 Changed 11 months ago by fdupont

  • Owner changed from fdupont to UnAssigned

comment:5 Changed 11 months ago by fdupont

  • Owner changed from UnAssigned to fdupont

comment:6 Changed 11 months ago by fdupont

I don't understand the public: added at the beginning of IOAsioSocket. Perhaps it is for doxygen?
Same question for IOSocket.

IMHO the TCPAcceptor tparam doxygen comment must include C?

Missing doxygen comment for new getASIOSocket

I need to run the code on multiple platforms (with Jenkins' help) as ASIO is a bit OS sensitive...

comment:7 follow-up: Changed 11 months ago by fdupont

  • Owner changed from fdupont to marcin

I launched this morning some Jenkins:

For the second #5088 should fail too. I am opening a QA ticket to fix it (upgrade compiler or disable the VM if not possible, ticket QA 409).

2 remaining points:

  • perhaps look at Fedora 20 failure on last unit test? (perhaps == don't spend to much time: IMHO the issue is in ASIO itself).
  • please merge #5088 before this.

comment:8 in reply to: ↑ 7 Changed 11 months ago by marcin

Replying to fdupont:

I launched this morning some Jenkins:

For the second #5088 should fail too. I am opening a QA ticket to fix it (upgrade compiler or disable the VM if not possible, ticket QA 409).

2 remaining points:

  • perhaps look at Fedora 20 failure on last unit test? (perhaps == don't spend to much time: IMHO the issue is in ASIO itself).

I have pushed the fix for the Fedora 20 failure. I also discussed that with Thomas on Jabber as he is very familiar with this problem given he had faced it in D2 already. The fix seems to be the safest way to go.

  • please merge #5088 before this

comment:9 Changed 11 months ago by fdupont

Jenkins is happy now so please merge #5088 (when ready) and (after) this.

comment:10 Changed 10 months ago by marcin

  • Resolution set to complete
  • Status changed from reviewing to closed

Merged with commit 920ba90696ba9d8579a7db5e1efcf955d6654a96

Note: See TracTickets for help on using tickets.