[haiku-appserver] Re: current activity.

  • From: "DarkWyrm" <bpmagic@xxxxxxxxxxxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Mon, 09 Aug 2004 15:04:07 -0400 EDT

> DarkWyrm wrote:
> >>   I'm still in doubt how regions are passed. Haven't looked at 
> > > code. 
> >>DW, can
> >>   you enlighten me how big regions are sent to destination? (if 
> > > this 
> >>is
> >>   possible?)
> > 
> > Hmmm..... I don't think I ever figured that one out. I'd say that 
> > probably the best way would be to attach the number of 
> > clipping_rects 
> > in the region and then iterate over the rectangles in the BRegion, 
> > attaching them as clipping_rect objects via RectAtInt.
> 
>       OK OK, that is how it's done in present.
>       What I was asking was: how do we send BIG regions across BPortLink?
That protocol-within-a-protocol thing is something I sort of have in 
place already. Quite some time ago I wrote a class called AreaLink for 
just such a case, but I know it still needs some serious reworking to 
match the current API, but the basic idea was to create an area to dump 
the object in it and tell the server about it, but I'm wondering about 
a slightly different solution.

What if we have the app_server handle shared memory allocation in 
instances aside from BBitmap? Every BApplication in R5 creates a couple 
shared areas for working with the server. What if we set up a means for 
each BApplication to have just one 4K area to start (which could change 
size, of course) and when something really big needs to be sent over, 
the client could request a certain size block of memory from the server 
and memcpy the object into that allocated block of memory and then tell 
the server to draw it or whatever. Feasible?

What is the current problem with sending really big ones over right 
now? Don't we reallocate the send and receive buffers in BPortLink when 
necessary?

--DW

Other related posts: