Toggle navigation
Toggle navigation
This project
Loading...
Sign in
홍길동
/
onos
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
tom
2014-10-07 11:02:28 -0700
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
ad25fbff9e22ea967b7f0464e9e2b26c9d09048b
ad25fbff
2 parents
53945d53
c65f5127
Merge remote-tracking branch 'origin/master'
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
37 additions
and
2 deletions
utils/netty/src/main/java/org/onlab/netty/InternalMessage.java
utils/netty/src/main/java/org/onlab/netty/NettyMessagingService.java
utils/netty/src/test/java/org/onlab/netty/PingPongTest.java
utils/netty/src/main/java/org/onlab/netty/InternalMessage.java
View file @
ad25fbf
...
...
@@ -8,12 +8,16 @@ import java.io.IOException;
*/
public
final
class
InternalMessage
implements
Message
{
public
static
final
String
REPLY_MESSAGE_TYPE
=
"NETTY_MESSAGIG_REQUEST_REPLY"
;
private
long
id
;
private
Endpoint
sender
;
private
String
type
;
private
Object
payload
;
private
transient
NettyMessagingService
messagingService
;
public
static
final
String
REPLY_MESSAGE_TYPE
=
"NETTY_MESSAGIG_REQUEST_REPLY"
;
// TODO: add transient payload serializer or change payload type to
// byte[], ByteBuffer, etc.
// Must be created using the Builder.
private
InternalMessage
()
{}
...
...
utils/netty/src/main/java/org/onlab/netty/NettyMessagingService.java
View file @
ad25fbf
...
...
@@ -241,8 +241,9 @@ public class NettyMessagingService implements MessagingService {
NettyMessagingService
.
this
.
responseFutures
.
getIfPresent
(
message
.
id
());
if
(
futureResponse
!=
null
)
{
futureResponse
.
setResponse
(
message
.
payload
());
}
else
{
log
.
warn
(
"Received a reply. But was unable to locate the request handle"
);
}
log
.
warn
(
"Received a reply. But was unable to locate the request handle"
);
}
finally
{
NettyMessagingService
.
this
.
responseFutures
.
invalidate
(
message
.
id
());
}
...
...
utils/netty/src/test/java/org/onlab/netty/PingPongTest.java
0 → 100644
View file @
ad25fbf
package
org
.
onlab
.
netty
;
import
java.util.concurrent.TimeUnit
;
import
org.junit.Assert
;
import
org.junit.Test
;
/**
* Simple ping-pong test that exercises NettyMessagingService.
*/
public
class
PingPongTest
{
@Test
public
void
testPingPong
()
throws
Exception
{
NettyMessagingService
pinger
=
new
NettyMessagingService
(
8085
);
NettyMessagingService
ponger
=
new
NettyMessagingService
(
9086
);
try
{
pinger
.
activate
();
ponger
.
activate
();
pinger
.
setPayloadSerializer
(
new
KryoSerializer
());
ponger
.
setPayloadSerializer
(
new
KryoSerializer
());
ponger
.
registerHandler
(
"echo"
,
new
EchoHandler
());
Response
<
String
>
response
=
pinger
.
sendAndReceive
(
new
Endpoint
(
"localhost"
,
9086
),
"echo"
,
"hello"
);
Assert
.
assertEquals
(
"hello"
,
response
.
get
(
10000
,
TimeUnit
.
MILLISECONDS
));
}
finally
{
pinger
.
deactivate
();
ponger
.
deactivate
();
}
}
}
Please
register
or
login
to post a comment