/*
* 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.
*/
package com.ok2c.lightmtp.impl.protocol;
import org.apache.http.nio.reactor.SessionBufferStatus;
import org.apache.http.nio.reactor.SessionInputBuffer;
import org.apache.http.nio.reactor.SessionOutputBuffer;
import com.ok2c.lightmtp.SMTPConsts;
public class SMTPBuffers implements SessionBufferStatus {
private final static int BUF_SIZE = 8 * 1024;
private final static int LINE_SIZE = 1 * 1024;
private final SMTPInputBuffer inbuf;
private final SMTPOutputBuffer outbuf;
public SMTPBuffers() {
super();
this.inbuf = new SMTPInputBuffer(BUF_SIZE, LINE_SIZE, SMTPConsts.ISO_8859_1);
this.outbuf = new SMTPOutputBuffer(BUF_SIZE, LINE_SIZE, SMTPConsts.ISO_8859_1);
}
public void reset() {
}
@Override
public boolean hasBufferedInput() {
return this.inbuf.hasData();
}
@Override
public boolean hasBufferedOutput() {
return this.outbuf.hasData();
}
public SessionInputBuffer getInbuf() {
return this.inbuf;
}
public SessionOutputBuffer getOutbuf() {
return this.outbuf;
}
@Override
public String toString() {
StringBuilder buffer = new StringBuilder();
buffer.append("[in buf: ");
buffer.append(this.inbuf.length());
buffer.append("][out buf: ");
buffer.append(this.outbuf.length());
buffer.append("]");
return buffer.toString();
}
}