91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

開源bittorrent協議實現,想學習或者做bt項目的同學可以參考。包含bencode,DHT,bittorrent 的完整實現

資源截圖

代碼片段和文件信息

/*
?*?Copyright?(c)?2016—2017?Andrei?Tomashpolskiy?and?individual?contributors.
?*
?*?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?bt.bencoding;

import?bt.bencoding.model.BEInteger;
import?bt.bencoding.model.BEList;
import?bt.bencoding.model.BEMap;
import?bt.bencoding.model.BEobject;
import?bt.bencoding.model.BEString;

import?java.io.IOException;
import?java.io.OutputStream;
import?java.math.BigInteger;
import?java.nio.charset.Charset;
import?java.util.List;
import?java.util.Map;
import?java.util.objects;
import?java.util.TreeMap;
import?java.util.function.BinaryOperator;
import?java.util.stream.Collectors;

/**
?*?BEncoding?encoder.
?*
?*?@since?1.0
?*/
public?class?BEEncoder?{

????private?static?final?Charset?defaultCharset?=?Charset.forName(“UTF-8“);
????private?static?final?BEEncoder?instance?=?new?BEEncoder();

????/**
?????*?Get?default?encoder.
?????*
?????*?@since?1.0
?????*/
????public?static?BEEncoder?encoder()?{
????????return?instance;
????}

????/**
?????*?Write?bencoded?string?to?a?binary?output.
?????*
?????*?@since?1.0
?????*/
????public?void?encode(BEString?string?OutputStream?out)?throws?IOException?{

????????objects.requireNonNull(string);

????????byte[]?bytes?=?string.getValue();
????????encodeString(bytes?out);
????}

????private?void?encodeString(byte[]?bytes?OutputStream?out)?throws?IOException?{
????????write(out?Integer.toString(bytes.length).getBytes(defaultCharset));
????????write(out?‘:‘);
????????write(out?bytes);
????}

????/**
?????*?Write?bencoded?integer?to?a?binary?output.
?????*
?????*?@since?1.0
?????*/
????public?void?encode(BEInteger?integer?OutputStream?out)?throws?IOException?{

????????objects.requireNonNull(integer);

????????BigInteger?value?=?integer.getValue();
????????write(out?BEParser.INTEGER_PREFIX);
????????write(out?Integer.toString(value.intValueExact()).getBytes(defaultCharset));
????????write(out?BEParser.EOF);
????}

????/**
?????*?Write?bencoded?list?to?a?binary?output.
?????*
?????*?@since?1.0
?????*/
????public?void?encode(BEList?list?OutputStream?out)?throws?IOException?{

????????objects.requireNonNull(list);

????????Listject>?values?=?list.getValue();
????????write(out?BEParser.LIST_PREFIX);

????????for?(BEobject?value?:?values)?{
????????????value.writeTo(out);
????????}

????????write(out?BEParser.EOF);
????}

????/**
?????*?Write?bencoded?dictionary?to?a?binary?output.
?????*
?????*?@since?1.0
?????*/
????public?void?encode(BEMap?map

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-01-15?19:00??bt-master\
?????文件??????????85??2019-01-15?19:00??bt-master\.gitignore
?????文件????????1982??2019-01-15?19:00??bt-master\.travis.yml
?????文件???????11358??2019-01-15?19:00??bt-master\LICENSE
?????文件???????12581??2019-01-15?19:00??bt-master\README.md
?????文件????????8227??2019-01-15?19:00??bt-master\RELEASE-NOTES.md
?????文件????????4020??2019-01-15?19:00??bt-master\UPGRADE.md
?????文件?????????344??2019-01-15?19:00??bt-master\appveyor.yml
?????目錄???????????0??2019-01-15?19:00??bt-master\bt-bencoding\
?????文件????????1602??2019-01-15?19:00??bt-master\bt-bencoding\pom.xml
?????目錄???????????0??2019-01-15?19:00??bt-master\bt-bencoding\src\
?????目錄???????????0??2019-01-15?19:00??bt-master\bt-bencoding\src\main\
?????目錄???????????0??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\
?????目錄???????????0??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\
?????目錄???????????0??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\
?????文件????????4009??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\BEEncoder.java
?????文件????????1533??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\BEIntegerBuilder.java
?????文件????????1694??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\BEListBuilder.java
?????文件????????2211??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\BEMapBuilder.java
?????文件?????????822??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\BEobjectBuilder.java
?????文件????????6543??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\BEParser.java
?????文件????????2585??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\BEPrefixedTypeBuilder.java
?????文件????????2312??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\BEStringBuilder.java
?????文件?????????909??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\BEType.java
?????文件????????1447??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\BtParseException.java
?????文件????????1419??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\ByteStringComparator.java
?????文件????????2729??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\Scanner.java
?????目錄???????????0??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\model\
?????文件????????2274??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\model\BEInteger.java
?????文件????????1116??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\model\BEIntegerModel.java
?????文件????????2313??2019-01-15?19:00??bt-master\bt-bencoding\src\main\java\bt\bencoding\model\BEList.java
............此處省略906個文件信息

評論

共有 條評論