New node ID:s contain four Luhn check digits and are grouped differently. Code uses NodeID type instead of string, so it's formatted homogenously everywhere.
44 lines
1.0 KiB
Go
44 lines
1.0 KiB
Go
// Copyright (C) 2014 Jakob Borg and other contributors. All rights reserved.
|
|
// Use of this source code is governed by an MIT-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
package protocol
|
|
|
|
import (
|
|
"path/filepath"
|
|
|
|
"code.google.com/p/go.text/unicode/norm"
|
|
)
|
|
|
|
type wireFormatConnection struct {
|
|
next Connection
|
|
}
|
|
|
|
func (c wireFormatConnection) ID() NodeID {
|
|
return c.next.ID()
|
|
}
|
|
|
|
func (c wireFormatConnection) Index(repo string, fs []FileInfo) {
|
|
var myFs = make([]FileInfo, len(fs))
|
|
copy(myFs, fs)
|
|
|
|
for i := range fs {
|
|
myFs[i].Name = norm.NFC.String(filepath.ToSlash(myFs[i].Name))
|
|
}
|
|
|
|
c.next.Index(repo, myFs)
|
|
}
|
|
|
|
func (c wireFormatConnection) Request(repo, name string, offset int64, size int) ([]byte, error) {
|
|
name = norm.NFC.String(filepath.ToSlash(name))
|
|
return c.next.Request(repo, name, offset, size)
|
|
}
|
|
|
|
func (c wireFormatConnection) ClusterConfig(config ClusterConfigMessage) {
|
|
c.next.ClusterConfig(config)
|
|
}
|
|
|
|
func (c wireFormatConnection) Statistics() Statistics {
|
|
return c.next.Statistics()
|
|
}
|