package io.netty.handler.codec.serialization;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufOutputStream;
import io.netty.buffer.Unpooled;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutput;
import java.io.OutputStream;

/* JADX INFO: loaded from: classes.dex */
public class ObjectEncoderOutputStream extends OutputStream implements ObjectOutput {
    private final int estimatedLength;
    private final DataOutputStream out;

    public ObjectEncoderOutputStream(OutputStream outputStream) {
        this(outputStream, 512);
    }

    @Override // java.io.OutputStream, java.io.Closeable, java.lang.AutoCloseable, java.io.ObjectOutput
    public void close() throws IOException {
        this.out.close();
    }

    @Override // java.io.OutputStream, java.io.Flushable, java.io.ObjectOutput
    public void flush() throws IOException {
        this.out.flush();
    }

    public final int size() {
        return this.out.size();
    }

    @Override // java.io.OutputStream, java.io.ObjectOutput, java.io.DataOutput
    public void write(int i2) throws IOException {
        this.out.write(i2);
    }

    @Override // java.io.DataOutput
    public final void writeBoolean(boolean z) throws IOException {
        this.out.writeBoolean(z);
    }

    @Override // java.io.DataOutput
    public final void writeByte(int i2) throws IOException {
        this.out.writeByte(i2);
    }

    @Override // java.io.DataOutput
    public final void writeBytes(String str) throws IOException {
        this.out.writeBytes(str);
    }

    @Override // java.io.DataOutput
    public final void writeChar(int i2) throws IOException {
        this.out.writeChar(i2);
    }

    @Override // java.io.DataOutput
    public final void writeChars(String str) throws IOException {
        this.out.writeChars(str);
    }

    @Override // java.io.DataOutput
    public final void writeDouble(double d2) throws IOException {
        this.out.writeDouble(d2);
    }

    @Override // java.io.DataOutput
    public final void writeFloat(float f2) throws IOException {
        this.out.writeFloat(f2);
    }

    @Override // java.io.DataOutput
    public final void writeInt(int i2) throws IOException {
        this.out.writeInt(i2);
    }

    @Override // java.io.DataOutput
    public final void writeLong(long j2) throws IOException {
        this.out.writeLong(j2);
    }

    @Override // java.io.ObjectOutput
    public void writeObject(Object obj) throws IOException {
        ByteBufOutputStream byteBufOutputStream = new ByteBufOutputStream(Unpooled.buffer(this.estimatedLength));
        CompactObjectOutputStream compactObjectOutputStream = new CompactObjectOutputStream(byteBufOutputStream);
        compactObjectOutputStream.writeObject(obj);
        compactObjectOutputStream.flush();
        compactObjectOutputStream.close();
        ByteBuf byteBufBuffer = byteBufOutputStream.buffer();
        int i2 = byteBufBuffer.readableBytes();
        writeInt(i2);
        byteBufBuffer.getBytes(0, this, i2);
    }

    @Override // java.io.DataOutput
    public final void writeShort(int i2) throws IOException {
        this.out.writeShort(i2);
    }

    @Override // java.io.DataOutput
    public final void writeUTF(String str) throws IOException {
        this.out.writeUTF(str);
    }

    public ObjectEncoderOutputStream(OutputStream outputStream, int i2) {
        if (outputStream == null) {
            throw new NullPointerException("out");
        }
        if (i2 < 0) {
            throw new IllegalArgumentException("estimatedLength: " + i2);
        }
        if (outputStream instanceof DataOutputStream) {
            this.out = (DataOutputStream) outputStream;
        } else {
            this.out = new DataOutputStream(outputStream);
        }
        this.estimatedLength = i2;
    }

    @Override // java.io.OutputStream, java.io.ObjectOutput, java.io.DataOutput
    public void write(byte[] bArr, int i2, int i3) throws IOException {
        this.out.write(bArr, i2, i3);
    }

    @Override // java.io.OutputStream, java.io.ObjectOutput, java.io.DataOutput
    public void write(byte[] bArr) throws IOException {
        this.out.write(bArr);
    }
}
