Homec4science

Implement PhutilPHPObjectProtocolChannel and other channel changes

Authored by epriestley <git@epriestley.com> on Jun 25 2012, 17:16.

Description

Implement PhutilPHPObjectProtocolChannel and other channel changes

Summary:
See D2614. This is a small step toward providing some primitives to make "arc" (and other commands) use a more client/server architecture. See also D2841.

This adds four features to Channels:

  • PhutilPHPObjectProtocolChannel, a protocol channel which transmits PHP objects as messages.
  • PhutilSocketChannel::createNewPair(), which creates a pair of connected socket channels for testing.
  • PhutilChannel::flush(), which blocks until writes complete (also useful for testing).
  • Allows PhutilSocketChannel to accept separate read/write sockets (primarily useful for creating a socket channel on stdin/stdout).

Test Plan: Unit tests.

Reviewers: vrana

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D2836

Details

Committed
epriestley <git@epriestley.com>Jun 25 2012, 17:16
Pushed
aubortMar 17 2017, 12:03
Parents
rPHU9a9fbf668fa3: Allow translating date formats
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPHUfbef026782cc: Implement PhutilPHPObjectProtocolChannel and other channel changes (authored by epriestley <git@epriestley.com>).Jun 25 2012, 17:16