Граф коммитов

140 Коммитов

Автор SHA1 Сообщение Дата
Botond Ballo 40dadf0d08 Bug 1073081 - Fix -Wsign-compare and -Wsign-conversion warnings. r=ehsan
--HG--
extra : source : 88c58a8cc276a4691ed23fd8b8f2f6c0713b50fd
2014-11-24 19:54:33 -05:00
Thomas Zimmermann 8cd71c82de Bug 1093025: Add |StreamSocket|, r=kyle
|StreamSocket| implements a |ConnectionOrientedSocket| for stream
sockets. It utilizes |ListenSocket| to wait for incoming connection
requests.
2014-12-02 15:00:36 -08:00
Thomas Zimmermann 40f82acae9 Bug 1093025: Add |ListenSocket|, r=kyle
The new class |ListenSocket| listens on Unix sockets for incoming
connections. Accepted connections are handed over to a compatible
connection-oriented socket.
2014-12-02 15:00:36 -08:00
Thomas Zimmermann 98d1ef97d2 Bug 1093025: Move |UnixSocketConnector| to separate file, r=kyle
|UnixSocketConnector| will be shared by |UnixSocketConsumer| and
the upcoming listen and stream sockets.
2014-12-02 15:00:36 -08:00
Gina Yeh 51ce3cd47f Bug 1091479, Patch2: Rename enum members, r=sinker. 2014-11-24 09:47:39 +08:00
Thomas Zimmermann 7c3cf9bdb8 Bug 1083092: Add |mozilla::ipc::UnixSocketIOBuffer|, r=shawnjohnjr
The class |UnixSocketIOBuffer| maintains memory buffers for socket I/O
operations. The actual I/O is still implemented by subclasses, such as
|UnixSocketRawData|.
2014-10-21 10:52:12 +02:00
Thomas Zimmermann 51eba88842 Bug 1083092: Data parameter for |mozilla::ipc::SocketIOSendTask| template, r=shawnjohnjr
The data class in |SocketIOSendTask| is now a template parameter, instead
of being hard-coded to |UnixSocketRawData|. The patch also adds soem minor
cleanups to the file.
2014-10-21 10:52:12 +02:00
Thomas Zimmermann 973c70e366 Bug 1083092: Introduce |mozilla::ipc::SocketBase|, r=shawnjohnjr
The new class |SocketBase| contains the notification mechanism of
|SocketConsumerBase|. The latter still contains I/O methods.
2014-10-21 10:52:11 +02:00
Thomas Zimmermann 731698678c Bug 1059813: Protect access to fields of |UnixSocketRawData|, r=qdot
This patch adds protection for fields of |UnixSocketRawData| by
making them private.
2014-09-08 11:44:02 +02:00
Thomas Zimmermann d9c20bfa74 Bug 1059813: Wrap socket I/O operations in |UnixSocketRawData|, r=qdot
This patch moves the I/O operations for sending and receiving data
in |SocketIOBase| into |UnixSocketRawData|. This change allows to
add a clean interface to |UnixSocketRawData| and later replace the
class by other implementations.
2014-09-08 11:44:00 +02:00
Thomas Zimmermann 261a3f87cf Bug 1062754: Support peer shutdown and EOF in |SocketIOBase|, r=qdot, btian
Calling read on a socket that has been closed for reading by the
peer, read returns 0. The socket is still readable however, so
polling and reading will return constant results of 0 received
bytes.

With this patch, if a socket's peer shuts down reading or if
we reached the EOF, we stop watching the file descriptor for
readability. |SocketIOBase| will detect this case exactly once
and initiate the socket's shutdown.
2014-09-05 10:16:24 +02:00
Andrew Osmond d69cd6a1ab Bug 1055316 - Fix unix socket connect backoff scheme such that it will actually backoff. r=tzimmermann 2014-08-18 15:53:00 -04:00
Thomas Zimmermann b7e4884672 Bug 1048093: Delete sent socket-data objects instead of raw data, r=kyle
After successfully sending data, |SocketIOBase::SendPendingData|
deletes the raw data instead of the actual socket-data object. The
behavior is undefined and leads to a segmentation fault.

This patch fixes the bug by deleting the correct object.
2014-08-11 09:36:15 +02:00
Thomas Zimmermann f8f98629f3 Bug 1046109: Cleanup |UnixSocketImpl|, r=kyle
This patch cleans up |UnixSocketImpl| and it's file in general. The
patch

 - renames |UnixSocketImpl| to |UnixSocketConsumerIO|,
 - moves method definitions out of class definition,
 - adds const correctness,
 - adds MOZ_FINAL to several classes,
 - moves task classes to a separate location.

