Skip to content

Commit

Permalink
add dep fury
Browse files Browse the repository at this point in the history
  • Loading branch information
Lo1nt committed Jan 11, 2024
1 parent a12fa20 commit dba0af1
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 19 deletions.
6 changes: 6 additions & 0 deletions all/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
<grpc.version>1.53.0</grpc.version>
<guava.version>32.0.0-jre</guava.version>
<transmittable.version>2.12.1</transmittable.version>
<fury.version>0.4.1</fury.version>
</properties>

<dependencies>
Expand Down Expand Up @@ -434,6 +435,11 @@
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.furyio</groupId>
<artifactId>fury-core</artifactId>
<version>${fury.version}</version>
</dependency>

</dependencies>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import com.alipay.sofa.rpc.transport.ByteArrayWrapperByteBuf;
import io.fury.Fury;
import io.fury.ThreadLocalFury;
import io.fury.ThreadSafeFury;
import io.fury.config.Language;
import io.fury.memory.MemoryBuffer;
import io.fury.resolver.AllowListChecker;
Expand All @@ -47,9 +48,9 @@
@Extension(value = "fury2", code = 22)
public class FurySerializer extends AbstractSerializer {

private final ThreadLocalFury fury;
protected final ThreadSafeFury fury;

private final String checkerMode = SofaConfigs.getOrDefault(RpcConfigKeys.SERIALIZE_CHECKER_MODE);
private final String checkerMode = SofaConfigs.getOrDefault(RpcConfigKeys.SERIALIZE_CHECKER_MODE);

public FurySerializer() {
fury = new ThreadLocalFury(classLoader -> {
Expand Down Expand Up @@ -102,8 +103,8 @@ public FurySerializer() {
f.register(SofaRpcException.class);
return f;
});
addSerializer(SofaRequest.class, new SofaRequestFurySerializer(fury));
addSerializer(SofaResponse.class, new SofaResponseFurySerializer(fury));
addCustomSerializer(SofaRequest.class, new SofaRequestFurySerializer(fury));
addCustomSerializer(SofaResponse.class, new SofaResponseFurySerializer(fury));
}

@Override
Expand Down Expand Up @@ -139,7 +140,7 @@ public Object decode(final AbstractByteBuf data, final Class clazz, final Map<St
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
try {
fury.setClassLoader(contextClassLoader);
CustomSerializer customSerializer = getSerializer(clazz);
CustomSerializer customSerializer = getCustomSerializer(clazz);
if (customSerializer != null) {
return customSerializer.decodeObject(data, context);
} else {
Expand Down Expand Up @@ -175,8 +176,4 @@ public void decode(final AbstractByteBuf data, final Object template, final Map<
}
}

public ThreadLocalFury getFury() {
return fury;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import com.alipay.sofa.rpc.core.request.SofaRequest;
import com.alipay.sofa.rpc.transport.AbstractByteBuf;
import com.alipay.sofa.rpc.transport.ByteArrayWrapperByteBuf;
import io.fury.ThreadLocalFury;
import io.fury.ThreadSafeFury;
import io.fury.memory.MemoryBuffer;

import java.util.Map;
Expand All @@ -34,9 +34,9 @@
*/
public class SofaRequestFurySerializer implements CustomSerializer<SofaRequest> {

private final ThreadLocalFury fury;
private final ThreadSafeFury fury;

public SofaRequestFurySerializer(ThreadLocalFury fury) {
public SofaRequestFurySerializer(ThreadSafeFury fury) {
this.fury = fury;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import com.alipay.sofa.rpc.core.response.SofaResponse;
import com.alipay.sofa.rpc.transport.AbstractByteBuf;
import com.alipay.sofa.rpc.transport.ByteArrayWrapperByteBuf;
import io.fury.ThreadLocalFury;
import io.fury.ThreadSafeFury;
import io.fury.memory.MemoryBuffer;

import java.util.Map;
Expand All @@ -33,9 +33,9 @@
*/
public class SofaResponseFurySerializer implements CustomSerializer<SofaResponse> {

private final ThreadLocalFury fury;
private final ThreadSafeFury fury;

public SofaResponseFurySerializer(ThreadLocalFury fury) {
public SofaResponseFurySerializer(ThreadSafeFury fury) {
this.fury = fury;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,18 +76,18 @@ public static void clear() {
genericServiceMap.clear();
}

protected CustomSerializer getObjCustomSerializer(Object obj) {
protected CustomSerializer getObjCustomSerializer(Object obj) {
if (obj == null) {
return null;
}
return getSerializer(obj.getClass());
return getCustomSerializer(obj.getClass());
}

protected CustomSerializer getSerializer(Class clazz) {
protected CustomSerializer getCustomSerializer(Class clazz) {
return customSerializers.get(clazz);
}

protected void addSerializer(Class clazz, CustomSerializer serializerManager) {
public void addCustomSerializer(Class clazz, CustomSerializer serializerManager) {
customSerializers.put(clazz, serializerManager);
}
}

0 comments on commit dba0af1

Please sign in to comment.