Hi,

in the ParrotIOLayerAPI are some entries that might get cleaned up.
I want some feedback on my proposed removes and cleanups.

Open2_Unused
Open3_Unused
  As the name already indicates. They are unused. I think they don't
  belong here. The purpose of IPC::Open[23] is to create a process
  which _uses_ some newly created IO-Objects. From the the view of the
  IO-system these are 2 or 3 FDOpens during the Process execution
-> delete them from ParrotIOLayerAPI

OpenAsync
WriteAsync
ReadAsync
  How should these work?

Write
PutS
  Why are there two diffrent calls to write data to an io, with only a
  slightly different prototype. This is code-duplication in every
  layer. I can't think of any use case where PutS won't be implemented
  as Write(..., data, strlen(data)). These two calls could be unified.
  As a side note: The primary memory structure is the buffer, maybe
  the unified call should take a buffer argument.
-> unify these two

Read 
GetS
  In this case there are two diffrent use-cases: Fill a preallocated
  buffer with data (which is of limited size) and the other create a
  new buffer. There might be two independent API-calls for this.

Seek
Tell
  Seek uses a pair of two INTVALs (lo,hi), whereas tell returns a
  PIOOFF_T. Both calls should use PIOOFF_T.
-> Change signature of Seek

SetLineBuf
  I don't think this belongs here. Linebuffering should be a layer on
  top of the existing layers. SetLineBuf will then be
  PIO_push_layer(interpreter, io, line_buf_layer);
-> Remove this from API

GetCount
Fill
  What should these calls do?

Poll/Select
  Some function like this should be entered. But this call needs a
  seperate diskussion

Comments?
boe
-- 
Juergen Boemmels                        [EMAIL PROTECTED]
Fachbereich Physik                      Tel: ++49-(0)631-205-2817
Universitaet Kaiserslautern             Fax: ++49-(0)631-205-3906
PGP Key fingerprint = 9F 56 54 3D 45 C1 32 6F  23 F6 C7 2F 85 93 DD 47

Reply via email to