No functional changes are performed.
2014-07-31 13:55:30 +02:00
Thomas Zimmermann 19d9223f35 Bug 1046109: Add |SocketIOShutdownTask|, r=kyle
|SocketIOShutdownTask| invokes the shutdown procedure for Socket I/O
objects on the I/O thread.
2014-07-31 13:55:30 +02:00
Thomas Zimmermann 35632f98aa Bug 1046109: Add |SocketIOSendTask|, r=kyle
|SocketIOSendTask| moves data from the main thread to the Socket I/O
class on the I/O thread, and invokes the Socket I/O classes sending
methods.
2014-07-31 13:55:30 +02:00
Thomas Zimmermann aadf6d5e16 Bug 1046109: Add |SocketIOTask|, r=kyle
|SocketIOTask| is a task-class template that holds a reference to
a Socket I/O object. It replaces |UnixSocketImplTask|, which only
supports objects of type |UnixSocketImpl|.
2014-07-31 13:55:29 +02:00
Thomas Zimmermann 2747e4a5e1 Bug 1046109: Add |SocketIOBase|, r=kyle
|SocketIOBase| is a base class for Socket I/O classes. It's not a
requirement, but provides a number of helpful methods for common
I/O operations on the I/O thread.
2014-07-31 13:55:29 +02:00
Thomas Zimmermann f256e6fef4 Bug 1046109: Add |SocketIODeleteInstanceRunnable|, r=kyle
|SocketIODeleteInstanceRunnable| deletes a Socket I/O object on the
main thread. This is required to serialize the close operation of
Socket consumers.
2014-07-31 13:55:29 +02:00
Thomas Zimmermann 1cb02024c4 Bug 1046109: Add |SocketIORequestClosingRunnable|, r=kyle
|SocketIORequestClosingRunnable| notifies the Socket consumer on
the main thread to clean up the Socket I/O object and close the
connection.
2014-07-31 13:55:28 +02:00
Thomas Zimmermann fee8753bfe Bug 1046109: Add |SocketIOReceiveRunnable|, r=kyle
|SocketIOReceiveRunnable| sends received data from the Socket I/O
object on the I/O thread to the Socket consumer on the main thread.
2014-07-31 13:55:28 +02:00
Thomas Zimmermann 60f0025c1f Bug 1046109: Add |SocketIOEventRunnable|, r=kyle
|SocketIOEventRunnable| sends a notification from the Socket I/O
object to a Socket consumer on the main thread.
2014-07-31 13:55:28 +02:00
Thomas Zimmermann 757296d36b Bug 1046109: Add |SocketIORunnable|, r=kyle
|SocketIORunnable| is a runnable class template that holds a
reference to a arbitrary Socket I/O object.  |SocketIORunnable|
replaces |UnixSocketImplRunnable|, which only handles objects of
type |UnixSocketImpl|.
2014-07-31 13:55:28 +02:00
Thomas Zimmermann c12b17b08a Bug 1046109: Add |SocketConsumerBase| and inherit |UnixSocketConsumer| from it, r=kyle
|SocketConsumerBase| handles connection state for |UnixSocketConsumer|
and its derived classes. Implementing classes must override a number of
virtual methods, to handle notifications about changes to the state of
the connection.
2014-07-31 13:55:27 +02:00
Carsten "Tomcat" Book edf6675141 Backed out changeset 56a5acbceadb (bug 1046109) for bustage on a CLOSED TREE 2014-07-31 10:14:57 +02:00
Carsten "Tomcat" Book 1593080334 Backed out changeset ddb118aa2648 (bug 1046109) 2014-07-31 10:14:34 +02:00
Carsten "Tomcat" Book 9c9ee71760 Backed out changeset 3b3966a2b854 (bug 1046109) 2014-07-31 10:14:32 +02:00
Carsten "Tomcat" Book e3f2063eae Backed out changeset 38c914d4c7a7 (bug 1046109) 2014-07-31 10:14:30 +02:00
Carsten "Tomcat" Book d8f5680195 Backed out changeset 795507bd02d3 (bug 1046109) 2014-07-31 10:14:29 +02:00
Carsten "Tomcat" Book 4906608cdb Backed out changeset be0077054b48 (bug 1046109) 2014-07-31 10:14:27 +02:00
Carsten "Tomcat" Book c09a652709 Backed out changeset 0bf18526200b (bug 1046109) 2014-07-31 10:14:26 +02:00
Carsten "Tomcat" Book 1aed5ff89c Backed out changeset 9ef0211ae121 (bug 1046109) 2014-07-31 10:14:24 +02:00
Carsten "Tomcat" Book ce5d8cbd2d Backed out changeset 5314248e45b5 (bug 1046109) 2014-07-31 10:14:23 +02:00
Carsten "Tomcat" Book a50c27d1bd Backed out changeset b20b097fde99 (bug 1046109) 2014-07-31 10:14:21 +02:00
Carsten "Tomcat" Book 2cf95b537d Backed out changeset 452a777db125 (bug 1046109) 2014-07-31 10:14:18 +02:00
Thomas Zimmermann 33e4f2a298 Bug 1046109: Cleanup |UnixSocketImpl|, r=kyle
This patch cleans up |UnixSocketImpl| and it's file in general. The
patch

 - renames |UnixSocketImpl| to |UnixSocketConsumerIO|,
 - moves method definitions out of class definition,
 - adds const correctness,
 - adds MOZ_FINAL to several classes, and
 - moves task classes to a separate location.

