// Copyright 2016 Jimmy Zelinskie // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package bittorrent // ClientID represents the part of a PeerID that identifies a Peer's client // software. type ClientID string // NewClientID parses a ClientID from a PeerID. func NewClientID(peerID string) ClientID { var clientID string length := len(peerID) if length >= 6 { if peerID[0] == '-' { if length >= 7 { clientID = peerID[1:7] } } else { clientID = peerID[:6] } } return ClientID(clientID) }