Go to file
Dave Cheney c020667ac1 Make c.sendRequest concurrent
This is an attempt to permit overlapping requests.

For each request sent, we spin off a goroutine to send the request for us
then handle _a_ response. That goroutine will try to dispatch the request
to the original sender. As every request is initiated from the client, there
will always be a matching number of replies from the server so eventally
every worker goroutine will process a request and exit.
2015-05-23 22:51:29 +10:00
examples Added -s flag to all benchmark programs 2015-05-23 22:03:37 +10:00
CONTRIBUTORS Update CONTRIBUTORS 2014-04-18 12:31:59 +03:00
LICENSE Rename LICENCE to LICENSE 2014-10-27 21:31:41 +00:00
README.md - Fix a typo seralised -> serialized 2013-11-06 11:02:52 +02:00
attrs.go Format with go fmt 2014-09-27 14:29:57 +02:00
attrs_test.go Refactored attribute test to deal with new types. 2014-06-23 02:03:55 -04:00
client.go Make c.sendRequest concurrent 2015-05-23 22:51:29 +10:00
client_integration_test.go Push c.mu.Lock/Unlock down to sendRequest 2015-05-23 17:10:22 +10:00
client_test.go Added OpenFile support 2013-11-14 15:32:21 +11:00
debug.go added debug option, build/test with -tags debug to activate 2014-09-28 12:32:34 +10:00
example_test.go New import paths for Go sub-respositories 2014-11-06 09:30:12 +01:00
packet.go Make c.sendRequest concurrent 2015-05-23 22:51:29 +10:00
packet_test.go Run gofmt 2014-10-09 21:01:38 +02:00
release.go added debug option, build/test with -tags debug to activate 2014-09-28 12:32:34 +10:00
sftp.go Check version on init 2014-10-09 21:10:54 +02:00
wercker.yml Update wercker config 2014-11-02 13:25:43 +11:00

README.md

sftp

The sftp package provides support for file system operations on remote ssh servers using the SFTP subsystem.

Build Status

usage and examples

See godoc.org/github.com/pkg/sftp for examples and usage.

The basic operation of the package mirrors the facilities of the os package.

The Walker interface for directory traversal is heavily inspired by Keith Rarick's fs package.

roadmap

  • Currently all traffic with the server is serialized, this can be improved by allowing overlapping requests/responses.
  • There is way too much duplication in the Client methods. If there was an unmarshal(interface{}) method this would reduce a heap of the duplication.
  • Implement integration tests by talking directly to a real opensftp-server process. This shouldn't be too difficult to implement with a small refactoring to the sftp.NewClient method. These tests should be gated on an -sftp.integration test flag. in progress

contributing

Features, Issues, and Pull Requests are always welcome.