History log of /external/qemu/android/async-socket.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7136b053b7fc7840ec64e01d1d19ab822e1f949a 10-Apr-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Use new SdkController communication protocol for emulation ports

android/sdk-control-socket.* has replaced android/android-device.* as the back-bone
of communicating with SDK controller on the device. The major differences are:

- New communication protocol uses just one (async) socket connection to communicate
with the device (the old one used two sockets: one sync, and another - async).
- New communication protocol connects to one TCP port (1970 in this CL) for all emulation
ports. Channel multiplexing is done by using port names, and assigning a separate socket
for communication inside each separate port. The old protocol had separate TCP ports for
each emulation ports (1968 for sensors, and 1969 for multi-touch)

Change-Id: I779fcbdfba2f9b4c433a9d76a567975708b00469
/external/qemu/android/async-socket.c
c8aa2c570d30098da59f1967d5158024ed28570d 06-Apr-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Implements SDKCtlSocket that implements communication protocol wih SdkController

In addition, this CL contains some minor tweaks to async-socket, and
async-socket-connector that improve tracebility.

Change-Id: Ib1309b19dcd02e96379155fea7015019d93160e7
/external/qemu/android/async-socket.c
ef4ccd385650612a830a098f4b1eac48482b65b3 03-Apr-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Make all async I/O object referenced.

Since it's hard to control lifespan of an object in asynchronous environment, we
should make all AsyncXxx objects a referenced objecst, that will self-destruct
when its reference count drops to zero, indicating that the last client that
used the object has abandoned it.

Change-Id: I6f8194aa14e52a23a8772d827583782989654504
/external/qemu/android/async-socket.c
6dc5c2cef91004488f04fc6e9c0946f6d3a29705 02-Apr-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Refactor asynchronous socket APIs

The initial implementation was a bit too complex in two ways:
1. Each component (the connector, and async socket) had its own set of state and
action enums, which was confusing, required value translation, and was not really
needed. So, all these enums have been combined into two common enums that are now
declared in android/async-io-common.h
2. Too many callbacks, which really complicated implementation of the clients. It is
much more efficient to have just two callbacks (one to monitor connection, and another
to monitor I/O), letting the client to dispatch on particular event (success/timeout/etc.)

This CL fixes these two issues.

Change-Id: I545c93dee2e9e9c72c1d25e6cd218c8680933ee3
/external/qemu/android/async-socket.c
a7383ef4eb8d3863c8d582ea0d6b2ddb42125cba 29-Mar-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Implements asynchronous socket API

This is pretty basic API that allows to asynchronously connect to a socket, and
perform asynchronous read from / write to the connected socket.

Since all the operations (including connection) are asynchronous, all the
operation results are reported back to the client of this API via set of
callbacks that client supplied to this API.

Change-Id: I2a18f5b9c575ab7825c9e5a086f4cd9fb6b130ec
/external/qemu/android/async-socket.c