server/src/main/java/com/orientechnologies/orient/server/network/protocol/binary/ONetworkProtocolBinary.java
public static void writeIdentifiable(OChannelBinary channel, OClientConnection connection, final OIdentifiable o)
      throws IOException {
    if (o == null)
      channel.writeShort(OChannelBinaryProtocol.RECORD_NULL);
    else if (o instanceof ORecordId) {
      channel.writeShort(OChannelBinaryProtocol.RECORD_RID);
      channel.writeRID((ORID) o);
    } else {
      writeRecord(channel, connection, o.getRecord());
    }
  }
public static void writeIdentifiable(OChannelBinary channel, OClientConnection connection, final OIdentifiable o)
      throws IOException {
    if (o == null)
      channel.writeShort(OChannelBinaryProtocol.RECORD_NULL);
    else if (o instanceof ORecordId) {
      channel.writeShort(OChannelBinaryProtocol.RECORD_RID);
      channel.writeRID((ORID) o);
    } else {
      writeRecord(channel, connection, o.getRecord());
    }
  }
public static void writeIdentifiable ( OChannelBinary channel , OClientConnection connection , final OIdentifiable o ) throws IOException { if ( o == null ) channel . writeShort ( OChannelBinaryProtocol . RECORD_NULL ) ; else if ( o instanceof ORecordId ) { channel . writeShort ( OChannelBinaryProtocol . RECORD_RID ) ; channel . writeRID ( ( ORID ) o ) ; } else { writeRecord ( channel , connection , o . getRecord ( ) ) ; } }
Write a OIdentifiable instance using this format:<br> - 2 bytes: class id [-2=no record, -3=rid, -1=no class id, > -1 = valid]
<br> - 1 byte: record type [d,b,f] <br> - 2 bytes: cluster id <br> - 8 bytes: position in cluster <br> - 4 bytes: record
version <br> - x bytes: record content <br>

@param channel TODO
Write a OIdentifiable instance using this format : <br > - 2 bytes : class id [ - 2 = no record - 3 = rid - 1 = no class id > - 1 = valid ] <br > - 1 byte : record type [ d b f ] <br > - 2 bytes : cluster id <br > - 8 bytes : position in cluster <br > - 4 bytes : record version <br > - x bytes : record content <br >