本文整理汇总了Java中com.subgraph.orchid.circuits.cells.RelayCellImpl类的典型用法代码示例。如果您正苦于以下问题:Java RelayCellImpl类的具体用法?Java RelayCellImpl怎么用?Java RelayCellImpl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RelayCellImpl类属于com.subgraph.orchid.circuits.cells包,在下文中一共展示了RelayCellImpl类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: receiveRelayResponse
import com.subgraph.orchid.circuits.cells.RelayCellImpl; //导入依赖的package包/类
public RelayCell receiveRelayResponse(int expectedCommand, Router extendTarget) {
final RelayCell cell = circuit.receiveRelayCell();
if(cell == null) {
throw new TorException("Timeout building circuit");
}
final int command = cell.getRelayCommand();
if(command == RelayCell.RELAY_TRUNCATED) {
final int code = cell.getByte() & 0xFF;
final String msg = CellImpl.errorToDescription(code);
final String source = nodeToName(cell.getCircuitNode());
if(code == Cell.ERROR_PROTOCOL) {
logProtocolViolation(source, extendTarget);
}
throw new TorException("Error from ("+ source +") while extending to ("+ extendTarget.getNickname() + "): "+ msg);
} else if(command != expectedCommand) {
final String expected = RelayCellImpl.commandToDescription(expectedCommand);
final String received = RelayCellImpl.commandToDescription(command);
throw new TorException("Received incorrect extend response, expecting "+ expected + " but received "+ received);
} else {
return cell;
}
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:23,代码来源:CircuitExtender.java
示例2: close
import com.subgraph.orchid.circuits.cells.RelayCellImpl; //导入依赖的package包/类
public void close() {
if(isClosed)
return;
logger.fine("Closing stream "+ this);
isClosed = true;
inputStream.close();
outputStream.close();
circuit.removeStream(this);
if(autoclose) {
circuit.markForClose();
}
if(!relayEndReceived) {
final RelayCell cell = new RelayCellImpl(circuit.getFinalCircuitNode(), circuit.getCircuitId(), streamId, RelayCell.RELAY_END);
cell.putByte(RelayCell.REASON_DONE);
circuit.sendRelayCellToFinalNode(cell);
}
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:21,代码来源:StreamImpl.java
示例3: decryptRelayCell
import com.subgraph.orchid.circuits.cells.RelayCellImpl; //导入依赖的package包/类
private RelayCell decryptRelayCell(Cell cell) {
for(CircuitNode node: circuit.getNodeList()) {
if(node.decryptBackwardCell(cell)) {
return RelayCellImpl.createFromCell(node, cell);
}
}
destroyCircuit();
throw new TorException("Could not decrypt relay cell");
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:10,代码来源:CircuitIO.java
示例4: openExit
import com.subgraph.orchid.circuits.cells.RelayCellImpl; //导入依赖的package包/类
void openExit(String target, int port, long timeout) throws InterruptedException, TimeoutException, StreamConnectFailedException {
streamTarget = target + ":"+ port;
final RelayCell cell = new RelayCellImpl(circuit.getFinalCircuitNode(), circuit.getCircuitId(), streamId, RelayCell.RELAY_BEGIN);
cell.putString(target + ":"+ port);
circuit.sendRelayCellToFinalNode(cell);
waitForRelayConnected(timeout);
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:8,代码来源:StreamImpl.java
示例5: createRelayCell
import com.subgraph.orchid.circuits.cells.RelayCellImpl; //导入依赖的package包/类
public RelayCell createRelayCell(int command) {
return new RelayCellImpl(circuit.getFinalCircuitNode(), circuit.getCircuitId(), 0, command, true);
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:4,代码来源:CircuitExtender.java
示例6: createRelayCell
import com.subgraph.orchid.circuits.cells.RelayCellImpl; //导入依赖的package包/类
RelayCell createRelayCell(int relayCommand, int streamId, CircuitNode targetNode) {
return new RelayCellImpl(targetNode, circuitId, streamId, relayCommand);
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:4,代码来源:CircuitIO.java
示例7: openDirectory
import com.subgraph.orchid.circuits.cells.RelayCellImpl; //导入依赖的package包/类
public void openDirectory(long timeout) throws InterruptedException, TimeoutException, StreamConnectFailedException {
streamTarget = "[Directory]";
final RelayCell cell = new RelayCellImpl(circuit.getFinalCircuitNode(), circuit.getCircuitId(), streamId, RelayCell.RELAY_BEGIN_DIR);
circuit.sendRelayCellToFinalNode(cell);
waitForRelayConnected(timeout);
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:7,代码来源:StreamImpl.java
注:本文中的com.subgraph.orchid.circuits.cells.RelayCellImpl类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论