Commit graph

19 commits

Author SHA1 Message Date
Wei Chen
333e69585b Loc Ipc: add routine to notify sender that receiver has restarted
When qrtr socket receiver has restarted, need a way to inform
sender so sender can restart the service discovery process

Change-Id: Id665da649e0962691277124b42f1ee9cc6160fa8
CRs-fixed: 2445555
2019-06-20 10:10:08 -07:00
Bhavna Sharma
61fd929fb6 Redesign Inet sender and receiver
Redesign the inet sender and receiver to
be able to accomodate udp and tcp types into
one base class.

CRs-Fixed: 2429102

Change-Id: Ie138839a5c8842813c99053816e06e4ed7f6b314
2019-06-12 14:06:08 -07:00
Kevin Tang
0677be4e46 Removing LocIpc::createLocIpcQsock* APIs
Qrtr and Qsock bot have createLocIpc*Sender and Recver
APIs in LocIpc. But Qrtr is really next gen of Qsock.
The two will not co-exist. Their existence depends on
kernel versions, i.e. 4.9 and earlier is Qsock; while
4.14 and later is Qrtr. Having 2 sets of APIs doesn't
make sense, as client would have to know what are the
right ones to use, which there is really only one set
of backing implementations.

Change-Id: Ia473f282bb271ae213d7dc5020b0b8c7b0a8cb8f
CRs-Fixed: 2466857
2019-06-06 16:21:18 -07:00
Nilesh Gharde
210d3ca227 Addressing format related to formating
Added formating related issue as
genuine errors fixes

Change-Id: Ie01e9ce3bf838a37871a4779ae1403b4dca3d87c
CRs-Fixed: 2447200
2019-05-18 09:12:29 -07:00
Bhavna Sharma
2ba3f04c57 LocIpc redesign
LocIpc now doesn't have any impelementation of sockets,
but a framework that provides threading for any sockets
that can be wrapped into LocIpcSender and LocIpcRever
APIs.

Also updated XtraSystemStatusObserver to using the new
LocIpc and LocIpcLocalSender and LocIpcLocalRecver.

Change-Id: I506c77198f9ce1e7d4dfd5e596dc0ac21d928e34
CRs-Fixed: 2443124
2019-05-09 07:34:22 -07:00
qctecmdr
3d5fbdc402 Merge "LocIpc derefs nullptr if stopping blocking listener" 2019-04-22 10:24:24 -07:00
Kevin Tang
07db01d9af LocIpc derefs nullptr if stopping blocking listener
LocIpcRunnable is created only for nonBlocking listeners.
But stopListening would use LocIpcRunnable not knowing if
this is a blocking or nonblocking listener. LocIpcRunnable
is no longer a shared resource between the two threads. We
use a copy of string to keep the needed socket name.

Change-Id: Ib5c57a89f630807d6d03f3fbc698a56b9ffddf4d
CRs-Fixed: 2431397
2019-04-08 13:36:36 -07:00
Wei Chen
1d823b05ec FR47367: Location client API for External AP
(1) In location data struct, change size_t to uint32_t as size_t
is machine dependent and can not be sent as part of payload
to the other processor.
(2) Change LocIpc ifdef to match with the file name

Change-Id: Ia3f029641106a547e18904be1e3fb56ec09de569
CRs-fixed: 2367517
2019-02-13 10:03:56 -08:00
qctecmdr Service
47b591383b Merge "LocIpc could be using data member from a deleted obj" 2019-01-17 14:19:17 -08:00
Kevin Tang
99e5e01b13 LocIpc could be using data member from a deleted obj
startListeningBlocking is meant to be called under a reader
thread, which is the case if startListeningNonBlocking calls
it. A LocIpc client may delete the LocIpc obj, which would
trigger sending an ABORT msg to the reader thread before it
is subsequently deleted, in which case, it is possible that
when the reader thread comes around to process the ABORT msg,
referencing the data members of the possibly stale obj would
cause unpredictable behaviors.

Change-Id: I441af85c04d92b6fff695c020e3e0b4bd5e90409
CRs-Fixed: 2380093
2019-01-17 14:08:01 -08:00
Kevin Tang
cd387d1e8e LocIpc could be using data member from a deleted obj
startListeningBlocking is meant to be called under a reader
thread, which is the case if startListeningNonBlocking calls
it. A LocIpc client may delete the LocIpc obj, which would
trigger sending an ABORT msg to the reader thread before it
is subsequently deleted, in which case, it is possible that
when the reader thread comes around to process the ABORT msg,
referencing the data members of the possibly stale obj would
cause unpredictable behaviors.

Change-Id: I441af85c04d92b6fff695c020e3e0b4bd5e90409
CRs-Fixed: 2380093
2019-01-14 11:21:02 -08:00
Yingjie Wang
abfeea182d Fix KW P1 related issues
Change-Id: Ifc3cb9dcabf2e07439fd596b5ad33b46ea562b3d
CRs-fixed: 2375836
2019-01-04 16:19:24 +08:00
Katz Yamada
8bda43ca51 fix: LocIpc client app unable to exit
LocIpc client apps such as garden app is unable
to delete LocIpc object since its socket listening
thread cannot be closed while it is waiting for
data and cannot be closed. Fixed to close it by
sending an abort message.

CRs-Fixed: 2213212
Change-Id: I95f26862e9faf7bd75a2f447421ba4ab7220576e
2018-05-15 09:48:34 -07:00
Kevin Tang
b47eea6b23 GPS GNSS adapter: connectivity support for engine hub
(1) allow engine hub to be able to receive connectivity
status update
(2) fix kw warning in LocIpc.h

Change-Id: I62ac534639003051a8992c143ff273d5ff66ee5a
CRs-fixed: 2198446
2018-03-07 10:19:24 -08:00
Katz Yamada
ec59dd2aae fix: LocIpcSender returns incorrect result
LocIpcSender::send() doesn't return correct
boolean result code. It always returns false
even it is successfully sent.

Change-Id: I74d85501f5d097dc1ede4dea5b2d9c9d752affda
CRs-Fixed: 2179096
2018-01-31 15:38:03 -08:00
Kevin Tang
4cac1baf97 LocIpc: enhance startListeningNoBlocking with ready callback
For startListeningNoBlocking, for callers that need to know
when the socket is actually being created and ready to receive
message, this change allows callback to be invoked when socket
is ready.

Change-Id: Ie7c6eb1a3966371d84fc98109f07805ac7d4e3a1
CRs-fixed: 2169568
2018-01-15 10:18:49 -08:00
Katz Yamada
99e0f11428 Location Utils - LocIpc class enhancement
Add LocIpcSender class and add an overloaded
send method in LocIpc class that takes binary
data block.

Change-Id: I102f23fe8bf378c3bed5cac0086aa9773c62727b
CRs-Fixed: 2144883
2017-12-18 11:37:24 -08:00
Katz Yamada
104f1fee14 Location Utils - Improve send method of LocIpc
Change LocIpc::send() method implementation from
regular member to static, since it does not modify
any of its class member variables. Sender code
should be able to call this method without creating
an instance.

Change-Id: I9d08404c3fae615fd20531904241bf2e246fa592
CRs-Fixed: 2143522
2017-11-16 10:48:11 -08:00
Ruifeng Xu
b0982b4476 add HAL socket
this patch contains the following changes:
1. added header and implemenation files of socket util apis
in libgps.utils; 2. updated XtraSystemStatusObserver to use
the new apis; 3. added HAL socket and new thread to listen to it.

Change-Id: If1f6b4b4d6ea2d03640f68e96f0286300404f42b
CRs-fixed: 2108635
2017-10-05 11:33:37 -07:00