mirror of https://github.com/pkg/sftp.git
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. |
||
|---|---|---|
| examples | ||
| CONTRIBUTORS | ||
| LICENSE | ||
| README.md | ||
| attrs.go | ||
| attrs_test.go | ||
| client.go | ||
| client_integration_test.go | ||
| client_test.go | ||
| debug.go | ||
| example_test.go | ||
| packet.go | ||
| packet_test.go | ||
| release.go | ||
| sftp.go | ||
| wercker.yml | ||
README.md
sftp
The sftp package provides support for file system operations on remote ssh servers using the SFTP subsystem.
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.
