Make this private as well?  Is there any reason users of sync_socket would need this typedef?