Re: Dupping message data

From: <cmaeda_at_nospam.org>
Date: Mon Oct 18 1993 - 00:01:03 PDT

   Date: Wed, 13 Oct 93 08:31:20 -0800
   To: David Johnson <dave@computone.com>
   cc: vsta@cisco.com
   From: Andrew Valencia <vandys@cisco.com>
   Subject: Re: Dupping message data

   [dave@computone.com (David Johnson) writes:]
   
>Normally packets are sent up in a STREAMS environment asynchronously to the
>modules above. They process them and send them to the STREAM head which
>holds them for the user. However, in the server model, how can the TCP
>module keep a pending receive in the Ethernet server and still service other
>write requests from above?
   
   Well, the simplest way would be to launch another thread within the
   TCP process (see tfork(), more comments below), have him forever post
   reads, then requeue the responses to the TCP queue. Something like:

Threads are definitely the way to go. In the tcp implementation that
I did, there was one thread waiting for incoming ethernet packets, one
thread doing retransmit timers, and n threads serving read/write
requests from applications.

This code is based on the Berkeley implementation and is modified to
work with CThreads under Mach. I can send it to anyone that wants to
get it working under VSTa. An advantage to using the Berkeley code is
that you get sockets compatibility for free.

Chris
Received on Mon Oct 18 00:13:13 1993

This archive was generated by hypermail 2.1.8 : Wed Sep 21 2005 - 19:37:12 PDT