socket: add accept delegation