Commit Graph
29 Commits
Author SHA1 Message Date
Axel Dörfler bd28b3c746 BAppServerLink is now using BApplication::fServerTo/From for its messaging.
Added LinkMsgReader::NeedsReply() method.
Completely redone ServerApp messaging: no more "replyport" from BAppServerLink; instead,
the registered client reply port is used. Fixed some more weak messaging stuff.
ServerApp now recognizes if an unknown message needs a reply, and sends it - for example,
the "Screen" preferences app no longer hangs, but crashes on start :)
Made LinkMsgReader::Read() virtual again, since it's needed by RAMLinkMsgReader.cpp.
Renamed BPortLink::GetNextReply() to GetNextMessage().
Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 04:01:59 +00:00
Axel Dörfler 75936a02e4 BPortLink now has a FlushWithReply() method itself.
BPortLink::AttachString() now accepts a length argument, and will no longer
send a terminating null byte; LinkMsgReader::ReadString(), however, will
make sure the string read is null terminated.
Changed client communication code to use FlushWithReply() instead of Flush()
and GetNextReply() - there were many bugs and shortcomings in the code, I
hope I've fixed them all.
Converted ClientFontList.cpp to our coding style (but not completely, the
class members are missing).
Some more cleanup - I hope Adi will adopt our coding style one day!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 00:36:26 +00:00
Axel Dörfler 750b92faf3 Almost rewrote LinkMsgSender; it's now much cleaner and works better:
- StartMessage() can now get a size to make sure there is enough free space
- if StartMessage() is called with the current message behind a certain
  watermark, the buffer is flushed in order to prevent moving around messages
  in the buffer. The actual value should be tested in real life, though.
- enlarged maximum buffer size to 64k
- fixed bug: could use memcpy() to move overlapping memory around
- added a flag to Flush() that marks messages as needing a reply - the other
  way would be to mark the message "code" to contain this information

Some cleanup in LinkMsgReader.
BPortLink now has most methods as inlines.
The buffer sizes are now declared in a shared header, so that receiver and
sender are always equipped equally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 22:36:03 +00:00
Stefano Ceccherini 541a224df8 No need to include that stuff, a forward declaration will do
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 20:41:21 +00:00
Michael Lotz c2da902f2e Implemented BPortLink::AttachShape and BPortLink::ReadShape and used them for passing the shapes in AS_GET_GLYPH_SHAPES.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 07:29:04 +00:00
Adi Oanca 27c5631fa3 Added support for sending BRegions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 09:48:10 +00:00
DarkWyrm 67e2a74dc6 Separated functionality of PortLink into LinkMsg* to avoid some *serious* code duplication
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 01:18:38 +00:00
DarkWyrm d0021b64bc Major API improvements by Pahtz
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-30 15:10:19 +00:00
DarkWyrm c73fb70eb7 Minor header tweaks relating to the message buffer size
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 13:36:48 +00:00
Adi Oanca aed7bd673a added a method to be abele to post messages to a BSession handler
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-12 23:58:04 +00:00
DarkWyrm 018e96bd74 Fix for a data attachment bug
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-14 00:21:43 +00:00
DarkWyrm fb7da50d34 Updates to sync with (hopefully) last messaging protocol tweaks
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-13 23:33:20 +00:00
DarkWyrm 7507620c3a Tweaked all messaging classes to comply with new message protocol policies
AppServerLink no longer inherits from BSession


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-04 19:06:34 +00:00
DarkWyrm 9e6ef5ce51 Added PortMessage::ReadString and PortLink::AttachString to support BSession-style string-attachments
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-04 00:52:24 +00:00
DarkWyrm e956d70682 Eliminated a memory-allocation bug
Added a sensible workaround for BSession message code packaging


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-03 23:28:05 +00:00
DarkWyrm 7b6beb9bde BSession is no longer a parent class
Removal of deprecated reply functions
Global protocol change - reply port is at the end of data, not the beginning
PortLink still uses the BSession messaging style


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-03 22:20:28 +00:00
Adi Oanca f90fc6a679 PortLink now uses a fixed buffer. Its base class is.... BSession...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-31 17:21:49 +00:00
shadow303 5c54c7191a Fix templates for PortLink & PortMessage
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-11 23:16:15 +00:00
shadow303 d1acc68a9d Templatize PortLink & PortMessage
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-11 01:49:58 +00:00
shadow303 c6b1218b47 Make ReplyData public
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 21:04:37 +00:00
DarkWyrm 6b76dd01f5 Can get replies as PortMessages now
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-23 13:18:39 +00:00
shatty fe5cc7b493 add newline to end of file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-04-14 01:56:41 +00:00
DarkWyrm c328988230 Effectively made Attach(*,size) a const function
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-21 13:09:22 +00:00
DarkWyrm 781f2cb3d8 Added ReplyData destructor for easier reply handling
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-12 18:00:51 +00:00
DarkWyrm c51942ea6e Removed fixed attachment limit
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-06 22:24:45 +00:00
DarkWyrm c8563e149f Added newline to end of file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-07 17:27:15 +00:00
DarkWyrm c773cf76b7 Added new FlushWithReply method. Mostly tested
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-19 00:31:58 +00:00
DarkWyrm 8d22950d01 API and stability improvements
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-30 22:34:20 +00:00
ejakowatz 52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00