Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) SetBackoff ¶
func (c *Client) SetBackoff(h backoffFunc)
SetBackoff sets a user provided function that is called to provide a backoff duration prior to retransmitting an unacknowledged packet.
func (*Client) SetRetries ¶
SetRetries sets maximum number of attempts client made to transmit a packet. Default is 5 attempts.
func (*Client) SetTimeout ¶
SetTimeout sets maximum time client waits for single network round-trip to succeed. Default is 5 seconds.
type IncomingTransfer ¶
type IncomingTransfer interface { // Size returns the size of an incoming file if the request included the // tsize option (see RFC2349). To differentiate a zero-sized file transfer // from a request without tsize use the second boolean "ok" return value. Size() (n int64, ok bool) // RemoteAddr returns the remote peer's IP address and port. RemoteAddr() net.UDPAddr }
IncomingTransfer provides methods that expose information associated with an incoming transfer.
type OutgoingTransfer ¶
type OutgoingTransfer interface { // SetSize is used to set the outgoing transfer size (tsize option: RFC2349) // manually in a server write transfer handler. // // It is not necessary in most cases; when the io.Reader provided to // ReadFrom also satisfies io.Seeker (e.g. os.File) the transfer size will // be determined automatically. Seek will not be attempted when the // transfer size option is set with SetSize. // // The value provided will be used only if SetSize is called before ReadFrom // and only on in a server read handler. SetSize(n int64) // RemoteAddr returns the remote peer's IP address and port. RemoteAddr() net.UDPAddr }
OutgoingTransfer provides methods to set the outgoing transfer size and retrieve the remote address of the peer.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func NewServer ¶
func NewServer(readHandler func(filename string, rf io.ReaderFrom) error, writeHandler func(filename string, wt io.WriterTo) error) *Server
NewServer creates TFTP server. It requires two functions to handle read and write requests. In case nil is provided for read or write handler the respective operation is disabled.
func (*Server) ListenAndServe ¶
ListenAndServe binds to address provided and start the server. ListenAndServe returns when Shutdown is called.
func (*Server) Serve ¶
Serve starts server provided already opened UDP connecton. It is useful for the case when you want to run server in separate goroutine but still want to be able to handle any errors opening connection. Serve returns when Shutdown is called or connection is closed.
func (*Server) SetBackoff ¶
func (s *Server) SetBackoff(h backoffFunc)
SetBackoff sets a user provided function that is called to provide a backoff duration prior to retransmitting an unacknowledged packet.
func (*Server) SetRetries ¶
SetRetries sets maximum number of attempts server made to transmit a packet. Default is 5 attempts.
func (*Server) SetTimeout ¶
SetTimeout sets maximum time server waits for single network round-trip to succeed. Default is 5 seconds.