rug-compling / alpinocorpus

Library for handling Alpino corpora
GNU Lesser General Public License v2.1
8 stars 1 forks source link

constructor van iterator in RemoteCorpusReader wacht op data #22

Open pebbe opened 12 years ago

pebbe commented 12 years ago

De constructor van de iterator in RemoteCorpusReader hangt zolang er nog geen data is ontvangen. Dit is een probleem als de server lang moet zoeken naar een eerste match. (Omdat de server wacht met het sturen van headers tot er data is die verstuurd moet worden.)

Nu wordt dat als volgt opgelost: De server stuurt direct een regel bestaande uit Ctrl-B, en die regel wordt door de klasse GetUrl genegeerd. Dit is niet fraai.

Alternatieven:

  1. De constructor van GetUrl opent geen webadres, maar laat dit over aan de eerste aanroep van GetUrl.line() of GetUrl.body(), of een andere methode die iets met de te ontvangen data moet doen.
  2. De constructor van de iterator in RemoteCorpus roept niet GetUrl aan, maar laat dit over aan de eerste next() of get().
danieldk commented 12 years ago

Maybe another option would be to connect asynchronously in the GetUrl constructor (see basic_stream_socket::async_connect)?