Skip to content

Commit 108c9ed

Browse files
rxinaarondav
authored andcommitted
Forgot to add TestSerializer to the commit list.
1 parent b5c8d1f commit 108c9ed

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.spark.serializer
19+
20+
import java.io.{EOFException, OutputStream, InputStream}
21+
import java.nio.ByteBuffer
22+
23+
import scala.reflect.ClassTag
24+
25+
26+
/**
27+
* A serializer implementation that always return a single element in a deserialization stream.
28+
*/
29+
class TestSerializer extends Serializer {
30+
override def newInstance() = new TestSerializerInstance
31+
}
32+
33+
34+
class TestSerializerInstance extends SerializerInstance {
35+
override def serialize[T: ClassTag](t: T): ByteBuffer = ???
36+
37+
override def serializeStream(s: OutputStream): SerializationStream = ???
38+
39+
override def deserializeStream(s: InputStream) = new TestDeserializationStream
40+
41+
override def deserialize[T: ClassTag](bytes: ByteBuffer): T = ???
42+
43+
override def deserialize[T: ClassTag](bytes: ByteBuffer, loader: ClassLoader): T = ???
44+
}
45+
46+
47+
class TestDeserializationStream extends DeserializationStream {
48+
49+
private var count = 0
50+
51+
override def readObject[T: ClassTag](): T = {
52+
count += 1
53+
if (count == 2) {
54+
throw new EOFException
55+
}
56+
new Object().asInstanceOf[T]
57+
}
58+
59+
override def close(): Unit = {}
60+
}

0 commit comments

Comments
 (0)