Permalink
Switch branches/tags
Nothing to show
Commits on Mar 3, 2014
  1. expose SendMessage and ReadResponse

    vito committed Mar 3, 2014
    this is so shank can use them; not everything is a RoundTrip (i.e. run/attach)
Commits on Jan 19, 2014
  1. expose Connection.RoundTrip

    vito committed Jan 19, 2014
Commits on Dec 28, 2013
  1. prevent double-closing messages channel

    vito committed Dec 28, 2013
    Only close it when a read error occurs.
Commits on Dec 27, 2013
  1. notice disconnection eagerly, not during request

    vito committed Dec 27, 2013
    This changes Connection to be constantly reading messages from the server, so
    that it notices a disconnection as soon as it happens, instead of when the
    client tries to perform a request.
  2. move connection into sub-package

    vito committed Dec 27, 2013
  3. add Stop API

    vito committed Dec 27, 2013
Commits on Dec 26, 2013
  1. remove stale SocketPath attribute from Client

    vito committed Dec 26, 2013
    this predates the use of ConnectionProvider
Commits on Dec 25, 2013
  1. rename protocol pkg to warden, root pkg to gordon

    vito committed Dec 25, 2013
    this makes the package names match the directory names, which is more
    conventional
  2. update README

    vito committed Dec 25, 2013
  3. new connection management strategy

    vito committed Dec 25, 2013
    Connections are created on the fly as the client needs more. Initial .Connect
    no longer necessary.
    
    Strategy: when a call is made and a connection is immediately available, use
    it. Otherwise, open a new connection, use it, and release it into the "pool".
    The pool grows dynamically, and connections that are unused for some amount of
    time (5 seconds) are automatically closed and released.
    
    This keeps the client from having to know which API calls are blocking (like
    Link, Run, and Stream). Previously it would open a new connection for these
    calls as they could take arbitrary amounts of time. However some calls like
    Info, Create, or Destroy could also take a while.
    
    This also allows the client to be used for a bunch of concurrent requests,
    without constantly having to maintain a pool of open connections or having to
    create a new one for every API call.
Commits on Dec 24, 2013
Commits on Dec 23, 2013
  1. regen protocol

    vito committed Dec 23, 2013
Commits on Aug 13, 2013
  1. fix race with reading payloads

    vito committed Aug 13, 2013
    we use a bufio.Reader to synchronize reads, and it may grow while reading from
    it. payloads can only come in synchronously anyway and are not interleaved.
Commits on Jul 28, 2013
  1. Merge pull request #2 from xoebus/info

    vito committed Jul 28, 2013
    Add Info Warden API call
  2. Merge pull request #1 from xoebus/list

    vito committed Jul 28, 2013
    Add List Warden API call
Commits on Jul 21, 2013
  1. add CopyIn

    vito committed Jul 21, 2013
  2. add NetIn support

    vito committed Jul 21, 2013
  3. add README.md

    vito committed Jul 21, 2013
  4. fix syntax, go fmt

    vito committed Jul 21, 2013
  5. switch to ConnectionProvider flow

    vito committed Jul 21, 2013
    add tests for client reconnecting/special connections/lifecycle/etc
  6. add client

    vito committed Jul 21, 2013
    wraps connection, handling reconnects and implicitly opening new connections
    for requests that would block others (i.e. stream, run, link)
  7. initial commit

    vito committed Jul 21, 2013