Skip to content

Commit

Permalink
Simplified protocol context API design.
Browse files Browse the repository at this point in the history
  • Loading branch information
nmihajlovski committed Jul 9, 2015
1 parent 9ac433c commit bedd3e7
Show file tree
Hide file tree
Showing 23 changed files with 157 additions and 502 deletions.
Expand Up @@ -25,6 +25,6 @@

@Authors("Nikolche Mihajlovski")
@Since("2.0.0")
public interface Channel extends CtxFull<Channel> {
public interface Channel extends ProtocolContext<Channel> {

}

This file was deleted.

32 changes: 0 additions & 32 deletions rapidoid-net/src/main/java/org/rapidoid/net/abstracts/CtxFull.java

This file was deleted.

38 changes: 0 additions & 38 deletions rapidoid-net/src/main/java/org/rapidoid/net/abstracts/CtxIO.java

This file was deleted.

This file was deleted.

34 changes: 0 additions & 34 deletions rapidoid-net/src/main/java/org/rapidoid/net/abstracts/CtxRead.java

This file was deleted.

This file was deleted.

@@ -1,5 +1,15 @@
package org.rapidoid.net.abstracts;

import java.io.File;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;

import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since;
import org.rapidoid.buffer.Buf;
import org.rapidoid.net.impl.ConnState;
import org.rapidoid.net.impl.RapidoidHelper;

/*
* #%L
* rapidoid-net
Expand All @@ -20,15 +30,37 @@
* #L%
*/

import java.io.File;
import java.nio.ByteBuffer;

import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since;

@Authors("Nikolche Mihajlovski")
@Since("2.0.0")
public interface CtxWrite<T> {
public interface ProtocolContext<T> {

/* CONNECTION */

String address();

InetSocketAddress getAddress();

long connId();

boolean isAsync();

T close();

T closeIf(boolean condition);

boolean isClosing();

boolean isClosed();

void waitUntilClosing();

void log(String msg);

/* PROTOCOL */

boolean isInitial();

/* WRITE */

T write(String s);

Expand All @@ -46,9 +78,31 @@ public interface CtxWrite<T> {

T send();

/* ASYNC */

// due to async() web handling option, it ain't over till the fat lady sings "done"
T async();

T done();

/* READ */

String readln();

String readN(int count);

/* IO */

Buf input();

Buf output();

RapidoidHelper helper();

/* EXTRAS */

ConnState state();

<P> P persistor();

}
Expand Up @@ -36,14 +36,14 @@
import org.rapidoid.data.MultiData;
import org.rapidoid.data.Range;
import org.rapidoid.net.abstracts.Channel;
import org.rapidoid.net.abstracts.CtxFull;
import org.rapidoid.net.abstracts.ProtocolContext;
import org.rapidoid.util.Constants;
import org.rapidoid.util.Resetable;
import org.rapidoid.util.U;

@Authors("Nikolche Mihajlovski")
@Since("2.0.0")
public abstract class DefaultExchange<T> implements CtxFull<T>, BufProvider, Resetable, Constants {
public abstract class DefaultExchange<T> implements ProtocolContext<T>, BufProvider, Resetable, Constants {

protected Channel conn;

Expand Down
Expand Up @@ -51,7 +51,7 @@ public interface TCPClientBuilder extends Builder<TCPClient> {

TCPClientBuilder protocol(Protocol protocol);

TCPClientBuilder exchange(Class<? extends DefaultExchange<?, ?>> exchangeClass);
TCPClientBuilder exchange(Class<? extends DefaultExchange<?>> exchangeClass);

TCPClientBuilder helper(Class<? extends RapidoidHelper> helperClass);

Expand Down
Expand Up @@ -45,7 +45,7 @@ public interface TCPServerBuilder extends Builder<TCPServer> {

TCPServerBuilder protocol(Protocol protocol);

TCPServerBuilder exchange(Class<? extends DefaultExchange<?, ?>> exchangeClass);
TCPServerBuilder exchange(Class<? extends DefaultExchange<?>> exchangeClass);

TCPServerBuilder helper(Class<? extends RapidoidHelper> helperClass);

Expand Down
Expand Up @@ -26,6 +26,6 @@

@Authors("Nikolche Mihajlovski")
@Since("3.0.0")
public interface Channel extends CtxFull<Channel, Channel> {
public interface Channel extends ProtocolContext<Channel> {

}

0 comments on commit bedd3e7

Please sign in to comment.