本文整理汇总了Java中com.alibaba.cobar.net.BackendConnection类的典型用法代码示例。如果您正苦于以下问题:Java BackendConnection类的具体用法?Java BackendConnection怎么用?Java BackendConnection使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
BackendConnection类属于com.alibaba.cobar.net包,在下文中一共展示了BackendConnection类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: execute
import com.alibaba.cobar.net.BackendConnection; //导入依赖的package包/类
public static void execute(ManagerConnection c) {
ByteBuffer buffer = c.allocate();
buffer = header.write(buffer, c);
for (FieldPacket field : fields) {
buffer = field.write(buffer, c);
}
buffer = eof.write(buffer, c);
byte packetId = eof.packetId;
String charset = c.getCharset();
for (NIOProcessor p : CobarServer.getInstance().getProcessors()) {
for (BackendConnection bc : p.getBackends().values()) {
if (bc != null) {
RowDataPacket row = getRow(bc, charset);
row.packetId = ++packetId;
buffer = row.write(buffer, c);
}
}
}
EOFPacket lastEof = new EOFPacket();
lastEof.packetId = ++packetId;
buffer = lastEof.write(buffer, c);
c.write(buffer);
}
示例2: postConnect
import com.alibaba.cobar.net.BackendConnection; //导入依赖的package包/类
protected void postConnect(BackendConnection c, NIOConnector connector) {
c.setPacketHeaderSize(packetHeaderSize);
c.setMaxPacketSize(maxPacketSize);
c.setWriteQueue(new BufferQueue(writeQueueCapcity));
c.setIdleTimeout(idleTimeout);
c.setConnector(connector);
connector.postConnect(c);
}
示例3: write
import com.alibaba.cobar.net.BackendConnection; //导入依赖的package包/类
public void write(BackendConnection c) {
ByteBuffer buffer = c.allocate();
BufferUtil.writeUB3(buffer, getPacketLength());
buffer.put(packetId);
buffer.put(command);
buffer = c.writeToBuffer(arg, buffer);
c.write(buffer);
}
示例4: write
import com.alibaba.cobar.net.BackendConnection; //导入依赖的package包/类
public void write(BackendConnection c) {
ByteBuffer buffer = c.allocate();
BufferUtil.writeUB3(buffer, getPacketLength());
buffer.put(packetId);
if (seed == null) {
buffer.put((byte) 0);
} else {
BufferUtil.writeWithNull(buffer, seed);
}
c.write(buffer);
}
示例5: write
import com.alibaba.cobar.net.BackendConnection; //导入依赖的package包/类
public void write(BackendConnection c) {
ByteBuffer buffer = c.allocate();
BufferUtil.writeUB3(buffer, getPacketLength());
buffer.put(packetId);
BufferUtil.writeUB4(buffer, clientFlags);
BufferUtil.writeUB4(buffer, maxPacketSize);
buffer.put((byte) charsetIndex);
buffer = c.writeToBuffer(FILLER, buffer);
if (user == null) {
buffer = c.checkWriteBuffer(buffer, 1);
buffer.put((byte) 0);
} else {
byte[] userData = user.getBytes();
buffer = c.checkWriteBuffer(buffer, userData.length + 1);
BufferUtil.writeWithNull(buffer, userData);
}
if (password == null) {
buffer = c.checkWriteBuffer(buffer, 1);
buffer.put((byte) 0);
} else {
buffer = c.checkWriteBuffer(buffer, BufferUtil.getLength(password));
BufferUtil.writeWithLength(buffer, password);
}
if (database == null) {
buffer = c.checkWriteBuffer(buffer, 1);
buffer.put((byte) 0);
} else {
byte[] databaseData = database.getBytes();
buffer = c.checkWriteBuffer(buffer, databaseData.length + 1);
BufferUtil.writeWithNull(buffer, databaseData);
}
c.write(buffer);
}
示例6: write
import com.alibaba.cobar.net.BackendConnection; //导入依赖的package包/类
@Override
public void write(BackendConnection c) {
ByteBuffer buffer = c.allocate();
BufferUtil.writeUB3(buffer, calcPacketSize());
buffer.put(packetId);
buffer.put(command);
BufferUtil.writeLength(buffer, id);
c.write(buffer);
}
示例7: write
import com.alibaba.cobar.net.BackendConnection; //导入依赖的package包/类
@Override
public void write(BackendConnection c) {
ByteBuffer buffer = c.allocate();
BufferUtil.writeUB3(buffer, calcPacketSize());
buffer.put(packetId);
buffer.put(command);
buffer = c.writeToBuffer(arg, buffer);
c.write(buffer);
}
示例8: write
import com.alibaba.cobar.net.BackendConnection; //导入依赖的package包/类
@Override
public void write(BackendConnection c) {
ByteBuffer buffer = c.allocate();
BufferUtil.writeUB3(buffer, calcPacketSize());
buffer.put(packetId);
if (seed == null) {
buffer.put((byte) 0);
} else {
BufferUtil.writeWithNull(buffer, seed);
}
c.write(buffer);
}
示例9: write
import com.alibaba.cobar.net.BackendConnection; //导入依赖的package包/类
@Override
public void write(BackendConnection c) {
ByteBuffer buffer = c.allocate();
BufferUtil.writeUB3(buffer, calcPacketSize());
buffer.put(packetId);
BufferUtil.writeUB4(buffer, clientFlags);
BufferUtil.writeUB4(buffer, maxPacketSize);
buffer.put((byte) charsetIndex);
buffer = c.writeToBuffer(FILLER, buffer);
if (user == null) {
buffer = c.checkWriteBuffer(buffer, 1);
buffer.put((byte) 0);
} else {
byte[] userData = user.getBytes();
buffer = c.checkWriteBuffer(buffer, userData.length + 1);
BufferUtil.writeWithNull(buffer, userData);
}
if (password == null) {
buffer = c.checkWriteBuffer(buffer, 1);
buffer.put((byte) 0);
} else {
buffer = c.checkWriteBuffer(buffer, BufferUtil.getLength(password));
BufferUtil.writeWithLength(buffer, password);
}
if (database == null) {
buffer = c.checkWriteBuffer(buffer, 1);
buffer.put((byte) 0);
} else {
byte[] databaseData = database.getBytes();
buffer = c.checkWriteBuffer(buffer, databaseData.length + 1);
BufferUtil.writeWithNull(buffer, databaseData);
}
c.write(buffer);
}
示例10: write
import com.alibaba.cobar.net.BackendConnection; //导入依赖的package包/类
/**
* 把数据包通过后端连接写出,一般使用buffer机制来提高写的吞吐量。
*/
public void write(BackendConnection c) {
throw new UnsupportedOperationException();
}