No functional changes are performed.
2014-07-31 09:29:20 +02:00
Thomas Zimmermann a9b4333ac2 Bug 1046109: Add |SocketIOShutdownTask|, r=kyle
|SocketIOShutdownTask| invokes the shutdown procedure for Socket I/O
objects on the I/O thread.
2014-07-31 09:29:20 +02:00
Thomas Zimmermann c432a85ebf Bug 1046109: Add |SocketIOSendTask|, r=kyle
|SocketIOSendTask| moves data from the main thread to the Socket I/O
class on the I/O thread, and invokes the Socket I/O classes sending
methods.
2014-07-31 09:29:20 +02:00
Thomas Zimmermann 6a1b24606f Bug 1046109: Add |SocketIOTask|, r=kyle
|SocketIOTask| is a task-class template that holds a reference to
a Socket I/O object. It replaces |UnixSocketImplTask|, which only
supports objects of type |UnixSocketImpl|.
2014-07-31 09:29:20 +02:00
Thomas Zimmermann af11427c1d Bug 1046109: Add |SocketIOBase|, r=kyle
|SocketIOBase| is a base class for Socket I/O classes. It's not a
requirement, but provides a number of helpful methods for common
I/O operations on the I/O thread.
2014-07-31 09:29:19 +02:00
Thomas Zimmermann f24375cd4f Bug 1046109: Add |SocketIODeleteInstanceRunnable|, r=kyle
|SocketIODeleteInstanceRunnable| deletes a Socket I/O object on the
main thread. This is required to serialize the close operation of
Socket consumers.
2014-07-31 09:29:19 +02:00
Thomas Zimmermann 83a32d0363 Bug 1046109: Add |SocketIORequestClosingRunnable|, r=kyle
|SocketIORequestClosingRunnable| notifies the Socket consumer on
the main thread to clean up the Socket I/O object and close the
connection.
2014-07-31 09:29:19 +02:00
Thomas Zimmermann d655c9346a Bug 1046109: Add |SocketIOReceiveRunnable|, r=kyle
|SocketIOReceiveRunnable| sends received data from the Socket I/O
object on the I/O thread to the Socket consumer on the main thread.
2014-07-31 09:29:18 +02:00
Thomas Zimmermann bccdf65eee Bug 1046109: Add |SocketIOEventRunnable|, r=kyle
|SocketIOEventRunnable| sends a notification from the Socket I/O
object to a Socket consumer on the main thread.
2014-07-31 09:29:18 +02:00
Thomas Zimmermann 4771b4409c Bug 1046109: Add |SocketIORunnable|, r=kyle
|SocketIORunnable| is a runnable class template that holds a
reference to a arbitrary Socket I/O object.  |SocketIORunnable|
replaces |UnixSocketImplRunnable|, which only handles objects of
type |UnixSocketImpl|.
2014-07-31 09:29:18 +02:00
Thomas Zimmermann ac4e122590 Bug 1046109: Add |SocketConsumerBase| and inherit |UnixSocketConsumer| from it, r=kyle
|SocketConsumerBase| handles connection state for |UnixSocketConsumer|
and its derived classes. Implementing classes must override a number of
virtual methods, to handle notifications about changes to the state of
the connection.
2014-07-31 09:29:17 +02:00
Shelly Lin 9c64583a64 Bug 908995 - Part 3: Add source events for TaskTracer. r=khuey,smaug. 2014-04-23 15:32:31 +08:00
Kyle Huey 2c8f15bb95 Bug 991812: Remove uses of AtomicRefCounted<T> that live in Gecko. r=ehsan
--HG--
extra : rebase_source : 0d14e02c64d548fd3177681248d722683aaa87c3
2014-04-14 12:04:25 -07:00
Ryan VanderMeulen d3859c597c Backed out changesets ddbac34527fe and fa82f32d0c39 (bug 991812) for B2G bustage.
CLOSED TREE
2014-04-14 16:16:18 -04:00
Kyle Huey 74215b6cbb Bug 991812: Remove uses of AtomicRefCounted<T> that live in Gecko. r=ehsan 2014-04-14 12:04:25 -07:00