Am Freitag 12 November 2010, 07:57:17 schrieb hui li:
> Currently when openobex calls obex_data_indication()  to read socket
> data, it first calls obex_transport_read()  to read first 3 data to
> decide message length, then calls obex_transport_read() again to read
> remaining data. But when we run obex over l2cap, you can find the
> second obex_transport_read() return zero.
[...]
>               actual = obex_transport_read(self, MAX_BUFF_SIZE);
[...]

Please check
http://www.gitorious.org/openobex/mainline/commit/be1b3863d52b7daaa670245d8a88e8ccdacf7334

Does that help you? It resizes the available buffer to have RX MTU bytes (no 
packet from the client should be larger than that) and you can fill that with 
your data. The RX MTU can be set by your own code.
Still, a proper solution was always possible using OBEX_CustomDataFeed() or by 
buffering the data in your own 64k buffer.
You cannot call obex_transport_read() like proposed by you when usually using 
blocking sockets or file descriptors.

HS

------------------------------------------------------------------------------
Centralized Desktop Delivery: Dell and VMware Reference Architecture
Simplifying enterprise desktop deployment and management using
Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
client virtualization framework. Read more!
http://p.sf.net/sfu/dell-eql-dev2dev
_______________________________________________
Openobex-users mailing list
Openobex-users@lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/openobex-users

Reply via email to