Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
7875d463
Shardingsphere
项目概览
apache
/
Shardingsphere
通知
56
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Shardingsphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7875d463
编写于
8月 06, 2018
作者:
T
terrymanu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remove PacketHeader
上级
861e49b7
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
31 addition
and
57 deletion
+31
-57
sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/netty/client/response/mysql/MySQLResponseHandler.java
...end/netty/client/response/mysql/MySQLResponseHandler.java
+19
-15
sharding-proxy/src/main/java/io/shardingsphere/proxy/transport/mysql/constant/PacketHeader.java
...ngsphere/proxy/transport/mysql/constant/PacketHeader.java
+0
-39
sharding-proxy/src/main/java/io/shardingsphere/proxy/transport/mysql/packet/generic/EofPacket.java
...phere/proxy/transport/mysql/packet/generic/EofPacket.java
+4
-1
sharding-proxy/src/main/java/io/shardingsphere/proxy/transport/mysql/packet/generic/ErrPacket.java
...phere/proxy/transport/mysql/packet/generic/ErrPacket.java
+4
-1
sharding-proxy/src/main/java/io/shardingsphere/proxy/transport/mysql/packet/generic/OKPacket.java
...sphere/proxy/transport/mysql/packet/generic/OKPacket.java
+4
-1
未找到文件。
sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/netty/client/response/mysql/MySQLResponseHandler.java
浏览文件 @
7875d463
...
@@ -27,7 +27,6 @@ import io.shardingsphere.proxy.backend.netty.future.FutureRegistry;
...
@@ -27,7 +27,6 @@ import io.shardingsphere.proxy.backend.netty.future.FutureRegistry;
import
io.shardingsphere.proxy.config.RuleRegistry
;
import
io.shardingsphere.proxy.config.RuleRegistry
;
import
io.shardingsphere.proxy.runtime.ChannelRegistry
;
import
io.shardingsphere.proxy.runtime.ChannelRegistry
;
import
io.shardingsphere.proxy.transport.mysql.constant.CapabilityFlag
;
import
io.shardingsphere.proxy.transport.mysql.constant.CapabilityFlag
;
import
io.shardingsphere.proxy.transport.mysql.constant.PacketHeader
;
import
io.shardingsphere.proxy.transport.mysql.constant.ServerInfo
;
import
io.shardingsphere.proxy.transport.mysql.constant.ServerInfo
;
import
io.shardingsphere.proxy.transport.mysql.packet.MySQLPacketPayload
;
import
io.shardingsphere.proxy.transport.mysql.packet.MySQLPacketPayload
;
import
io.shardingsphere.proxy.transport.mysql.packet.command.query.ColumnDefinition41Packet
;
import
io.shardingsphere.proxy.transport.mysql.packet.command.query.ColumnDefinition41Packet
;
...
@@ -66,15 +65,12 @@ public final class MySQLResponseHandler extends ResponseHandler {
...
@@ -66,15 +65,12 @@ public final class MySQLResponseHandler extends ResponseHandler {
@Override
@Override
public
void
channelRead
(
final
ChannelHandlerContext
context
,
final
Object
message
)
{
public
void
channelRead
(
final
ChannelHandlerContext
context
,
final
Object
message
)
{
MySQLPacketPayload
payload
=
new
MySQLPacketPayload
((
ByteBuf
)
message
);
MySQLPacketPayload
payload
=
new
MySQLPacketPayload
((
ByteBuf
)
message
);
payload
.
getByteBuf
().
markReaderIndex
();
int
header
=
getHeader
(
payload
);
payload
.
readInt1
();
int
header
=
payload
.
readInt1
();
payload
.
getByteBuf
().
resetReaderIndex
();
if
(
AuthType
.
UN_AUTH
==
authType
)
{
if
(
AuthType
.
UN_AUTH
==
authType
)
{
auth
(
context
,
payload
);
auth
(
context
,
payload
);
authType
=
AuthType
.
AUTHING
;
authType
=
AuthType
.
AUTHING
;
}
else
if
(
AuthType
.
AUTHING
==
authType
)
{
}
else
if
(
AuthType
.
AUTHING
==
authType
)
{
if
(
PacketHeader
.
OK
.
getValue
()
==
header
)
{
if
(
OKPacket
.
HEADER
==
header
)
{
okPacket
(
context
,
payload
);
okPacket
(
context
,
payload
);
authType
=
AuthType
.
AUTH_SUCCESS
;
authType
=
AuthType
.
AUTH_SUCCESS
;
}
else
{
}
else
{
...
@@ -84,11 +80,11 @@ public final class MySQLResponseHandler extends ResponseHandler {
...
@@ -84,11 +80,11 @@ public final class MySQLResponseHandler extends ResponseHandler {
}
else
if
(
AuthType
.
AUTH_FAILED
==
authType
)
{
}
else
if
(
AuthType
.
AUTH_FAILED
==
authType
)
{
log
.
error
(
"mysql auth failed, cannot handle channel read message"
);
log
.
error
(
"mysql auth failed, cannot handle channel read message"
);
}
else
{
}
else
{
if
(
PacketHeader
.
EOF
.
getValue
()
==
header
)
{
if
(
EofPacket
.
HEADER
==
header
)
{
eofPacket
(
context
,
payload
);
eofPacket
(
context
,
payload
);
}
else
if
(
PacketHeader
.
OK
.
getValue
()
==
header
)
{
}
else
if
(
OKPacket
.
HEADER
==
header
)
{
okPacket
(
context
,
payload
);
okPacket
(
context
,
payload
);
}
else
if
(
PacketHeader
.
ERR
.
getValue
()
==
header
)
{
}
else
if
(
ErrPacket
.
HEADER
==
header
)
{
errPacket
(
context
,
payload
);
errPacket
(
context
,
payload
);
}
else
{
}
else
{
commonPacket
(
context
,
payload
);
commonPacket
(
context
,
payload
);
...
@@ -96,6 +92,14 @@ public final class MySQLResponseHandler extends ResponseHandler {
...
@@ -96,6 +92,14 @@ public final class MySQLResponseHandler extends ResponseHandler {
}
}
}
}
private
int
getHeader
(
final
MySQLPacketPayload
payload
)
{
payload
.
getByteBuf
().
markReaderIndex
();
payload
.
readInt1
();
int
result
=
payload
.
readInt1
();
payload
.
getByteBuf
().
resetReaderIndex
();
return
result
;
}
@Override
@Override
protected
void
auth
(
final
ChannelHandlerContext
context
,
final
MySQLPacketPayload
payload
)
{
protected
void
auth
(
final
ChannelHandlerContext
context
,
final
MySQLPacketPayload
payload
)
{
try
{
try
{
...
@@ -169,12 +173,6 @@ public final class MySQLResponseHandler extends ResponseHandler {
...
@@ -169,12 +173,6 @@ public final class MySQLResponseHandler extends ResponseHandler {
}
}
}
}
@Override
public
void
channelInactive
(
final
ChannelHandlerContext
ctx
)
throws
Exception
{
//TODO delete connection map.
super
.
channelInactive
(
ctx
);
}
private
byte
[]
securePasswordAuthentication
(
final
byte
[]
password
,
final
byte
[]
authPluginData
)
{
private
byte
[]
securePasswordAuthentication
(
final
byte
[]
password
,
final
byte
[]
authPluginData
)
{
try
{
try
{
MessageDigest
messageDigest
=
MessageDigest
.
getInstance
(
"SHA-1"
);
MessageDigest
messageDigest
=
MessageDigest
.
getInstance
(
"SHA-1"
);
...
@@ -200,4 +198,10 @@ public final class MySQLResponseHandler extends ResponseHandler {
...
@@ -200,4 +198,10 @@ public final class MySQLResponseHandler extends ResponseHandler {
FutureRegistry
.
getInstance
().
get
(
connectionId
).
setResponse
(
resultMap
.
get
(
connectionId
));
FutureRegistry
.
getInstance
().
get
(
connectionId
).
setResponse
(
resultMap
.
get
(
connectionId
));
}
}
}
}
@Override
public
void
channelInactive
(
final
ChannelHandlerContext
ctx
)
throws
Exception
{
//TODO delete connection map.
super
.
channelInactive
(
ctx
);
}
}
}
sharding-proxy/src/main/java/io/shardingsphere/proxy/transport/mysql/constant/PacketHeader.java
已删除
100644 → 0
浏览文件 @
861e49b7
/*
* Copyright 2016-2018 shardingsphere.io.
* <p>
* 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.
* </p>
*/
package
io.shardingsphere.proxy.transport.mysql.constant
;
import
lombok.Getter
;
import
lombok.RequiredArgsConstructor
;
/**
* Generic Packet Header.
*
* @author linjiaqi
*/
@RequiredArgsConstructor
@Getter
public
enum
PacketHeader
{
OK
(
0x00
),
EOF
(
0xfe
),
ERR
(
0xff
);
private
final
int
value
;
}
sharding-proxy/src/main/java/io/shardingsphere/proxy/transport/mysql/packet/generic/EofPacket.java
浏览文件 @
7875d463
...
@@ -36,7 +36,10 @@ import lombok.RequiredArgsConstructor;
...
@@ -36,7 +36,10 @@ import lombok.RequiredArgsConstructor;
@Getter
@Getter
public
final
class
EofPacket
implements
MySQLPacket
{
public
final
class
EofPacket
implements
MySQLPacket
{
private
static
final
int
HEADER
=
0xfe
;
/**
* Header of EOF packet.
*/
public
static
final
int
HEADER
=
0xfe
;
private
final
int
sequenceId
;
private
final
int
sequenceId
;
...
...
sharding-proxy/src/main/java/io/shardingsphere/proxy/transport/mysql/packet/generic/ErrPacket.java
浏览文件 @
7875d463
...
@@ -38,7 +38,10 @@ import java.sql.SQLException;
...
@@ -38,7 +38,10 @@ import java.sql.SQLException;
@Getter
@Getter
public
final
class
ErrPacket
implements
MySQLPacket
{
public
final
class
ErrPacket
implements
MySQLPacket
{
private
static
final
int
HEADER
=
0xff
;
/**
* Header of ERR packet.
*/
public
static
final
int
HEADER
=
0xff
;
private
static
final
String
SQL_STATE_MARKER
=
"#"
;
private
static
final
String
SQL_STATE_MARKER
=
"#"
;
...
...
sharding-proxy/src/main/java/io/shardingsphere/proxy/transport/mysql/packet/generic/OKPacket.java
浏览文件 @
7875d463
...
@@ -36,7 +36,10 @@ import lombok.RequiredArgsConstructor;
...
@@ -36,7 +36,10 @@ import lombok.RequiredArgsConstructor;
@Getter
@Getter
public
final
class
OKPacket
implements
MySQLPacket
{
public
final
class
OKPacket
implements
MySQLPacket
{
private
static
final
int
HEADER
=
0x00
;
/**
* Header of OK packet.
*/
public
static
final
int
HEADER
=
0x00
;
private
static
final
int
STATUS_FLAG
=
StatusFlag
.
SERVER_STATUS_AUTOCOMMIT
.
getValue
();
private
static
final
int
STATUS_FLAG
=
StatusFlag
.
SERVER_STATUS_AUTOCOMMIT
.
getValue
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录